Shell

掃描ip範圍並以某種格式返回結果的腳本

  • September 19, 2014

此腳本掃描 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

引用自:https://unix.stackexchange.com/questions/28210