歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux局域網探測

Linux局域網探測

日期:2017/2/28 15:42:21   编辑:Linux教程

如果我們身為工程師或網絡管理員,那麼我們肯定遇到過這樣的情況,我們臨時要用到某個Ip地址,或我們要知道192.168.2.0這個網絡中所有的地址哪個被用掉了,你會怎麼做呢?還有,你要檢測一堆服務器中哪個服務器是正常運行的,哪個已經Down掉了。一個服務器一個服務器去查?噢no!!!這是個什麼樣的工作量啊!!關鍵是這樣做太繁瑣,下面我們來看個實例,用腳本快速探測一段網絡中哪個服務器是正常運行的,哪個是Down掉了的。

下圖就是我們掃描所需要的代碼了

我們來解釋一下

for num in {1..100}這個還是一個賦值語句,num等於1到100

host=192.168.2.$num這個的意思是

host=192.168.2.1……192.168.2.100

ping -c2 $host &>/dev/null這個就更簡單了,ping -c2是說ping兩次$host地址($host等於192.168.2.1.。。100),然後不管通了沒有,全部重定向到null,就是說丟棄

if [$?=0]; then

echo "$host is UP"

else

echo "$host ip Down"

fi

done

這個的意思就是說,如果$?=0,那麼顯示$host is up,這裡的$host就是指單個的了,如果$?不等於0,那麼顯示$host is down

其他的好理解,那什麼叫$?,這是個神馬玩意兒??

$?是linux中的一個對於上次執行結果的一個反饋,如果上次執行時成功的,那$?就是0,如果不成功,就是1,我們來試試

如下圖,我們執行了ls命令,成功的顯示了/下的文件,那麼$?就是0

我們再來看這個,ping 10.0.0.1是不通的,沒執行成功,那$?就是1

好了,理解完我們來運行一下

完美成功!!

Copyright © Linux教程網 All Rights Reserved