在Linux中,有没有一种方法可以使用C代码获取与“ifconfig eth0”将返回的信息相同的信息?我对诸如IP地址,链接状态和MAC地址之类的东西感兴趣。
这是ifconfig的示例输出:
eth0 Link encap:Ethernet HWaddr 00:0F:20:CF:8B:42
inet addr:217.149.127.10 Bcast:217.149.127.63 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2472694671 errors:1 dropped:0 overruns:0 frame:0
TX packets:44641779 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1761467179 (1679.8 Mb) TX bytes:2870928587 (2737.9 Mb)
Interrupt:28
最佳答案
是的,ifconfig
本身是用C编写的。:)请参阅:http://cvsweb.netbsd.org/bsdweb.cgi/src/sbin/ifconfig/ifconfig.c?rev=1.169&content-type=text/x-cvsweb-markup
执行man netdevice
以查看详细信息(在Linux上)。您使用ioctl()
系统调用。
关于c - 使用C代码获取与ifconfig相同的信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4951257/