加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

获取本机所有IP和设备的绑定情况

发布时间:2020-12-15 21:11:00 所属栏目:大数据 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/usr/bin/perluse strict;use warnings;#首先,文件通过参数传入my $arg_len = @ARGV;my @lines;if($arg_len == 1) { my $p_file_path = $ARGV[0];

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#!/usr/bin/perl
use strict;
use warnings;

#首先,文件通过参数传入
my $arg_len = @ARGV;
my @lines;
if($arg_len == 1) {
    my $p_file_path = $ARGV[0];
    open(PROC_FILE,$p_file_path) || die("open $p_file_path error $?");
    @lines = <PROC_FILE>;
} elsif($arg_len == 0) {
    @lines = <STDIN>;
}

my $dev_name;
my $inet_addr;
my %dev_ip_map;

for(@lines)
{
    chomp($_);
    #首先判断起始字符串
    if(m/^w+/) {
        #表明是设备文件
        $dev_name = $_;
        $dev_name=~s/s+.*//i;
    } else {
        #取出IP地址
        if(m/inet /) {
            $inet_addr = $_;
            $inet_addr=~s/^s+//i;
            $inet_addr=~s/inet /ipv4/i;
            my @kv_str_arr = split(' ',$inet_addr);
            for(@kv_str_arr) {
                if(m/ipv4/) {
                    my @kv_arr = split(':',$_);
                    #将dev name和ipv4地址绑定在一起
                    $dev_ip_map{$dev_name} = $kv_arr[1];
                }
            }
        }
    }
}

while((my $k,my $v) = each %dev_ip_map) {
    print "$k $vn";
}

if($arg_len == 1) {
    close(PROC_FILE);
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读