作者:
CSDN VC/MFC 网络编程PiggyXP ^_^
本篇目录:
四。ARP包的游戏
1 . 小伎俩
2. ARP欺骗的实现
3. 基于ARP欺骗的监听原理
|
四.ARP包的游戏
既然我们可以自己来填充数据包,那么来玩些
ARP
的“小游戏”欺骗就是易如反掌了,当然,是在没有安全防护的网络里
,比如只有
hub
或者交换机把你们相连,而没有路由分段
……^_^
下面我就由浅入深的讲一些介绍一些关于
ARP
的小伎俩。
1.
小伎俩
1)
你可以试着发一个请求包广播,其中的
ARP
帧里关于你的信息填成这样:
(
为了节省篇幅,我只写需要特别指出的填充字段
)
发送方MAC
|
6
|
随便乱填一个错误的
|
发送方IP
|
4
|
填上你的IP
|
出现什么结果?是不是弹出一个
IP
地址冲突的提示?呵呵,同样的道理,如果发送方
IP
填成别人的,然后每隔
1
秒发一次
………..-_-b
2)
比如你们都靠一个网关
192.168.0.1
上网
,如果你想让
192.168.0.77
上不了网,就可以伪装成网关给
192.168.0.77
发一个错误的
ARP
响应包
, like this
发送方MAC
|
6
|
随便乱填一个错误的
|
发送方IP
|
4
|
网关IP 192.168.0.1
|
接收方就填
192.168.0.77
的相关信息,发送之后,它还能上网不?
这样能折腾他好一阵子了,只要它的系统得不到正确的到网关的
ARP
映射表它就一直上不了网了
^_^
呵呵类似的伎俩还有很多,不过只停留在这点东西上也没什么意思,还是看看稍微高深一点的吧
^_^
2.
ARP
欺骗
因为在以太网里,网络设备就是靠
MAC
信息来识别的计算机的,比如
A
电脑知道
MAC
地址为
22-22-22-22-22-22
的电脑是
B
,而如果我给
A
发送一个
ARP
响应包,告诉它我的
MAC
是
22-22-22-22-22-22
的话,
A
同样会认为我的计算机是
B
了,那么好,我们设想有这么一个环境,
A
的防火墙只对
IP
为
192.168.0.2 MAC
为
22-22-22-22-22-22
的
B
有信任关系,而且
A
打开了
21
端口提供
FTP
服务,正常情况下因为防火墙的缘故我们的计算机是连不到
A
的,
于是我们想办法让
B down
掉,或者在它关机的时候,我们把我们的
IP
改成
B
的
192.168.0.2
,然后给
A
发送一个
ARP
回应包,告诉
A
更新一下
ARP
缓存列表,
192.168.0.2
的
IP
映射到我们的
MAC
地址上来,于是,奇迹出现了,我们可以连到
A
的
FTP
上了,防火墙失效了
^_^
不过这个办法只能在同网段内生效,如果我们和
A
不在一个网段内,那就要复杂的多了,还要配合
ICMP
的重定向来控制报文的路由,这个我准备在以后阐述
ICMP
包的时候详细讲解,就不再此多说了。
3.
基于
ARP
欺骗的监听原理
监听的技术有很多了,不过我们常用的
sniffer
工具只能在基于
hub
的网络中起作用,碰到哪怕是交换机都无能为力了,这个时候我们的
ARP
欺骗技术就派上用场了。
还是假设有三台主机
A,B,
还有我们的主机,位于同一个交换式局域网中
A
与
B
正在通信,如果我们想要刺探
A
――
>B
通信的内容,于是我们就可以给
A
发送一个伪造的
ARP
回应包,告诉
A
,
B
的
IP
对应的
MAC
条目为我们的
MAC
地址,于是,
A
也就会相应的刷新自己的
ARP
缓存,将发给
B
的数据,源源不断的发送到我们的主机上来,这样我就可以对接收到的数据包进行分析就好了,达到了监听的目的。当然,因为动态
ARP
缓存是动态的,有超时时间的,所以我们必须每隔一段时间就给
A
发送一个
ARP
回应包
虽然我们这样达到了目的,但是
A
到
B
的通信却被停止了,为了不让
B
发现,我们还要对每次接收到的数据包进行转发,全部都转发给
B
,这样就天衣无缝了
^_^
同样的,如果我们还想监听
B
à
A
的数据包,一样给
B
发一个
ARP
回应包,告诉
B
,
A
的
IP
对应的
MAC
是我们的主机
MAC
,于是
B
到
A
的数据包也源源不断的发到我们的主机上来了,当然我们也是一样要对这些数据包进行转发,如图:
A <------>
我们的主机
<------>
B
一切都无误的话,
A
和
B
的通信内容就这样不知不觉的被我们监听到了
^_^
具体的代码实现由于篇幅的关系我就不放在这里讲了,如果需要我就专门另写篇文章附上完整代码吧
至此,我们的
ARP
基础知识就讲完了,但愿您能从中有所收获
后记:
因为本人开发都是使用
VC++.net 2003
,所以没有安装
.net
的朋友是打不开工程的,
可以试一下
vckbase
上的工程转换工具,本人没有试过,不保证有效
http://www.vckbase.com/tools/assist/prjconverter.rar
而且本文的代码使用了
winpcap
开发包,是要另外安装
ainpcap
驱动。
读者可以安装我代码包里的驱动,不过它更新很快,可以到它主页上去下载最新版本
http://winpcap.polito.it/install/default.htm
不做开发的读者,只用下载并安装这个就可以了
WinPcap auto-installer (driver +DLLs)
我的原文及源码下载地址稍后贴出,请关注本帖
^_^
源码下载地址,新鲜出炉,非常感谢 _foo 兄弟提供的空间
http://iunknown.com.cn/csdn/network/ARPPlayer_By_PiggyXP.rar
posted on 2007-02-16 15:49
飞鸟 阅读(557)
评论(0) 编辑 收藏 所属分类:
VC