0

因此,在我玩过由 Digitalsquid (http://digitalsquid.co.uk/netspoof/) 开发的 Network Spoofer 之后,我一直试图通过编写执行类似操作的 ac 程序来更好地了解其内部工作。

我的程序目前接收 4 个参数——源 ip、源 mac、受害者 ip 和受害者 mac——并与它们一起发送一个 ARP 回复数据包。在我的家庭网络上测试程序时,我会做一些事情,比如将源 ip 设置为路由器的 ip,将源 mac 设置为伪造的东西,将受害者 ip 设置为我的笔记本电脑的 ip,将受害者 mac 设置为我的笔记本电脑的无线网卡 mac。

问题是,虽然我可以看到使用 tcpdump 监控无线网卡发送/接收的数据包(即我会看到类似“01:43:23.656745 ARP, Ethernet (len 6), IPv4 (len 4), 回复rouer-ip is-at bogus-mac-address , length 28", 这正是我所期望的),路由器的 ARP 缓存条目保持不变(即仍然具有正确的 mac 地址)。

我不太确定这里的问题是什么,以及为什么我不能毒化我的 ARP 缓存。我在某处读到它可能是我的操作系统 Ubuntu 12.04,丢弃了未经请求的 ARP 数据包,所以我尝试将 /proc/sys/net/ipv4/conf/wlan0/arp_accept 设置为 1 - 不走运。我还尝试按照另一篇文章的建议打开 IP 转发(将 /proc/sys/net/ipv4/ip_forward 设置为 1),但仍然没有运气。

如果有人能给我一些关于问题可能是什么的指示/提示,我将不胜感激。另外,如果我的理解有误,请纠正我——我在 c 编程和 ARP 欺骗领域还很陌生。

谢谢!

JY

4

1 回答 1

2

接受这些参数(源 ip、源 mac、目标 ip 和目标 mac)很好,但你没有给它正确的值。

假设 A=受害者

和 B=您网络中的网关/路由器/交换机

ARP欺骗实际上使A和B都信服

您需要更加积极地向 A 和 B 发送 ARP 请求/回复,方法是将您的 MAC 地址指定为所需节点。

这样无论 A/B 发送什么都会首先到达您的手中。IP和MAC地址字段基本上在交换机的CAT(内容可寻址内存)表中更新,并不断更新。

因此,当您向 A(即路由器/网关/交换机)发送 ARP Reuest 时:-

 Source IP=Victim's IP i.e A
 Source MAc=your MAC(hackers MAC) so that data may come to your system
 Destination IP=Rouer's IP
 Detination MAC will be blank in case of ARP request
于 2013-01-25T09:32:15.877 回答