我使用以下命令获取arp表。我现在想将localhost的ip和MAC地址添加到输出中。我应该如何编写shell脚本?
arp | grep -v 'incomplete' | tail -n+2 | awk '{print $1"*"$4}'
因此结果如下所示(它将iface和host ip添加到arp表条目的每一行)
eno16777736 192.168.140.133 192.168.140.254,00:50:56:ef:2d:57
eno16777736 192.168.140.133 192.168.140.2,00:50:56:ea:cf:bf
在我的系统上,我可以执行以下操作:
arp |
awk 'NR>1{mac[$NF]=mac[$NF]" "$3} END {for (iface in mac) print iface, mac[iface]}' |
while read iface mac; do
inet=$(
ifconfig "$iface" |
awk -v i=$iface '{for (j=1; j<NF; j++) if ($j == "inet") {print $(j+1); exit}}'
)
echo $iface $inet ${mac// /,}
done
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句