首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Linux C/C++客户端怎么获得活动网卡的MAC地址

2013-04-26 
Linux C/C++客户端如何获得活动网卡的MAC地址?对于获取本地MAC的功能,上网搜了一下好像都要指定网卡的名字

Linux C/C++客户端如何获得活动网卡的MAC地址?
对于获取本地MAC的功能,上网搜了一下好像都要指定网卡的名字
strcpy(ifr.ifr_name, szDevName);
ioctl(s, SIOCGIFHWADDR, &ifr);
但是对于TCP客户端来说,它的socket当connect到服务器的时候肯定要通过一个网卡,所以怎么获得它connect用的这个网卡的MAC呢? socket linux mac
[解决办法]
GETCONF可以获取所有网卡,查一下ioctl的相关选项。
[解决办法]
socket没bind过特定网卡是谈不上出口IP的,完全是根据目标地址查路由表选择网卡出口的。
[解决办法]
从哪个网卡出去由路由表决定,与socket无关
[解决办法]
直接获取socket 的本身IP地址 在与网卡列表匹配不就行了

热点排行