扫描某个网段中的所有设备获取ip和mac
阅读原文
建议阅读原文,始终查看最新文档版本,获得最佳阅读体验:《扫描某个网段中的所有设备获取ip和mac》
https://docs.dingtalk.com/i/nodes/PwkYGxZV3ZAezaA1flrLg6DqWAgozOKL
arp-scan
有时候我们希望主机扫描某一个网段中的所有主机,以获取ip地址与mac地址对应表,即arp表。
对于linux系统,有个命令可以很方便实现这个需求,即arp-scan,ubuntu系统安装此命令很方便,centos就比较麻烦,还需要编译。
安装arp-scan
ubuntu系统:
sudo apt install arp-scan -y
示例:
sudo arp-scan -I br0 -l #-I参数的值为接口名称,这里用到的是桥接接口 -l参数指的是对本地子网进行arp扫描
如下图,如此便能知道这个子网中,到底有哪些设备。

从输出结果可以看到子网中总共有21个主机(排除了本机),结果输出一目了然,但是扫描完成后,似乎没有将信息写入系统arp表,因为从命令arp -a的输出结果中,没有看到更新的arp信息。
如果要扫描指定的子网,而不是接口所在的子网,也很容易:
sudo arp-scan -I br0 192.168.124.0/24
#参数说明:
#-I br0 :指定扫描使用的网络接口(比如网桥 br0)。
#192.168.124.0/24 :CIDR 表示法,扫描 192.168.124.1 ~ 192.168.124.254。
nmap
参考资料:
20 Awesome Nmap Command Examples - ShellHacks
nmap是linux系统中常用的命令,最主要的功能是进行端口扫描,但它也能用来扫描某个子网中的所有设备。
示例(centos7.9中运行):
nmap -sn 192.168.124.0/24 #此命令的作用是扫描子网192.168.124.0/24,只扫描活动的主机
输出结果如下,可以看到总共有22个活动主机(包含本机),还能查看到ip地址对应的mac地址:

注意:我发现在ubuntu下运行同样的命令,扫描出来的主机数量不同(ubuntu扫描出来的主机数量明显少于centos),当然两个nmap的版本也不一样,ubuntu版本更高。或许还要加其它参数。
最好用apt安装nmap,而不是snap
关于作者和DreamAI
关注微信公众号“AI发烧友”,获取更多IT开发运维实用工具与技巧,还有很多AI技术文档!


907

被折叠的 条评论
为什么被折叠?



