使用 C 代码获取与 ifconfig 相同的信息 [英] using C code to get same info as ifconfig

查看:14
本文介绍了使用 C 代码获取与 ifconfig 相同的信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 Linux 中有没有办法使用 C 代码来获取与ifconfig eth0"返回的信息相同的信息?我对 IP 地址、链接状态和 MAC 地址等内容感兴趣.

Is there a way in Linux, using C code, to get the same information that "ifconfig eth0" would return? I'm interested in things like IP address, link status, and MAC address.

以下是 ifconfig 的示例输出:

Here's sample output from 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

Yes, ifconfig itself is written in C. :) See: http://cvsweb.netbsd.org/bsdweb.cgi/src/sbin/ifconfig/ifconfig.c?rev=1.169&content-type=text/x-cvsweb-markup

执行 man netdevice 以查看详细信息(在 Linux 上).您使用 ioctl() 系统调用.

Do man netdevice to see the details (on Linux). You use the ioctl() system call.

这篇关于使用 C 代码获取与 ifconfig 相同的信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆