Perl {get

时间:2015-10-28 14:14:11

标签: perl

我有一台配置了IPv4和IPv6的Linux主机。

为了测试,我使用命令

禁用了IPv4
ip addr del ipv4_address dev device_name

我正在使用getaddrinfo通过设置AI_INET6参数来检索主机的IPv6地址。但它给出了

  

名称或服务未知

对于使用

启用的IPv4地址,它可以正常工作
ip addr del ipv4_address add device_name

设置AI_INET参数。

#!/usr/bin/perl

use warnings;
use strict;

use Socket qw(:DEFAULT AI_CANONNAME IPPROTO_TCP IPPROTO_UDP IPPROTO_RAW SOCK_STREAM SOCK_DGRAM SOCK_RAW getaddrinfo inet_ntop inet_pton);

# map protocol number to name

sub pprotocol {
    my ( $proto ) = @_;

    if ( $proto == IPPROTO_TCP ) {
        return 'IPPROTO_TCP';
    }
    elsif ( $proto == IPPROTO_UDP ) {
        return 'IPPROTO_UDP';
    }
    else {
        return 'n/a';
    }

0 个答案:

没有答案