查看局域网所有设备

查看系统arp缓存

可以用arp命令查看本机中的arp缓存,其内会存有通讯过的设备ip与mac地址

1
arp -a
1
2
# mac不支持 mac请用上一条命令
arp -n

但是如果是没有与本机通信过的其他设备是不会被缓存进arp表中的,此时可以写一个脚本ping一下局域网的每一个ip,更新与之对应的设备信息。

ping局域网脚本

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
IPdomain=${1%.*}
searchstart=${1##*.}
searchend=$2

for addr in $(seq $searchstart $searchend)
do
ping -c 1 -i 0.2 -W3 $IPdomain.$addr
done
arp -n |grep -v 'incomplete'

可用如下命令run此脚本(例中脚本名为IPsearch.sh)

1
source IPsearch.sh 192.168.1.5 150

意思是从192.168.1.5开始到192.168.1.150,逐个IP去ping一下,ping通了,就完成了一次通信,arp表就会刷新.