我有 3 个不同的网卡,每个都有各自的职责。其中两张卡正在接收来自类似设备(直接插入每个单独的网卡)的数据包,该设备在同一端口上发送数据。我需要保存数据包,知道它们来自哪个设备。
鉴于我需要不指定向我发送数据包的设备的 IP 地址,我如何才能在给定的网卡上监听?如果需要,我可以为所有 3 个网卡指定一个静态 IP 地址。
示例:nic1 = 169.254.0.27,nic2 = 169.254.0.28,nic3 = 169.254.0.29
现在我有这个从 nic1 和 nic2 接收数据而不知道它来自哪个设备。
var myClient = new UdpClient(2000) //Port is random example
var endPoint = new IPEndPoint(IPAddress.Any, 0):
while (!finished)
{
byte[] receivedBytes = myClient.Receive(ref endPoint);
doStuff(receivedBytes);
}
我似乎无法以某种方式指定网卡的静态 IP 地址,这样我就可以只从其中一个设备中捕获数据包。如何仅在知道它们来自两个不同的网卡的情况下将这些数据包分开?
谢谢你。