亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Linux > 正文

linux下使用perl獲取本機ip的幾種方法介紹

2019-10-26 18:36:37
字體:
來源:轉載
供稿:網友

在使用 Gearman 做分布式處理時,各機需要注冊一個獨立的 job 作為信息反饋,為求方便,Gearman::Worker 腳本 register_function 代碼又要通用,于是想到了使用各自的 ip 地址作為 job 命名。

那么怎么在 worker 腳本里獲取本機 ip 作為 func 呢?

第一種辦法,最簡單的,調用 shell:
代碼如下:
$ip = `ifconfig eth0|grep -oE '([0-9]{1,3}/.?){4}'|head -n 1`;

注:這里輸入是固定的,所以簡單的 [0-9]{1,3} 了,如果是在 web 程序等地方驗證 ip,需要更嚴謹!
或:
代碼如下:
$ip = `ifconfig eth0|awk -F: '/inet addr/{split($2,a," ");print a[1];exit}'`;

好吧,這樣顯得太不 perl 了,而且頻繁的調用外部 shell 不太好

第二種:
 
代碼如下:
  open FH,"ifconfig eth0|";
    while(<FH>){
        last unless /inet addr:((/d{1,3}/.?){4})/;
        print $1;
}

看起來稍微 perl 了一些,雖然實質跟上面的調用 shell 和 grep 法是一樣的。

第三種,更 perl 一點,純粹讀文件:

代碼如下:
open FH,'<','/etc/sysconfig/network-scripts/ifcfg-eth0';
    while(<FH>){
        next unless /IPADDR/s*=/s*(/S+)/;
    print $1;
}

進一步的,如果不一定 rh 系,還要去讀 /etc/issue ,確定網絡配置文件到底是 /etc/sysconfig/network-script/ifcfg-eth0 還是 /etc/network/interfaces 還是其他,然后根據不同發行版寫不同的處理方法……額,這是打算自己寫模塊么?

好吧,大家來充分體會 CPAN 的魅力,去 search 一下,找到一把 Sys::HostIP、Sys::HostAddr、Net::Inetface 等模塊。

第四種:

代碼如下:
use Sys::HostAddr;
    my $interface = Sys::HostAddr->new(ipv => '4', interface => 'eth0');
    print $interface->main_ip;

不過進去看看pm文件,汗,這幾個模塊都是調用ifconfig命令,不過是根據發行版的不同進行封裝而已。

第五種:

代碼如下:
perl -MPOSIX -MSocket -e 'my $host = (uname)[1];print inet_ntoa(scalar gethostbyname($host))';

不過有童鞋說了,這個可能因為hostname的原因,導致獲取的都是127.0.0.1……

那么最后還有一招。通過 strace ifconfig 命令可以看到,linux 實質是通過 ioctl 命令完成的網絡接口 ip 獲取。那么,我們也用 ioctl 就是了!

第六種如下:

代碼如下:
 #!/usr/bin/perl
    use strict;
    use warnings;
    use Socket;
    require 'sys/ioctl.ph';
    sub get_ip_address($) {
        my $pack = pack("a*", shift);
        my $socket;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久成人av| 九九精品在线观看| 色婷婷综合久久久久| 亚洲肉体裸体xxxx137| 国产成人av在线播放| 久精品免费视频| 激情懂色av一区av二区av| 日韩欧美国产免费播放| 日韩视频免费在线| 欧美电影免费观看网站| 亚洲欧美成人精品| 97超级碰在线看视频免费在线看| 色999日韩欧美国产| 亚洲成年人影院在线| 国产精品成人在线| 日韩av最新在线| 久久天天躁夜夜躁狠狠躁2022| 伊人伊人伊人久久| 色婷婷久久一区二区| 欧美高清一级大片| 久久久精品电影| 日韩av电影在线免费播放| 国自产精品手机在线观看视频| 欧美制服第一页| 岛国av一区二区在线在线观看| 亚洲成人精品视频| 国产精品欧美在线| 亚洲美女av网站| 欧美最猛性xxxxx(亚洲精品)| 欧美黄色免费网站| 日韩精品免费电影| 亚洲最大福利视频网站| 亚洲精品国产综合久久| 国产精品三级久久久久久电影| 欧美高清性猛交| 精品亚洲国产成av人片传媒| 国产精品视频久久久| 亚洲一区二区久久久久久| 国产精品电影久久久久电影网| 青青草成人在线| 日产日韩在线亚洲欧美| 国产视频精品自拍| 亚洲国产精品久久久久秋霞蜜臀| 欧美激情综合色| 国产女人18毛片水18精品| 成人av.网址在线网站| 国产日韩欧美视频| 国产精品视频色| 国产精品极品美女粉嫩高清在线| 亚洲另类图片色| 日韩电影大全免费观看2023年上| 亚洲精品国产综合区久久久久久久| 国产做受69高潮| 亚洲国产精品推荐| 国产成人激情小视频| 国产欧美婷婷中文| 海角国产乱辈乱精品视频| 91tv亚洲精品香蕉国产一区7ujn| 热re91久久精品国99热蜜臀| 久久久精品一区二区三区| 成人美女免费网站视频| 午夜精品视频在线| 成人av番号网| 日韩精品一区二区三区第95| 久久久久在线观看| 久久精品免费电影| 欧美色道久久88综合亚洲精品| 一本一本久久a久久精品牛牛影视| 国产成人97精品免费看片| 亚洲美女性生活视频| 亚洲片在线资源| 欧美日韩在线看| 久久男人av资源网站| 亚洲国产精品成人精品| 亚洲经典中文字幕| 97热在线精品视频在线观看| 亚洲精品有码在线| 亚洲iv一区二区三区| 亚洲精品久久久久中文字幕二区| 欧美在线国产精品| 91视频免费网站| 国产精品自拍偷拍视频| 久久亚洲欧美日韩精品专区| 欧美国产日韩一区二区在线观看| 欧美精品在线极品| 国产精品美女网站| 国产精品久久久久久久午夜| 国产精品青草久久久久福利99| 国产在线视频91| 国语自产精品视频在免费| 按摩亚洲人久久| 欧美成人性色生活仑片| 亚洲国产精品热久久| 国产精品一区二区女厕厕| 国产欧美最新羞羞视频在线观看| 欧美激情在线观看| 国产精品午夜视频| 亚洲国产三级网| 国内揄拍国内精品| 青青久久av北条麻妃黑人| 国产美女久久精品| 国产成人自拍视频在线观看| 亚洲国产精品成人精品| 亚洲一区二区三区xxx视频| 国内精品久久久久久中文字幕| 三级精品视频久久久久| 亚洲一区美女视频在线观看免费| 亚洲最大福利视频网站| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲性av在线| 国产精品视频永久免费播放| 国精产品一区一区三区有限在线| 欧美极品在线播放| 美日韩在线视频| 91精品国产成人www| 欧美黑人一级爽快片淫片高清| 高清亚洲成在人网站天堂| 色偷偷88888欧美精品久久久| 欧美午夜精品久久久久久人妖| 亚洲人a成www在线影院| 欧美激情亚洲视频| 96sao精品视频在线观看| 国产精品久久久久久一区二区| 亚洲美女视频网站| 青青久久aⅴ北条麻妃| 97精品在线观看| 日韩欧美大尺度| 欧美在线一级视频| 亚洲色图偷窥自拍| 日韩欧美福利视频| 中日韩美女免费视频网站在线观看| 欧美日韩一区二区三区| 韩国日本不卡在线| 亚洲免费电影在线观看| 欧美性一区二区三区| 高跟丝袜一区二区三区| 在线一区二区日韩| 亚洲美女精品久久| 在线视频欧美日韩| 国产精品久久久91| 77777少妇光屁股久久一区| 国产精品av在线| 一本色道久久88精品综合| 欧美刺激性大交免费视频| 成人做爽爽免费视频| 奇门遁甲1982国语版免费观看高清| 国产精品久久久久福利| 中文字幕在线观看日韩| 九九精品视频在线观看| 2018中文字幕一区二区三区| 国产日产欧美a一级在线| 欧美专区日韩视频| 国产精品久久不能| 啪一啪鲁一鲁2019在线视频| 成人午夜黄色影院| 久久噜噜噜精品国产亚洲综合| 国产一区二区精品丝袜| 亚洲第一av在线| 揄拍成人国产精品视频| 日韩美女毛茸茸| 欧美一区二粉嫩精品国产一线天| 精品久久久久久久久久久久久久| 国产精品扒开腿做爽爽爽男男| 亚洲最新av网址|