天天看點

判斷某個網絡内所有活動IP和非活動IP

要求:寫一個腳本判斷某個網絡内所有活動的IP位址.

實作腳本:

<code>#!/bin/bash</code>

<code>#script_name: ipscan.sh</code>

<code>file1=</code><code>/root/scripts/uplist</code>

<code>file2=</code><code>/root/scripts/downlist</code>

<code>if</code> <code>[  -e $file1 ]</code>

<code>then</code>

<code>    </code><code>rm</code> <code>-rf $file1</code>

<code>fi</code>

<code>if</code> <code>[  -e $file2 ]</code>

<code>    </code><code>rm</code> <code>-rf $file2</code>

<code>for</code> <code>((i=2;i&lt;=254;i++))</code>

<code>do</code>

<code>        </code><code>/bin/ping</code> <code>-c 1 192.168.3.$i &gt;&gt;</code><code>/dev/null</code>

<code>        </code><code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ]</code>

<code>        </code><code>then</code>

<code>                </code><code>echo</code> <code>"192.168.3.$i is alive"</code> <code>&gt;&gt; </code><code>/root/scripts/uplist</code>

<code>        </code><code>else</code>

<code>                </code><code>echo</code> <code>"192.168.3.$i is not alive"</code> <code>&gt;&gt; </code><code>/root/scripts/downlist</code>

<code>        </code><code>fi</code>

<code>done</code>

腳本執行效果:

[root@zabbix scripts]# sh ipscan.sh &amp;

[1] 20131

[root@zabbix scripts]# ps -ef|grep ipscan |grep -v grep

root     20131 15528  0 17:41 pts/1    00:00:00 sh ipscan.sh

[root@zabbix scripts]# pwd

/root/scripts

[root@zabbix scripts]# ls

downlist  ipscan.sh  uplist

#檢視IP統計

[root@zabbix scripts]# cat uplist |wc -l

50

[root@zabbix scripts]# cat downlist |wc -l

203

本文轉自 marbury 51CTO部落格,原文連結:http://blog.51cto.com/magic3/1438515