用linux四剑客和arping编写shell脚本,实现扫描出局域网所有ip设备的mac地址:
1.你要安装了arping
2.要有ifconfig命令(manjaro就没有,manjaro是ip addr)
3.发现现在manjaro,kali默认shell都是zsh了。./arping.sh可能会不能执行该脚本了,bath ./arping.sh 就可以了。
4.不会用四剑客grep sed cut awk的可以看看这篇文章:grep sed cut awk的部分笔记
#!/bin/bash
if [ "$#" -ne 1 ];then #判断用户是否输入至少一个参数如果没有输入参数,则输出提示信息并退出
echo "Usage - ./arping.sh [interface]"
echo "Example - ./arping.sh eth0"
echo "Example will perform an ARP scan of the local subnet to which eth0 is assigned"
exit
fi
interface=$1 #将用户输入的参数传递给interface变量
prefix=$(ifconfig $interface | grep "inet " | cut -d 't' -f 2 | cut -d '.' -f 1-3 ) #获取本机IP地址网段192.168.1.x
#对整个网段进行arping
for addr in $(seq 1 254);do
echo "正在进行第 $addr 个测试"
arping -c 1 $prefix.$addr -I $interface | grep "from" | cut -d " " -f 4 || break #以前用的reply from,现在要改成from
done