2013-11-26 26 views

回答

0

我看不到问题。您可以在IPv4和IPv6套接字上拨打SIOCGIFHWADDR

无论我使用AF_INET还是AF_INET6创建套接字,ioctl()调用都会​​成功,并为我提供所需设备的硬件地址。

1

您肯定可以使用系统调用socket()创建一个IPv4套接字。但是,使用bind()将其绑定到IPv6接口将会失败。

+0

我只需要它使用ioctl(SIOCGIFHWADDR标志)来获取硬件地址, –

0

您可以创建一个IPv4套接字。如果您不能,系统在下个月连接到v4网络时也无法接受IPv4地址,请参阅?

但我不确定SIOCGIFHWADDR将无路由通过非回送接口工作。你可以尝试一下你的目标系统,或者试试AF_INET和AF_INET6,捕获错误并使用任何返回结果。

相关问题