一、介绍
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在同一以太网中,通过地址解析协议,源主机可以通过目的主机的IP地址获得目的主机的MAC地址。arping程序就是完成上述过程的程序。
arping,用来向局域网内的其它主机发送ARP请求的指令,它可以用来测试局域网内的某个IP是否已被使用。
二、指令格式如下
arping [-AbDfhqUV] [-c count] [-w deadline] [-s source] -I interface destination
三、参数释意
--help
打印帮助信息
-0
使用此选项可对源IP地址0.0.0.0执行ping操作。 尚未配置接口时,请使用此选项。请注意,这可能无法应答MAC-ping。这是-S 0.0.0.0的别名。
-a
打印ping结果
-A
只计算与请求的地址匹配的地址(这将中断你做的大多数事情。仅当你一次添加多个主机时才有用。)
-b
与-0类似,但源广播的源地址(255.255.255.255)。请注意,这可能会使arping没有得到响应,因为这不是主机的正常行为。
-B
如果要寻址255.255.255.255,请使用代替主机。
-c count
只发送计数请求。
-C count
无论-c和-w如何,都只等待计数答复。(个人理解为-c和-w操作失效)
-d
查找重复的答复。 如果该答复来自两个不同MAC地址,则以1退出。
-D
收到答复显示为感叹号,信息包丢失显示为点。类似思科设备的泛ping结果显示。
-e
类似-a操作,但是在没有回复时发出哔声
-F
不要在接口名称上大费周章。虽然没有给出这个开关,但是-i会取代该操作。
-g group
setgid()设置为此组取代nobody组。
-h
打印帮助信息
-i interface
指定的网卡接口
-m type
用于传入数据包的时间戳类型。ping时使用-vv列出可用数据包。
-p
打开接口的混合模式,当你正在使用的MAC地址不是你自己的,请使用此模式。
-P
发送ARP答复而不是请求。 与-U一起使用。
-q
只显示报错信息
-Q priority
要设置的802.1p优先级。应与802.1Q标记(-V)一起使用。默认值为0。
-r
原始输出:每个回复只显示MAC/IP地址。
-R
原始输出:与-r类似,但显示ip地址,可以与-r组合。
-s MAC
设置源MAC地址 您可能需要与-p一起使用。
-S IP
与-b和-0类似,但源地址已设置。请注意,如果目标没有到IP的路由,则可能无法应答Arping。如果您不拥有所使用的IP,则可能需要打开Promiscious 接口上的-p模式(使用-p)。使用此开关,您可以查找主机拥有的IP地址,而无需自己获取IP地址。
-t MAC
设置要在ping IP地址时使用的目标MAC地址。
-T IP
使用-T作为目标地址,当ping mac不会响应广播ping,但可能对定向广播。
例:
要检查MAC-A的地址,请使用MAC-B和IP-B的知识。
$ arping -S <IP-B>-s <MAC-B> -p <MAC-A>
-u
ping MAC时,显示index = received / sent,而不只是index = received
-U
发送未经请求的ARP。 这会将ARP帧中的目标MAC地址设置为广播地址。 未经请求的ARP用于更新邻居的ARP缓存。
例:
$ arping -i <interface>-U <interface IP>
-v
详细输出。 使用两次获取更多消息。
-V vlan
设置VLAN标记。默认为无VLAN标记
-w sec
无论是否发送或接收了多少个数据包,都要在ping退出之前指定一个超时时间。
-W sec
ping之间的等待时间。
四、实例
例1:查看某个IP的MAC地址
arping 192.168.1.1
例2:查看某个IP的MAC地址,并指定count数量
arping -c 1 192.168.1.1
例3:当有多块网卡的时候,指定特定的设备来发送请求包
arping -i eth1 -c 1 192.168.1.1
例4:查看某个IP是否被不同的MAC占用
arping -d 192.168.1.1
例5:查看某个MAC地址的IP,要在同一子网才查得到
arping -c 1 52:54:00:a1:31:89
例6:确定MAC和IP的对应,确定指定的网卡绑定了指定的IP
arping -c 1 -T 192.168.131.156 00:13:72:f9:ca:60
例7:确定IP和MAC对应,确定指定IP绑在了指定的网卡上
arping -c 1 -t 00:13:72:f9:ca:60 192.168.131.156
例8:有时候,本地查不到某主机,可以通过让网关或别的机器去查。以下几种形式测了下都可以
arping -c 1 -S 10.240.160.1 -s 88:5a:92:12:c1:c1 10.240.162.115
arping -c 1 -S 10.240.160.1 10.240.162.115
五、实例分析
arping 192.168.1.140 -c 1 (用于检验目标主机是否存活)
1 packets received, 0% unanswered表示目标主机在该网络中存活
0 packets received, 100% unanswered (0 extra)表示目标主机在该网络中未存活
arping 192.168.1.140 -d(用于检查是否存在ARP欺骗,返回的数据包的IP地址一样,而MAC地址有多个,则存在ARP欺骗。)
上图说明目标主机不存在ARP欺骗。
如果目标主机是网关的IP,而这时候有存在两个(或多个)不同的MAC地址对应同一个网关的IP,这时候就说明有人使用ARP欺骗来冒充你的网关,这时候你电脑所有发出的信息,都有可能流经这个中间人的电脑。