如何判断多个网卡中的哪个正在使用?

Muh*_*f K 5 networking network-adapter ping netstat

假设我有多个网卡连接到我的PC,我如何知道使用哪个网卡进行通信。例如,如果我使用

ping 192.168.x.xxx
Run Code Online (Sandbox Code Playgroud)

我想知道用于通信的卡(以及哪个 IP 地址)。

命令

netstat
Run Code Online (Sandbox Code Playgroud)

将告诉我们有关活动连接的信息。我对活动连接不感兴趣,但我想知道下一次连接将使用哪张卡。也就是说,如果我们使用ping哪个卡(或IP地址)将被使用?

Rup*_*Rup 3

尝试route print; 它会向您显示操作系统的网络表以及每个网络将使用哪个网络接口,或者在一个网络上有多张卡的情况下它将用于分配流量的权重。我这台机器上只有一张卡,所以这不是很有趣:

===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 12 34 56 78 9a ...... Intel(R) 82566DM Gigabit Network Connection
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      123.45.67.1   123.45.67.137       10
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      234.254.0.0      255.255.0.0    123.45.67.137   123.45.67.137       20
      123.45.67.0    255.255.255.0    123.45.67.137   123.45.67.137       10
    123.45.67.137  255.255.255.255        127.0.0.1       127.0.0.1       10
   123.45.255.255  255.255.255.255    123.45.67.137   123.45.67.137       10
        224.0.0.0        240.0.0.0    123.45.67.137   123.45.67.137       10
  255.255.255.255  255.255.255.255    123.45.67.137   123.45.67.137       1
    Default Gateway:       123.45.67.1
===========================================================================
Persistent Routes:
  None
Run Code Online (Sandbox Code Playgroud)

因此,例如,从第二条线路到 127.xxx 的流量将使用环回接口,但到多播的流量和其他所有流量都将使用网卡。不过,抱歉,我不确定如何以编程方式阅读此内容。