大家好,又见面了,我是你们的朋友全栈君。
浅谈arping
什么是ARP
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。
arping
Arping 是一个 ARP 级别的 ping 工具,可用来直接 ping MAC 地址,以及找出那些 ip 地址被哪些电脑所使用了。
ping与arping
1、ping发送ICMP请求包,用来测试主机与目标主机之间的连通性。如果未连通:有可能是物理上的问题,有可能是软件上的(防火墙开启等)问题。
2、arping发送ARP请求包,用来测试某个IP是否被主机使用,以及使用主机的物理地址。
具体参数翻译
-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地址
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 MAC地址
用法6:确定MAC和IP的对应,确定指定的网卡绑定了指定的IP
arping -c 1 -T 192.168.1.1 MAC地址
用法7:确定IP和MAC对应,确定指定IP绑在了指定的网卡上
arping -c 1 -t MAC地址 192.168.1.1
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135432.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...