ARP协议--Address Resolution Protocol--地址解析协议
在以太网中, 一个主机要和另一个主机进行直接通信, 必须要知道目标主机的MAC地址。 但这个目标MAC地址是
如何获得的呢?它就是通过地址解析协议获得的。
f
这是网络底层知识, 一个合格的hacker应该必备的知识...入侵时很有用..
首先先说下命令,
arp[-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]
-a[ InetAddr] [ -N IfaceAddr] 与-a相同 -g[ InetAddr] [ -N IfaceAddr]
显示所有接口的当前 ARP 缓存表。 要显示特定 IP 地址的 ARP 缓存项, 请使用带有 InetAddr 参数的 arp -a, 此处的 InetAddr 代表 IP 地址。 如果未指定 InetAddr, 则使用第一个适用的接口。 要显示特定接口的 ARP 缓存表, 请将 -N IfaceAddr 参数与 -a 参数一起使用, 此处的 IfaceAddr 代表指派给该接口的 IP 地址。 -N 参数区分大小写。
-d InetAddr [IfaceAddr]
删除指定的 IP 地址项, 此处的 InetAddr 代表 IP 地址。 对于指定的接口, 要删除表中的某项, 请使用 IfaceAddr 参数, 此处的 IfaceAddr 代表指派给该接口的 IP 地址。 要删除所有项, 请使用星号 (*) 通配符代替 InetAddr。
-s InetAddr EtherAddr [IfaceAddr]
向 ARP 缓存添加可将 IP 地址 InetAddr 解析成物理地址 EtherAddr 的静态项。 要向指定接口的表添加静态 ARP 缓存项, 请使用 IfaceAddr 参数, 此处的 IfaceAddr 代表指派给该接口的 IP 地址。
/? "帮助
Such as
arp -a 显示所有接口的ARP 缓存表
arp -a -N 123.123.123.123 对指定的IP地址为123.123.123.123的接口,显示其ARP缓存表
arp -s 123.123.123.123 FF-FF-FF-FF-FF-FF 将IP地址123.123.123.123解析成物理地址FF-FF-FF-FF-FF-FF并添加到静态ARP缓存项
说完命令后我们来试试效果,
到本机测试:Dos下输入 arp -a,回显
Interface: 192.168.1.2 --- 0x2
Internet Address Physical Address Type
192.168.1.1 00-46-05-01-6a-14 dynamic
这里值得注意的是Type是ip和mac的对应关系类型.
在Ping下局域网下任意一个IP
再次arp -a ,回显
Interface: 192.168.1.2 --- 0x2
Internet Address Physical Address Type
192.168.1.1 00-46-05-01-6a-14 dynamic
192.168.1.5 00-55-05-01-6a-FF dynamic
可以看到多了一个IP,这个就是因为你新ping一个IP后返回那IP的MAC地址会添加到静态ARP缓存项,利用这点我们可以很容易的渗透内网.
比如我们要在内网入侵一主机,但是主机里有防火墙,并且只对某一IP开放.
我们可以先扫描这一IP 如192.168.2.3
思路就是先想办法 让192.168.2.3当机,一旦他死机,主机里面的ARP缓存表就会把这IP删了,然后我们在改自己
的IP,发一个ping 给主机,要求主机更新主机的arp缓存表,主机当然不知道已经换了机器啊,加入我们的IP及与
MAC的对应关系,并且更新arp缓存表,然后我们就可以进一步活动了...
接下来,我们说下基于ARP欺骗的监听原理
监听,我想大家肯定最先想到的是那些嗅探工具,但是那些一旦遇到交换机就没用了,这时候就是ARP出场的时候了
假设有三台主机A,B,还有我们的主机, 位于同一个交换式局域网中
A与B正在通信,假如我们想要监听A―>B通信的内容,于是我们就可以给A发送一个伪造的ARP数据包,告诉A, B的IP对应的MAC地址为我们的MAC地址,于是,A也就会相应的刷新自己的ARP缓存,将发给B的数据,源源不断的发送到我们的主机上来,这样我就可以对接收到的数据包进行分析就好了,达到了监听的目的.当然,因为动态ARP缓存是动态的,有超时时间的,所以我们必须每隔一段时间就给A发送一个ARP数据包
虽然我们这样达到了目的,但是A到B的通信却被停止了,为了不让B发现,我们还要对每次接收到的数据包进行转发,全部都转发给B,这样就天衣无缝了
之前的查看QQ号码也就是这个原理..
再说下怎么伪造一个ARP数据包.用到的工具Iris Traffic Analyzer,这是一款网络流量分析监测工具.
首先,我们可以先用Iris Traffic Analyzer截获一个ARP报文,点工具栏上类似播放健,然后对截获的ARP请求报文编辑, 让它变成一个免费ARP报文,所谓的免费ARP报文就是“自己请求自己的MAC地址”--主要目的就是避免IP地址冲突!
我们把ARP请求报文的
目的MAC地址由标准的FF-FF-FF-FF-FF-FF, 改正我们需要欺骗的目的主机
1.1.1.1的MAC地址:00-0c-76-c6-55-fc
源MAC地址改成我们00-01-02-03-04-05
对于ARP报文头, 我们需要修改:
Sender Hardware Address为:00-01-02-03-04-05
Sender IP Address和Target IP Address都改成:1.1.1.1
然后发送报文,在到本机 执行 arp -a 就可以看到结果了...
后记:至于防范,网上到处都是这些文章.
ARP---套用落伍的一句话!
很好,很强大!
很好,很强,也很大!