0

所以这是我遇到的一个更高级别的问题,我正试图解决这个问题。我有一个发送广播以太网数据包的程序(使用 Pcap.Net dll 将其剥离)。如果设备收听广播,它将用另一个以太网数据包响应我。

我的设置:

我的电脑 IP 是:10.10.3.109 (DHCP)

我的网关:10.10.1.254

如果此时我将以太网数据包广播到 255.255.255.0,我会收到从 10.10.0.x 到 10.10.1.x 的响应

我的目标:

我想设置我的环境,以便我可以发送此广播数据包可以从我在不同网络上的计算机的网关 10.10.5.254 到达我办公室的 10.10.5.x 和 10.10.4.5.x 网络(我没有给网络编号,如果它们令人困惑,我深表歉意。.4/.5 是同一个网络)

所以我的问题是,我需要在我的 vb 或我的环境中做什么,以便当我发送这个数据包时,两个网络都能听到?

我试过的:

显然,以太网不会自行与其他子网通信。我读到的是,您可以使用类似的命令通过路由器创建路由。例如:

 route ADD 10.10.4.254 MASK 255.255.255.0 10.10.3.109

它运行成功,但是当我运行程序时,我没有得到其他网络的任何响应。我在设置中缺少什么来完成这项工作?

我的 VB 代码:

对于有趣的事情(基于 pcapdotnet 示例):

      ' Open the output device
         Dim Communicator As PacketCommunicator = selectedOutputDevice.Open(65536, PacketDeviceOpenAttributes.None, 500)

        Dim filter As BerkeleyPacketFilter = Communicator.CreateFilter("len >= 415 and len <= 417")
        Communicator.SetFilter(filter)

        ' send broadcast packet
        Communicator.SendPacket(BuildEthernetPacket(ReqInfoPkt, "ff:ff:ff:ff:ff:ff"))
4

1 回答 1

2

如何将我的广播以太网数据包发送到其他子网?

你不能。

以太网不知道也不关心更高级别的协议,包括 IP。IP 并不总是在以太网上运行。它们是分开的东西。

于 2014-12-18T15:35:40.440 回答