大家好,又见面了,我是你们的朋友全栈君。
一、介绍
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 |
|
例2:查看某个IP的MAC地址,并指定count数量
1 |
|
例3:当有多块网卡的时候,指定特定的设备来发送请求包
1 |
|
例4:查看某个IP是否被不同的MAC占用
1 |
|
例5:查看某个MAC地址的IP,要在同一子网才查得到
1 |
|
例6:确定MAC和IP的对应,确定指定的网卡绑定了指定的IP
1 |
|
例7:确定IP和MAC对应,确定指定IP绑在了指定的网卡上
1 |
|
例8:有时候,本地查不到某主机,可以通过让网关或别的机器去查。以下几种形式测了下都可以
1 2 3 |
|
五、实例分析
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://blog.csdn.net/wz_cow/article/details/80870876
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133190.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...