下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
#!/bin/bash ######################################################## Ip=`ifconfig eth0|awk -F '[:B]' '/inet addr/{print $2}'` Mask=`ifconfig eth0|awk -F'[:$]' '/inet addr/{print $4}'` for ((i=1;i< =4;i++));do Tmp=`echo $Ip|awk -F "." '{printf $'$i'}'` Ip_Bin+=`echo "obase=2;$Tmp"|bc|awk '{printf "%08d\n",$0}'` Tmp1=`echo $Mask|awk -F "." '{printf $'$i'}'` Mask_Bin+=`echo "obase=2;$Tmp1"|bc|awk '{printf "%08d\n",$0}'` done; Mask_Lng=`printf ${Mask_Bin%%0*}|wc -c` MyNet=${Ip_Bin:0:$Mask_Lng}$(printf "%0$((32-$Mask_Lng))d") MyBro=${Ip_Bin:0:$Mask_Lng}$(printf "%0$((32-$Mask_Lng))d"|tr 0 1) echo -e "\n---------- "start at $(date +"%Y-%m-%d %H:%M:%S")"\n">$HOME/ScanIpMac.lst for (( i=$((2#$MyNet+1)); i< $((2#$MyBro)); i++ )); do Tmp=$(echo "obase=2;$i"|bc) Ip=$(for i in {0..3};do test $i != 0 && printf '.'; printf $((2#${Tmp:$i*8:8}));done) ping -n -w 1 -c 1 $Ip > /dev/null 2>&1 if [ $? == 0 ];then Mac=`arp -n $Ip|grep $Ip|awk -F " " '{print $3}'` echo $Ip" "$Mac |tee -a $HOME/ScanIpMac.lst fi done; echo -e "\n---------- "End at $(date +"%Y-%m-%d %H:%M:%S")>>$HOME/ScanIpMac.lst exit 0
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。