您的位置:首页 > 运维架构 > Shell

shell-记录局域网中各个主机的MAC地址

2013-05-25 20:05 239 查看
shell-记录局域网中各个主机的MAC地址要求:
编写一个名为getarp.sh的脚本,记录局域网中各个主机的MAC地址。
保存到/etc/ether文件中,若此文件已存在,应先进行备份。
每行一条记录,第1列为IP地址,第3列为对应的MAC地址。



分析:
假定要扫描的网段是192.168.10.0,将192.168.10.赋值给变量NADD,作为检测地址的前缀;
使用arping -c 2 -w 1 向检测主机的IP发送ARP请求,记录MAC地址;

用while循环语句检测目标主机并记录MAC地址,这里检测的主机地址范围为1~124;
1、用vi创建一个名为getarp.sh脚本,内容如下:截图如下:

内容如下: #!/bin/bash NADD="192.168.10." FILE="/etc/ethers" [ -f $FILE ] && /bin/cp -f $FILE $FILE.old HADD=1 while [ $HADD -lt 124 ] do arping -c 2 -w 1 ${NADD}${HADD} &> /dev/null if [ $? -eq 0 ] then arp -n | grep ${NADD}${HADD} | awk '{print $1,$3}' >> $FILE fi let HADD++ done3、给脚本getarp.sh增加x权限4、执行脚本,查看检测到的MAC信息


本文出自 “听闻” 博客,请务必保留此出处http://wenzhongxiang.blog.51cto.com/6370734/1210057
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐