0

我正在尝试构建一个能够在基于交换机的 LAN 中嗅探目标主机流量的 winpcap 应用程序。

为此,我正在尝试执行 arp 欺骗。这样,目标主机和逃亡者之间的消息将通过我发送,然后我将能够嗅探它们。

我知道欺骗是如何工作的,我必须发送哪些 arp 数据包以及如何发送它们。问题在于转发的东西:默认情况下,我的机器会在到达时丢弃数据包,因为它们不是发往我的 IP 地址的。

我已阅读有关 IPEnableRouter Windows 注册表值的信息,但我更喜欢一些代码来获取它。

我一直在为 WinPcap 使用 Java Wrapper 库(jNetPcap、Jpcap),但我可以使用其他语言。两台计算机都安装了 Windows Vista。

4

1 回答 1

0

默认情况下,我的机器会在数据包到达时丢弃,因为它们不是发往我的 IP 地址的。

如果您将适配器置于混杂模式,则不应发生这种情况。大概 WinPcap 的 Java 包装器支持混杂模式;libpcap/WinPcap APIpcap_open_live()就是这样做的,并且自 libpcap 首次创建以来就一直这样做。

这确实意味着您的程序必须进行转发,但是,如果您想玩 ARP 欺骗之类的网络游戏,您可能需要做更多的网络事情,例如数据包转发,而不是您想要的.

于 2012-11-06T19:29:15.600 回答