|
|
1
4
从技术上讲,你可以使用ARP中毒来做这件事,但是我真的不认为我会推荐它。我真的不明白你为什么要这么做,但从它的声音来看,你想模拟射频设备可能导致的数据包丢失/损坏类型。
您也可以将WinPcap与c#包装器一起使用。但它仍然不是本机实现,可能会受到性能方面的影响。WinPcap有一个C#包装器,我用它来调用它 SharpPcap ,但是有些部分没有很好地实现,我不得不根据需要修改它。我做了一些简单的测试,以300 Mbps的速度捕获流量,但这还不包括任何协议分析或将数据包注入网络。这也可以用于将数据包重新放到网络上,但在过去,这同样是一种低性能。我的网络同行普遍认为,如果没有Gbps速度的硬件辅助,这种类型的检查是无法完成的。 我看到你注意到你控制着路由器和实验室。我不知道Cisco是否对这个功能有最低要求,但你可以指向一个接口的静态路由。所以,如果你把你的拦截服务器挂在路由器的一个端口上,并为每台主机设置路由,让它们进入你的拦截服务器,那么它就可以接收通过路由器路由的所有流量。通过将接口定义为下一个跃点而不是IP地址来实现这一点。 *请注意Bob McCormick的说明,它只会影响不同子网上的主机,但是存在一个简单的欺骗,在每个主机上(如果分配了静态IP地址),将子网掩码设置为/32(即255.255.255.255)。这实际上会迫使主机发送所有由路由器路由的it帧,因为它不再知道与自己在同一网络上的任何其他用户。
但是,如果您正在做这一级别的工作,我建议您再次考虑将linux用于发送流量的主机,可能还有Bob McCormick推荐的工具。然而,在linux中,我确信可以设置大量工具来模拟您正在寻找的这类事件。 |
|
|
2
1
我不是ARP中毒方面的专家,但我相信,要可靠且始终如一地实现其效果,您需要得到路由器的同意。我的意思不是法律上的同意,而是路由器会把你设置为网络上所有设备的中间人。
编辑: 既然你控制了网络,我想你根本不需要ARP中毒。我不确定您的拓扑结构是什么样子,但对于中小型安装,我会从CISCO或同等设备切换,并研究将linux机箱作为路由器运行。然后根据需要删除/延迟/更改数据包所需的任何脚本。Linux而不是Cisco的决定可能有点敏感,我不是专家,但对于一个小型实验室来说,这不应该是什么问题。
免责声明 :我从未使用过Cisco设备,因此我不知道它们能够实现哪些高级功能。也许他们能够像这样运行高级逻辑,如果是的话,那就更好了——我只是假设他们没有。 |
|
|
3
1
欺骗永远不会可靠。这基本上是你和你欺骗的IP地址的合法所有者之间的竞争。 只有 允许您影响位于不同子网上的主机之间的通信量。 如果这对您有效,我建议您从Netem功能开始( http://www.linuxfoundation.org/en/Net:Netem )在Linux内核中?Netem将允许您为Linux内核转发的任何数据包控制带宽、延迟、抖动、数据包重新排序等。我已经多次使用它来模拟Cisco路由器之间的WAN特性,以测试QOS配置。 |
|
|
markkuit · Android/Codova UUID可靠性 11 年前 |