我正在尝试构建一个能够在基于开关的LAN中嗅探目标主机的winpcap应用程序。
要执行此操作,我正在尝试执行ARP欺骗。这样,目标主机和度假之间的消息将通过我发送,然后我能够嗅探它们。
我知道欺骗的工作原理,我必须发送的ARP数据包以及如何发送它们。问题到了带有转发的东西:默认情况下,我的计算机将在到达时丢弃数据包,因为它们不注定到我的IP地址。
我已经阅读了有关ipenablerouter Windows注册表值的信息,但是我更喜欢一些代码来获取它。
我一直在使用java包装库中的winpcap(jnetpcap,jpcap),但我可以使用其他一些langaje。两台计算机都安装了Windows Vista。
默认情况下,我的计算机将在到达时丢弃数据包,因为它们不注定到我的IP地址。
如果将适配器放入滥交模式,不应该发生。大概是WinPCAP支持混杂模式的Java包装器;libpcap/winpcap api pcap_open_live()
这样做了,自从首次创建libpcap以来就这样做了。
这确实意味着您的程序必须进行转发,但是,如果您想玩诸如ARP欺骗等网络游戏,您可能必须做更多的网络工作,例如转发数据包,比您可能想要的。