日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

扫描MAC地址脚本--保存

發布時間:2023/12/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 扫描MAC地址脚本--保存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

掃描MAC地址腳本

呵呵,腳本寫得不是很好,希望有高手幫我完善,比如使用了外部命令,或語法規范,或更妙的技巧,或更加靈活性……

#!/bin/bash #author: InBi #date: 2011-08-16 #website: http://www.itwhy.org/2011/08-20/939.html ######################################################## ScanIpMac(){Ip_Bin=$(ifconfig $1|sed -rn '/inet /{s/[^:]*:([^ ]*).*/obase=2;\1/;s/\./;/gp}'|bc|xargs printf "%08d")Mask_Bin=$(ifconfig $1|sed -rn '/inet /{s/.*Mask:([^ ]*).*/obase=2;\1/;s/\./;/gp}'|bc|xargs printf "%08d")#把IP和netmask每一段轉換成二進制,然后連接起來。Mask_Lng=`printf ${Mask_Bin%%0*}|wc -c`#計算出netmask為“1”的部份有多少位。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.lstfor (( i=$((2#$MyNet+1)); i< $((2#$MyBro)); i++ )); doTmp=$(echo "obase=2;$i"|bc)Ip=$(for i in {0..3};do test $i != 0 && printf '.'; printf $((2#${Tmp:$i*8:8}));done)#每一次循環數換成二進制,然后8位分一段換成十制制,再連接起來。arping -w 0.3 -c 1 $Ip > /dev/null 2>&1 &#發送 ARP 包,且不等待響應就進行下一次循環。done;sleep 5#等待 5 秒。arp -n -i $1 2>/dev/null|grep ':'|sort -n -u -t "." -k1,1 -k2,2 -k3,3 -k4,4|awk -F ' ' '{print $1"\t\t"$3}'|tee -a $HOME/ScanIpMac.lst#arp -n 輸出按 IP 排序后重定向到 ScanIpMac.lst 文件,并打印至標準輸出。echo -e "\n---------- "End at $(date +"%Y-%m-%d %H:%M:%S")" ------------">>$HOME/ScanIpMac.lstexit 0 } if test -n "$1" && test $1 != lo && `ifconfig $1>/dev/null 2>&1`; thenScanIpMac $1; elseecho 'NOTE: please enter the right parameter.'echo 'For example: ScanIpMac eth0.'exit 1 fi

2011-08-20 更新了獲取IP和MASK的方法。感謝ubuntu論壇的“我就是我2”的幫助。
2011-08-21 改進獲取字符串長度的方法:printf ${Mask_Bin%%0*}|wc -c,感謝 ubuntu論壇的“fnan”指點
2011-08-25 再次改進,哈哈,還是上面兩位的指點。
2011-08-26 增加參數輸入,使腳本更加靈活。并且提高了速度,以前需要20分鐘,現在只要20秒就行了。

掃描MAC地址腳本結果

呵呵,只列圖哦,不想費話,因為要睡覺了。

192.168.22.1 08:10:17:6d:04:9c 192.168.22.5 08:11:17:6d:a4:21 192.168.22.6 08:14:17:6d:b0:3e 192.168.22.9 08:10:57:6d:aa:0c 192.168.22.20 08:10:57:6d:0a:ae 192.168.22.21 08:60:15:6d:0e:ac

總結

以上是生活随笔為你收集整理的扫描MAC地址脚本--保存的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。