[PowerShell] 扫描局域网所有IP的MAC地址 →→→→→进入此内容的聊天室

来自 , 2020-10-24, 写在 PowerShell, 查看 104 次.
URL http://www.code666.cn/view/0c29c7dc
  1. #!/bin/bash
  2. #author:        InBi
  3. #date:          2011-08-16
  4. #website:       http://www.itwhy.org/2011/08-20/939.html
  5. ########################################################
  6. Ip=`ifconfig eth0|awk -F '[:B]' '/inet addr/{print $2}'`
  7. Mask=`ifconfig eth0|awk -F'[:$]' '/inet addr/{print $4}'`
  8.  
  9. for ((i=1;i< =4;i++));do
  10.         Tmp=`echo $Ip|awk -F "." '{printf $'$i'}'`
  11.         Ip_Bin+=`echo "obase=2;$Tmp"|bc|awk '{printf "%08d\n",$0}'`
  12.         Tmp1=`echo $Mask|awk -F "." '{printf $'$i'}'`
  13.         Mask_Bin+=`echo "obase=2;$Tmp1"|bc|awk '{printf "%08d\n",$0}'`
  14. done;
  15.  
  16. Mask_Lng=`printf ${Mask_Bin%%0*}|wc -c`
  17. MyNet=${Ip_Bin:0:$Mask_Lng}$(printf "%0$((32-$Mask_Lng))d")
  18. MyBro=${Ip_Bin:0:$Mask_Lng}$(printf "%0$((32-$Mask_Lng))d"|tr 0 1)
  19.  
  20. echo -e "\n---------- "start at $(date +"%Y-%m-%d %H:%M:%S")"\n">$HOME/ScanIpMac.lst
  21. for (( i=$((2#$MyNet+1)); i< $((2#$MyBro)); i++ )); do
  22.     Tmp=$(echo "obase=2;$i"|bc)
  23.     Ip=$(for i in {0..3};do test $i != 0 && printf '.'; printf $((2#${Tmp:$i*8:8}));done)
  24.         ping -n -w 1 -c 1 $Ip > /dev/null 2>&1
  25.         if [ $? == 0 ];then
  26.                 Mac=`arp -n $Ip|grep $Ip|awk -F " " '{print $3}'`
  27.                 echo $Ip"               "$Mac |tee -a $HOME/ScanIpMac.lst
  28.         fi
  29. done;
  30. echo -e "\n---------- "End at $(date +"%Y-%m-%d %H:%M:%S")>>$HOME/ScanIpMac.lst
  31.  
  32. exit 0
  33. //shell/1288

回复 "扫描局域网所有IP的MAC地址"

这儿你可以回复上面这条便签

captcha