Fping:一個多主機同時ping掃描程序
fping是一款類似ping(1)(ping(1)是通過ICMP(網絡控制信息協議Internet Control Message Protocol)協議回復請求以檢測主機是否存在)的程序。Fping與ping不同的地方在于,您可以在命令行中指定要ping的主機數量范圍,也可以指定含有要ping的主機列表文件。與ping要等待某一主機連接超時或發回反饋信息不同,fping給一個主機發送完數據包后,馬上給下一個主機發送數據包,實現多主機同時ping。如果某一主機ping通,則此主機將被打上標記,并從等待列表中移除,如果沒ping通,說明主機無法到達,主機仍然留在等待列表中,等待后續操作。
下載鏈接:http://down.51cto.com/data/158562
PS:本文沒有涉及到windows下面的fping.
功能
fping - send ICMP ECHO_REQUEST packets to network hosts
UNIX和Windows環境都有許多可以用來進行ICMP ping掃描的工具。fping(http://packetstorm.securify.com/ Exploit_Code__Archive/ fping.tar.gz)是UNIX環境里久經考驗的ping掃描工具之一。早期的ping掃描工具大都需要等待前一個被探測主機返回某種響應消息之后才能繼續探測下一臺主機是否存在,但fping卻能以輪轉方式并行地發出大量的ping請求。這么一來,用fping工具去掃描多個IP地址的速度要比ping快很多。fping工具有兩種用法:既可以通過標準輸入設備(stdin)向它提供一系列IP地址作為輸入,也可以讓它去讀取某個文件。讓fping工具去讀取一個文件是件很簡單的事情:創建一個文本文件并把IP地址按每行一個的格式寫入,如下所示:
- 192.168.51.1
- 192.168.51.2
- 192.168.51.3
- ...
- 192.168.51.253
- 192.168.51.254
然后使用“-f”參數讀入這個文件,如下所示:
- [root]$ fping –a –f in.txt
- 192.168.1.254 is alive
- 192.168.1.227 is alive
- 192.168.1.224 is alive
- ...
- 192.168.1.3 is alive
- 192.168.1.2 is alive
- 192.168.1.1 is alive
- 192.168.1.190 is alive
fping工具的“-a”選項表示只在輸出報告里列出當前正在運行的系統。如果你愿意,還可以同時使用這個工具的“-d”選項去解析主機名。筆者比較喜歡使用fping工具的“-a”選項配合shell腳本和“-d”選項去掃描那些有著***的主機名的系統。在編寫進行ping掃描的腳本時,“-f”和fping工具的其他幾個選項也很有用。fping工具的可用選項的完整清單可以通過執行“fping -h”命令來查看。
Unix 版本相關網站:http://www.fping.com/
Windows版本相關網站:http://www.kwakkelflap.com/
實現機制:
Fping sends ICMP echo requests to a list of IP addresses, provided either on standard input or from a file, in a parallelized fashion. It sends out Pings in a "round-robin" fashion without waiting for a response. When responses are eventually returned, fping notes whether the host is alive or not and waits for more responses, all the while continuing its Ping sweep.
跟普通shell批量ping腳本相比,具有并行,結果易讀的優點。 #p#
fping -a -g 172.19.148.1 172.19.148.255 -s -n >hosts
執行結果,顯示通的IP:
- [root@Meil_88 root]# vi hosts
- 172.19.148.1
- 172.19.148.2
- 172.19.148.3
- 172.19.148.18
參數: