大家好,又见面了,我是你们的朋友全栈君。
最近检测内网机器的ip占用问题,用到了arping,总结一下。
版本
arping主要干的活就是查看ip的MAC地址及IP占用的问题。
arping有两个版本,一个版本是Thomas Habets这个人写的,这个版本有个好处是可以arping <MAC地址>,也就是说我们可以通过MAC地址得到IP。还有一个版本是Linux iputils suite的,这个版本就不能通过MAC地址,解析出IP地址了。
可以使用arping -V来查看自己系统的arping的版本
楼主观察了CentOS使用的是Linux iputils suite版本的,debian使用的是Thomas Habets。
注意两个版本的的arping使用的参数有很大的区别,所以要根据自己的arping版本去使用相应的参数。别到网上抄了个,结果在自己的系统上不能执行。
楼主使用的系统debian是Thomas Habets版本的,所以下面的很多参数只适合debian操作系统。
TH版简介
过程:给一个主机,发送arp或者ICMP包,并打印回复的消息。主机可以以hostname,ip地址,mac地址等形式出现。一个请求包,每隔一秒发送一次。为什么说发送的包有arp和icmp呢,因为,当主机为ip或hostname的时候,发送的是arp请求包。当主机是mac地址的时候,发送的则是icmp的echo广播包
参数
-0:指定源地址为0.0.0.0,这个一般是在我们刚刚安装好系统,电脑还没配置好IP的时候
-a:Audible ping.这个当有reply回来的时候,你的电脑有喇叭的话,就会滴滴的叫
-A:Only count addresses matching requested address
-b:类似-0,指定源broadcast为255.255.255.255
-B:指定这个就相当于 arping 255.255.255.255
-c count:发送指定数量的arp包后,即停止退出
-d:这个比较重要,当局域网有IP占用的时候,可以指定这个参数,当有相同的IP的不同MAC地址reply的时候,arping会退出,退出码为1
-D:这个检测是否丢包的,当丢包的时候打印感叹号,正常的时候打印逗号
-e:和-a相反,当没有reply的时候,会滴滴滴
-p:打开混杂模式,当前用户对mac无权限时,可以加上这个选
-r:输出的时候只打印MAC,写脚本的时候用得到,不用自己对结果awk了
-R:输出的时候只打印IP,和上面一样
-s MAC:指定源MAC地址
-S IP:指定源IP,设置了源IP,如果目标主机没有到源IP的route,则有可能收不到answer
-t MAC:指定目的MAC
-T IP:指定目的IP,
-i interface:指定发送arp包的设备。不指定的话,默认为系统的第一块网卡
-q:表示不打印输出,写脚本不想打印输出的时候,应该用的到
-u:没啥大用,结果显示的时候,加这个参数和不加,index的显示形式不同
-v:打印详细的输出,默认打印的好像就是verbose
-w deadline:指定两个ping直接的时间间隔,单位为毫秒,默认为1秒
用法
讲了这么多,感觉大多数的参数都用不到吧。记住常见用法就OK了
用法1:查看某个IP的MAC地址
arping 192.168.131.155
用法2:查看某个IP的MAC地址,并指定count数量
arping -c 1 192.168.131.155
用法3:当有多块网卡的时候,指定特定的设备来发送请求包
arping -i eth1 -c 1 192.168.131.155
用法4:查看某个IP是否被不同的MAC占用
arping -d 192.168.131.155
用法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 -c 1 -s 88:5a:92:12:c1:c1 10.240.162.115
OK,差不多这些了!
转载于:https://blog.51cto.com/lixcto/1571838
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132791.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...