shell脚本:统计服务器mac地址与ip地址的对应关系
1. 统计当前服务器mac地址与ip地址的对应关系
#!/usr/bin/env bash
data=$(ip a;ip r)
num=$(echo "$data"|grep -E '^[0-9]{,2}:'|grep -E '^[0-9]{,2}' -o)
num2=$(echo -e "$num\ndefault")
n=2
for i in $num; do
end=$(echo "$num2"| head -n "$n"| tail -n 1)
line_data=$(echo "$data" | awk "/^"$i:"/,/^"$end"/"| grep -E 'link|inet'|grep -v inet6)
lines=$(echo "$line_data" | wc -l)
if [ "$lines" -eq 2 ]; then
mac=$(echo "$line_data" | grep -E "([a-z0-9]{2}:){5}[a-z0-9]{2} brd" -o | grep -E "([a-z0-9]{2}:){5}[a-z0-9]{2}" -o )
ip=$(echo "$line_data" | grep -E "inet ([0-9]{,3}.){3}[0-9]{,3}/" -o | grep -E "([0-9]{,3}\.){,3}[0-9]{,3}" -o)
if [ "$ip" != "127.0.0.1" ]; then
echo -n -e "$server_name" "$mac" "$ip\n"
fi
fi
n=$(expr "$n" + 1)
done

浙公网安备 33010602011771号