[juliantec_list] Re: Linux下面怎么样写C代码得到当前我系统里网卡的IP地址和MAC地址?

  • From: "Yihe Chen" <yihect@xxxxxxxxxxxxxx>
  • To: 第三人 <th3rd_person@xxxxxxx>, <app-dev-in-linux@xxxxxxxxxxxxxx>
  • Date: Sun, 24 Apr 2011 09:03:49 +0800


我知道平时可以使用 ifconfig 命令来得到这些信息,那如何
在c程序用写代码来来取得呢,应该调用什么函数么?


你可以用 socket 新建一个套接字,然后对他使用 ioctl 来
得到ip地址和mac地址。其他的像IF的子网掩码,网络号什么
的都可以获得。

取得ip地址的ioctl命令是:SIOCGIFADDR
取得mac地址的ioctl命令是:SIOCGIFHWADDR

我不大想在fork一个进程,再去执行 ifconfig 程序来对结果
进行分析得到这些信息了,那样太过麻烦。


Learning, Just As Your Favourite Thing!

Maillist, See http://www.juliantec.info/mlist/mail-lists.html
JulBlog, See http://www.juliantec.info/julblog/summary.php
JulWiki, See http://www.juliantec.info/wiki/




Other related posts: