用sniffer pro实现ARP***测试
1 操作原理
1)当节点B收到节点A的ARP请求后,
B会检查ARP请求报文的硬件类型字段和协议类型字段,不匹配则丢弃,匹配则继续;
然后检查节点B自己的ARP缓存,看是否有SIP的对应项,如果有则更新MAC;
如果没有,则再检查DIP,看是否为自己的IP,如果是则把SIP和SM对应的项存入ARP缓存中;
最后检查操作字段,发现为ARP请求,则响应ARP应答。
2)当节点A收到节点B的ARP应答后,
A会检查ARP应答报文硬件类型字段和协议类型字段,不匹配则丢弃,匹配则继续;
然后检查节点A自己的ARP缓存,看是否有SIP的对应项,如果有则更新MAC;
如果没有,则再检查DIP,看是否为自己的IP,如果是则把SIP和SM对应的项存入ARP缓存中;
最后检查操作字段,发现为ARP应答,则丢弃本报文。
2 网关欺骗
1)基本原理
利用ARP应答,向某一台计算机发送ARP应答,源IP为网关IP,MAC为某一个假的MAC,而默认XP/2003系统会把MAC保存2分钟,在2分钟内用使用一次就延长2分钟,默认最大为10分钟。除非收到正确的ARP应答来刷新ARP缓存表,否则,在这段时间内该PC的数据包将被转发到一个假的MAC上,导致不能访问外网。
2)利用sniffer pro的造包功能可以实现
网络环境:
 省略!呵呵(太简单了,不想上传)
同一个局域网内,PC1为***者,PC2为这被***者,路由器为网关!
PC1:192.168.0.25
PC2:192.168.0.44
GW:192.168.0.1
***步骤:
第一步,PC1打开sniffer,定义一个过滤器(只抓IP ARP协议)开始抓包,
 
                                                           过虑器
然后用在PC1上的cmd中用arp -d 把arp缓存清除一下,PC1 ping PC2。
 
                                                cmd上的操作
此过程用有两个作用:
其一,可以抓到一些arp的响应包,方便后面的造包;
其二,可以arp -a命令查看到PC2的MAC;
 
第二步,停止抓包,打开×××,可以看到已经抓到ARP包
 
第三步,选择一个ARP响应包,在解码窗口右击--发送此当关帧。此时打开造包窗口,如下图:
 
第四步,此时进行一些简的修改就可以实现网关欺骗了。
二层头的更改:
DMAC      改为   PC2的MAC
SMAC       改为   PC1的MAC
三层头的更改:
发送MAC  改为 PC1的MAC
发送的IP    改为 网关的IP(关键步骤)
目标MAC  改为 PC2的MAC
目标IP         改为 PC2的IP
记住:所有更改都是在用十六进制数进行的。
如192.168.0.44改为十六进制为  c0 a8 00 2c
第五步,选择“连续不断地”,点“确实”就可以实现发送了!

3)实验现象:
最好就在测试试的PC2机子上装上360,这样效果就更明显!
如下图:
 
***成功!!!