最全的ARP欺骗攻击原理深入分析(2)

来源:asp之家 时间:2009-12-24 08:42:00 

2、ARP使用举例

我们先看一下linux下的arp命令(如果开始arp表中的内容为空的话,需要先对某台主机进行一个连接,例如ping一下目标主机来产生一个arp项):


d2server:/home/kerberos# arpAddress          HWtype  HWaddress         Flags Mask            Iface211.161.17.254   ether   00:04:9A:AD:1C:0A      C                 eth0


Address:主机的IP地址

Hwtype:主机的硬件类型

Hwaddress:主机的硬件地址

Flags Mask:记录标志,“C”表示arp高速缓存中的条目,“M”表示静态的arp条目。

用“arp --a”命令可以显示主机地址与IP地址的对应表,也就是机器中所保存的arp缓存信息。这个高速缓存存放了最近Internet地址到硬件地址之间的映射记录。高速缓存中每一项的生存时间一般为20分钟,起始时间从被创建时开始算起。


d2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0


可以看到在缓存中有一条211.161.17.254相对应的arp缓存条目。


d2server:/home/kerberos# telnet 211.161.17.21Trying 211.161.17.21...Connected to 211.161.17.21.Escape character is '^]'.^].telnet>quitconnetion closed.


在执行上面一条telnet命令的同时,用tcpdump进行监听:


d2server:/home/kerberos# tcpdump -e dst host 211.161.17.21tcpdump: listening on eth0


我们将会听到很多包,我们取与我们arp协议相关的2个包:

1  0.0 00:D0:F8:0A:FB:83 FF:FF:FF:FF:FF:FF  arp  60who has 211.161.17.21 tell d2server2  0.002344(0.0021)00:E0:3C:43:0D:24 00:D0:F8:0A:FB:83  arp  60arp reply 211.161.17.21 is at 00:E0:3C:43:0D:24

在第1行中,源端主机(d2server)的硬件地址是00:D0:F8:0A:FB:83。目的端主机的硬件地址是FF:FF:FF:FF:FF:FF,这是一个以太网广播地址。电缆上的每个以太网接口都要接收这个数据帧并对它进行处理。

第1行中紧接着的一个输出字段是arp,表明帧类型字段的值是0x0806,说明此数据帧是一个ARP请求或回答。

在每行中,单词后面的值60指的是以太网数据帧的长度。由于ARP请求或回答的数据帧长都是42字节(28字节的ARP数据,14字节的以太网帧头),因此,每一帧都必须加入填充字符以达到以太网的最小长度要求:60字节。

第1行中的下一个输出字段arp who-has表示作为ARP请求的这个数据帧中,目的I P地址是211.161.17.21的地址,发送端的I P地址是d2server的地址。tcpdump打印出主机名对应的默认I P地址。

从第2行中可以看到,尽管ARP请求是广播的,但是ARP应答的目的地址却是211.161.17.21(00:E0:3C:43:0D:24)。ARP应答是直接送到请求端主机的,而是广播的。tcpdump打印出arp reply的字样,同时打印出响应者的主机ip和硬件地址。

在每一行中,行号后面的数字表示tcpdump收到分组的时间(以秒为单位)。除第1行外,每行在括号中还包含了与上一行的时间差异(以秒为单位)。




这个时候我们再看看机器中的arp缓存:


d2server:/home/kerberos# arp -a (211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0 (211.161.17.21) at 00:E0:3C:43:0D:24 [ether] on eth0


arp高速缓存中已经增加了一条有关211.161.17.21的映射。

再看看其他的arp相关的命令:


d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00d2server:/home/kerberos# arpAddress          HWtype  HWaddress        Flags Mask       Iface211.161.17.254     ether   00:04:9A:AD:1C:0A     C            eth0211.161.17.21      ether   00:00:00:00:00:00      CM           eth0d2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0(211.161.17.21) at 00:00:00:00:00:00 [ether] PERM on eth0



可以看到我们用arp -s选项设置了211.161.17.21对应的硬件地址为00:00:00:00:00:00,而且这条映射的标志字段为CM,也就是说我们手工设置的arp选项为静态arp选项,它保持不变没有超时,不像高速缓存中的条目要在一定的时间间隔后更新。
如果想让手工设置的arp选项有超时时间的话,可以加上temp选项


d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00 tempd2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0(211.161.17.21) at 00:00:00:00:00:00 [ether] on eth0d2server:/home/kerberos# arpAddress        HWtype  HWaddress         Flags Mask      Iface211.161.17.254   ether   00:04:9A:AD:1C:0A     C            eth0211.161.17.21    ether   00:00:00:00:00:00       C            eth0


可以看到标志字段的静态arp标志“M”已经去掉了,我们手工加上的是一条动态条目。

请大家注意arp静态条目与动态条目的区别。

在不同的系统中,手工设置的arp静态条目是有区别的。在linux和win2000中,静态条目不会因为伪造的arp响应包而改变,而动态条目会改变。而在win98中,手工设置的静态条目会因为收到伪造的arp响应包而改变。

如果您想删除某个arp条目(包括静态条目),可以用下面的命令:


d2server:/home/kerberos# arp -d 211.161.17.21  d2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0(211.161.17.21) at  on eth0


可以看到211.161.17.21的arp条目已经是不完整的了。

还有一些其他的命令,可以参考linux下的man文档:d2server:/home/kerberos# man arp

标签:ARP,欺骗攻击
0
投稿

猜你喜欢

  • 新网互联确认DNS解析服务器遭受恶意攻击

    2009-06-20 10:36:00
  • 老谢:软文灵感不是天生的

    2009-04-07 04:40:00
  • 国外虚拟主机选购指南

    2008-04-21 12:18:00
  • 从零开始使用Dapr简化微服务的示例

    2021-01-26 09:39:30
  • 学习采用Mod_SSL技术让 Apache更加安全

    2010-05-02 18:31:00
  • 教你电脑桌前做运动

    2007-08-23 16:41:00
  • Exchange Server灾难恢复实例分析

    2010-03-03 14:06:00
  • 阿里巴巴高层地震,疑似马云全球布局

    2007-12-25 22:31:00
  • ASP网站漏洞解析及黑客入侵防范方法

    2007-09-26 12:44:00
  • 关键词优化的研究要观念先行

    2008-12-23 14:52:00
  • IXWebHosting美国主机优缺点分析

    2010-03-17 10:59:00
  • 美工属过渡行业 职业发展的N种路线

    2008-01-17 10:48:00
  • 动易使用GetArticleList标签,显示的时间比较长时会换行解决方法

    2009-10-04 20:26:00
  • 使用Serv-U创建FTP服务器教程

    2008-06-29 13:23:00
  • 资深Linux系统管理员网络安全经验谈

    2009-09-20 20:08:00
  • Centos7安装ElasticSearch 6.4.1入门教程详解

    2023-04-15 13:02:57
  • Ubuntu20.04防火墙设置简易教程(小白)

    2022-10-09 03:28:18
  • 百度谷歌雅虎三合一 山寨搜索引擎雷倒网友

    2009-11-13 16:42:00
  • 彭宇诚:博客推广方法详解

    2010-03-04 10:13:00
  • linux实现对上传文件的定时备份、增量备份的方法

    2021-05-27 03:36:49
  • asp之家 网站运营 m.aspxhome.com