檢測網段IP使用方式的shell指令碼

來源:互聯網
上載者:User

複製代碼 代碼如下:#!/bin/bash
#main---
network=192.168.1
ping_count=3
IP=1
:>IP_use
:>IP_idle
:>ping_action
echo "`date "+%Y%m%d %H:%M:%S"`----->指令碼開始執行......"
while [ $IP -lt 255 ]
do
host=$network.$IP
echo "-------->開始檢測$host伺服器通迅是否正常,ping次數$ping_count."
ping $host -c $ping_count >.ping_tmp
sleep 1
cat .ping_tmp >>ping_action
echo "-------->伺服器$host檢測已完成."
sum_ping=`tail -2 .ping_tmp |head -1 |awk -F, '{print$2}' |cut -c 2-2`
loss_ping=`tail -2 .ping_tmp |head -1 |awk -F, '{print$4}'|cut -c 2-5`
if [ $sum_ping -eq $ping_count ];then
echo "-->$host IP 已經在使用中"
echo "-->$host IP 已經在使用中" >>IP_use
else
echo "$host IP 目前空閑:$loss_ping"
echo "$host IP 目前空閑" >>IP_idle
fi
IP=$((IP+1))
done
echo "`date "+%Y%m%d %H:%M:%S"`----->指令碼運行完畢......"

要實現Ping一個網段的所有IP,並檢測網路連接狀態是否正常,很多方法都可以實現,下面簡單介紹兩種,如下:

指令碼1 複製代碼 代碼如下:#!/bin/sh
# Ping網段所有IP
# 2012/02/05
ip=1 #通過修改初值
while [ $ip != "254]; do
#yes正常,no主機不存在或不正常
ping 192.168.0.$ip -c 2 | grep -q "ttl=" && echo "192.168.0.$ip yes" || echo "192.168.0.$ip no"
ip=`expr "$ip" "+" "1"`
done

輸出結果:
192.168.0.1 yes
192.168.0.2 no
192.168.0.3 no
192.168.0.4 no
192.168.0.5 yes
192.168.0.6 no
192.168.0.7 yes
...

指令碼2 複製代碼 代碼如下:#!/bin/sh
# Ping網段所有IP
# 2012/02/05
ip="192.168.0."
for i in `seq 1 254`
do
ping -c 2 $ip$i | grep -q 'ttl=' && echo "$ip$i yes"|| echo "$ip$i no"
#yes正常,no主機不存在或不正常
done

輸出結果:
192.168.0.1 yes
192.168.0.2 no
192.168.0.3 no
192.168.0.4 no
192.168.0.5 yes
192.168.0.6 no
192.168.0.7 yes
...

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.