Linux/C:从设备名称获取IP地址?

发布于 2024-12-06 22:45:04 字数 220 浏览 0 评论 0原文

可能的重复:
获取linux上接口的IP地址

我怎样才能获取设备名称中的 IP 地址(例如:eth0)?

Possible Duplicate:
Get IP address of an interface on linux

How can I get the ip address from the device name (Example: eth0)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

晨与橙与城 2024-12-13 22:45:04

免责声明:您的应用程序不应依赖于此类信息。应用程序必须仅查看和使用 IP 地址。以太网设备是操作系统管道。请记住,您的 IP 地址可能不与任何设备关联,或者设备具有多个 IP 地址、多个协议(IPv4、IPv6)等。如果应用程序确实希望使用与以太网关联的 IP 地址,请重新检查应用程序的设计设备名称。

如果您仍然想关联 IP 地址和以太网设备名称,请检查 getifaddrs(3),它是 netlink(7) 内核套接字的简单前端。

DISCLAIMER: Your application SHOULD NOT depend on this kind of information. The application must see and use IP addresses ONLY. Ethernet devices are operating system plumbing. Keep in mind that you may have IP addresses not associated with any device, or devices with multiple IP addresses, multiple protocols (IPv4, IPv6), etc. Recheck the design of your application if it is really expecting to use IP addresses associated to Ethernet device names.

If you still want to associate IP addresses and Ethernet device names, check getifaddrs(3), which is a simple frontend to netlink(7) kernel sockets.

淑女气质 2024-12-13 22:45:04
ip addr

ip addr show eth0

或过时

ifconfig eth0

这是一个问题或serverfault.com

ip addr

or

ip addr show eth0

or the obsolete

ifconfig eth0

And this is a question or serverfault.com

苍白女子 2024-12-13 22:45:04

查看 这里。如果您需要在 C 程序中使用结果,可以使用 system(yourCommand),然后使用 fopen() stdout 来读取结果。

Look here. If you need to use your result in a C program, you can use system(yourCommand) and then fopen() stdout to read the result.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文