【发布时间】:2011-11-27 06:11:20
【问题描述】:
【问题讨论】:
-
pcap_lookupnet() 将为您提供 IPV4 所需的内容。否则,我建议只从 ifconfig 源中复制。
-
特别是对于 IPv6,每个接口可以有多个 IP 地址,因此这个问题需要修改。
标签: c linux ip ip-address
【问题讨论】:
标签: c linux ip ip-address
看here。如果你需要在 C 程序中使用你的结果,你可以使用system(yourCommand) 然后fopen() stdout 来读取结果。
【讨论】:
免责声明:您的应用程序不应依赖此类信息。应用程序只能查看和使用 IP 地址。以太网设备是操作系统管道。请记住,您可能拥有与任何设备无关的 IP 地址,或者具有多个 IP 地址、多个协议(IPv4、IPv6)等的设备。重新检查您的应用程序的设计,如果它真的希望使用与以太网相关联的 IP 地址设备名称。
如果您仍想关联 IP 地址和以太网设备名称,请检查 getifaddrs(3),它是 netlink(7) 内核套接字的简单前端。
【讨论】:
getifaddrs 好。免责声明错误。大多数应用程序不应使用接口名称。有些被设计为与网络堆栈密切相关的,绝对应该(去阅读man dnsmasq)
ip addr
或
ip addr show eth0
还是过时的
ifconfig eth0
这是一个问题或 serverfault.com
【讨论】: