我有多个网卡,eth0,eth1
同时还有vlan eth0:1
这几个网卡都能正常上网,都有自己的配置方案。
那么当我在上网的时候,到底是哪个网卡在通信呢?
如何识别,如果用C++该用什么方法识别呢?
先表示感谢!
------解决方案--------------------------------------------------------
linux下面有个类似ipconfig之类的命令,能看到哪个网卡配置了IP地址
------解决方案--------------------------------------------------------
其实简单,linux下一切皆文件,有几个网卡,/dev里面就有几个对应的文件,都socket他们,每个返回一个fd,然后open,read,剩下的就是分析了,注意数据字节序和报头组成
------解决方案--------------------------------------------------------
1. 抓报文就能看到报文里的mac地址,看对应的是哪个网卡的mac
2. route指令能看到默认是走哪条路由,也就是上网路由了
------解决方案--------------------------------------------------------
ifconfig 察看ip地址mac地址等等
traceroute 察看报文经过路径