Shell
掃描ip範圍並以某種格式返回結果的腳本
此腳本掃描 IP 並返回 Up 或 Down 狀態。我怎樣才能改變它,使它不會掃描所有東西兩次?當它坐下時,它會掃描所有內容並僅返回“Up”地址,然後再次掃描並僅返回“Down”狀態地址。
#!/bin/bash is_alive_ping() { ping -c 1 $1 > /dev/null [ $? -eq 0 ] && echo $i,Up [ $? -eq 1 ] && echo $i,Down } for i in 10.1.150.{1..10} do is_alive_ping $i & disown done
如果任何人都可以使其獲得獎勵積分,則它還返回 IP 的 DNS 名稱(如果有的話)。
提前致謝。
該腳本只掃描每個 IP 一次。掃描在後台進行 (
&
)。宕機的IP需要較長的時間來響應,這就是為什麼它們稍後會被報告的原因。
您正在尋找nmap。
# nmap -sP 10.1.150.1-10 Starting Nmap 5.00 ( http://nmap.org ) at 2012-01-04 00:02 CET Host foo.example.com (10.1.150.2) is up (0.00066s latency). Host bar.example.com (10.1.150.7) is up (0.00066s latency). Nmap done: 10 IP addresses (1 host up) scanned in 1.41 seconds