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

时间:2014-12-18 15:32:08

标签: vb.net networking pcap.net

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

我的设置:

我的PC 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网络(I没有对网络进行编号,所以如果他们感到困惑,我会道歉.4 / .5是同一个网络)

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

我尝试了什么:

显然,以太网本身不会与其他子网通信。我读过的是你可以使用像这样的命令通过你的路由器创建路由。例如:

 route ADD 10.10.4.254 MASK 255.255.255.0 10.10.3.109

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

我的VB代码:

对于funsies(基于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"))

1 个答案:

答案 0 :(得分:2)

  

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

你不能。

以太网不了解或关心更高级别的协议,包括IP。 IP并不总是通过以太网运行。它们是分开的东西。