读书人

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

发布时间: 2013-04-26 16:27:53 作者: rapoo

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地址 在与网卡列表匹配不就行了

读书人网 >UNIXLINUX

热点推荐