实验
用ping -I 指定一个没有配置ip地址且已经up起来的网卡。
结果
linux会根据路由规则选择一个其他网卡的ip,但,还是会从该指定网卡发送。
iputils
- 用-I指定网卡对应的bind操作
- 获取该socket的本地ip,当bind了NIC,且该NIC没有ip地址,则可能获取到本机上其他NIC的ip。
- 测试结果
- 实际指定的是ens34,且由下面linux网卡信息可知,该网卡没有配置ip地址。
- 实际会获取ens33的地址(192.168.3.28)。
- 实际会从ens34中发送数据。
- linux 网卡信息
- tcpdump
- tcpdump -i ens34
- 可以看出,上面的8.8.8.8 ping packet还是走的该网卡,且该网卡在尝试arp获取邻居信息。
- tcpdump -i ens33
- 没有发送8.8.8.8的ping packet。