EDN China > 设计实例 > 通信 > 以太网 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于ARP欺骗的网络监听技术研究

安阳师院公共计算机教学部 陈卫军?? 2010年01月20日 ?? 收藏0

  引言

  当前局域网大部分属于以太网,其主要连接方式主要是通过交换机进行连接。交换机在外型上类似于集线器,但在内部采用了电路交换的原理,将一个端口的输入交换到另一指定的端口。交换式以太网弥补了共享式以太网(用集线器连接的网络)的缺陷,但也从一定程度上增加了网络监听的难度。交换机在工作时维护着一张ARP的数据库表,在这个库中记录着交换机每个端口绑定的MAC地址,当有数据包发送到交换机上时,交换机会将数据包的目的MAC地址与自己维护的数据库内的端口对照,然后将数据包发送到相应的端口上。交换机与集线器最大的不同是通信数据包不再复制到其他所有端口,而是精确地发往目标机器所在的那个端口,所以,其它机器就无法监听这种目的性较强的通信,当然也就无法实现数据包的抓取了。因此我们需要在交换式以太网中寻求一种简单方便的监控部署软件,以实现对现在广泛存在的交换式以太网进行有效的监听。

  1 ARP协议及欺骗技术

  1.1? ARP协议

  IP数据包常通过以太网发送,以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包的。因此,IP 驱动器必须把IP目的地址转换成以太网目的地址。在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。ARP地址解析协议 (Address Resolution Protocol)就是负责把网络层的IP地址转变成数据链路层的MAC地址,建立IP地址和MAC地址之间的一一映射。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

  1.2? ARP欺骗技术

  ARP 协议虽然是一个高效的数据链路层协议,但是作为一个局域网协议,它是建立在各主机之间相互信任的基础上的,因此也存在一些安全问题。根据ARP 协议存在的这些安全问题,可以使用以下几种手段来进行ARP欺骗:

  (1) 攻击者也就可以在接收到该ARP请求包之后进行应答,进行假冒。

  (2) 由于被假冒的机器所发送的ARP应答包有可能比攻击者的应答包晚到达,为了确保被攻击者机器上的缓存中绝大部分时间存放的是攻击者的MAC地址,可以在收到ARP请求广播后稍微延迟一段时间再发送一遍ARP应答。

  (3) 由于各种操作系统对于ARP缓存处理实现的不同,一些操作系统(例如Linux)会用向缓存地址发非广播的ARP请求来要求更新缓存。在交换网络环境下,别的机器是不能捕获到这种缓存更新的,这就需要尽量阻止主机发送更新缓存消息。

  ARP欺骗技术可以实现全交换环境下的数据监听。因此,我们可以利用该技术对交换式以太网进行监控。

  2 采用ARP欺骗技术捕获交换式以太网数据

  通过前面的叙述,我们知道,交换式以太网可以利用ARP欺骗技术进行监控。下面说明如何采用ARP欺骗技术捕获交换式以太网数据。

  2.1 ARP协议实现

  在以太网上解析IP地址时,ARP请求和应答分组的格式如图所示

ARP协议实现

  以太网报头中的前两个字段是以太网的目的地址和源地址。目的地址为全1的特殊地址是广播地址。同一局域网上的所有以太网接口都要接收广播数据帧。接着是以太网帧类型,2字节长,表示后面数据的类型。对于ARP请求或应答来说,该字段的值为0x0806。硬件类型字段表示硬件地址的类型。值为1即表示以太网地址。协议类型字段表示要映射的协议地址类型。值为0x0800即表示IP地址。硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4。操作字段指出操作类型,可以为ARP请求(值为1)、ARP应答(值为 2)。其余的四个字段是发送端的硬件地址(以太网地址)、发送端的协议地址(IP地址)、目的端的硬件地址和目的端的协议地址。

  对于ARP请求来说,除目的端硬件地址外的所有其它的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

ARP欺骗? 网络监听? 数据链路层?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈