获取本地网络中的实时主机 MAC
您好,我正在编写一个小型 bash 脚本,该脚本将每 5 分钟扫描一次 LAN 并获取实时主机,然后获取它们的 MAC 地址。
到目前为止我有这个:
nmap -sP -n -oG - 10.0.0.1-20 | grep "Up" | awk '{print $2}'
这给了我IP地址。现在我必须做类似的事情
arp -an | grep 'ip'
,但我是 bash 新手,我不知道该怎么做:)
Hi I'm working on a small bash script that will scan lan every 5 minutes and get live host and then get theirs MAC addresses.
So far I have this:
nmap -sP -n -oG - 10.0.0.1-20 | grep "Up" | awk '{print $2}'
Which gives me ip addresses. Now I have to do something like
arp -an | grep 'ip'
but I'm new to bash and I don't know how :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这是一个完全符合您要求的脚本:
Here is a script that does exactly what you want:
尝试使用
arp-scan
,例如:Try using
arp-scan
, e.g:对于查询的第二部分,您可以使用 arping :
For the second part of the query You could use arping :
这个以 grepable 格式输出所有记录:
它似乎也适用于主机 ARP 表中尚未存在的 IP/MAC。这是一件好事。在我的系统上,接受的答案中的脚本仅显示 ARP 表中列出的主机...
结果为:
This one outputs all records in a greppable format:
It seems to work also for IP's/MAC's which are not already in the hosts ARP table. That's a good thing. On my system the script from the accepted answer only shows hosts which are listed in the ARP table...
Results in: