大家好,又见面了,我是你们的朋友全栈君。
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在同一以太网中,通过地址解析协议,源主机可以通过目的主机的IP地址获得目的主机的MAC地址。arping程序就是完成上述过程的程序。
arping,用来向局域网内的其它主机发送ARP请求的指令,它可以用来测试局域网内的某个IP是否已被使用。
arping [-AbDfhqUV] [-c count] [-w deadline] [-s source] -I interface destination
-A:与-U参数类似,但是使用的是ARP REPLY包而非ARP REQUEST包。 -b:发送以太网广播帧,arping在开始时使用广播地址,在收到回复后使用unicast单播地址。 -c:发送指定的count个ARP REQUEST包后停止。如果指定了-w参数,则会等待相同数量的ARP REPLY包,直到超时为止。 -D:重复地址探测模式,用来检测有没有IP地址冲突,如果没有IP冲突则返回0。 -f:收到第一个响应包后退出。 -h:显示帮助页。 -I:用来发送ARP REQUEST包的网络设备的名称。 -q:quite模式,不显示输出。 -U:无理由的(强制的)ARP模式去更新别的主机上的ARP CACHE列表中的本机的信息,不需要响应。 -V:显示arping的版本号。 -w:指定一个超时时间,单位为秒,arping在到达指定时间后退出,无论期间发送或接收了多少包。在这种情况下,arping在发送完指定的count(-c)个包后并不会停止,而是等待到超时或发送的count个包都进行了回应后才会退出。 -s:设置发送ARP包的IP资源地址,如果为空,则按如下方式处理: 1、DAD模式(-D)设置为0.0.0.0; 2、Unsolicited模式(-U)设置为目标地址;
3、其它方式,从路由表计算。
例1:查看某个IP的MAC地址
1 | arping 192.168.131.155 |
---|
例2:查看某个IP的MAC地址,并指定count数量
1 | arping -c 1 192.168.131.155 |
---|
例3:当有多块网卡的时候,指定特定的设备来发送请求包
1 | arping -i eth1 -c 1 192.168.131.155 |
---|
例4:查看某个IP是否被不同的MAC占用
1 | arping -d 192.168.131.155 |
---|
例5:查看某个MAC地址的IP,要在同一子网才查得到
1 | arping -c 1 52:54:00:a1:31:89 |
---|
例6:确定MAC和IP的对应,确定指定的网卡绑定了指定的IP
1 | arping -c 1 -T 192.168.131.156 00:13:72:f9:ca:60 |
---|
例7:确定IP和MAC对应,确定指定IP绑在了指定的网卡上
1 | arping -c 1 -t 00:13:72:f9:ca:60 192.168.131.156 |
---|
例8:有时候,本地查不到某主机,可以通过让网关或别的机器去查。以下几种形式测了下都可以
1 2 3 | 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欺骗来冒充你的网关,这时候你电脑所有发出的信息,都有可能流经这个中间人的电脑。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132730.html原文链接:https://javaforall.cn