編寫一個getarp.sh的腳本,記錄局域網內各主機的MAC地址。
保存到/etc/ethers文件中,若此文件已存在,則先轉移進行備份。
每行一條記錄,第1列爲ip地址,第2列爲對應的MAC地址。
編寫一個scanhost.sh的掃描腳本,檢查有哪些主機開啓了ftp服務,掃描對象是/etc/ethers中所有的ip地址。
如下:
[root@localhost ~]# vim getarp.sh
#!/bin/bash
NADD="192.168.1." #需要掃描的網段
FILE="/etc/ethers"
[ -f $FILE ] && /bin/cp -f $FILE $FILE.old # -f爲強制複製
HADD=1 #起始掃描地址
while [ $HADD -lt 10 ] #最大掃描主機地址爲10
do
ping -c 2 -i 0.2 -W 3 ${NADD}${HADD} &> /dev/null
if [ $? -eq 0 ] ; then
arp -n | grep ${NADD}${HADD} | awk '{print $1,$3}' >> $FILE
fi
let HADD++
done
#保存退出,進行掃描:
[root@localhost ~]# . getarp.sh #掃描的時間長短,與定義的掃描範圍有關。
[root@localhost ~]# cat /etc/ethers #查看掃描結果
192.168.1.2 00:0c:29:9a:09:98
192.168.1.8 00:50:56:c0:00:01
掃描端口,檢查哪些主機開啓了匿名ftp服務:
[root@localhost ~]# vim scanhost.sh
#!/bin/bash
TARGET=$(awk '{print $1}' /etc/ethers)
echo "以下主機已開放匿名FTP服務:"
for IP in $TARGET
do
wget ftp://$IP/ &> /dev/null
if [ $? -eq 0 ] ; then
echo $IP
rm -rf index.html
fi
done
#保存退出,進行掃描:
[root@localhost ~]# . scanhost.sh
以下主機已開放匿名FTP服務:
192.168.1.2