文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>linux 网络测试脚本

linux 网络测试脚本

时间:2011-04-06  来源:Braincol

#!/bin/sh
#*************************************************************
# 网络测试脚本
#*************************************************************
#****************************************
#此方法获取网关所需的时间太长!
#GATEWAY=`route | grep 'default,*' | awk '1{split($0,parts," ");print parts[2]}'` 
#****************************************
GATEWAY=`cat /proc/net/route | awk '
        function char2num(char) 
        {
                dec = "0123456789";   # decimal
                cap = "ABCDEF";       # capital
                min = "abcdef";       # minuscule
                if( length(char) > 1 ){
                        print "the length of the input char is erro!";
                        return;
                }
                if( index(dec,char) > 0 ) {
                        return (index(dec,char) - 1);
                } 
                else if( index(cap,char) > 0 ) {
                        return (index(cap,char) + 9);
                }
                else if( index(min,char) > 0 ) {
                        return (index(min,char) + 9);
                }
                else{
                        #print "input char error!"
                        return 0
                }
        } 
        function str2ip(str) {
                split(str,out,"");
                strout= sprintf("%d.%d.%d.%d",  
                                        char2num(out[7])*16 + char2num(out[8]),
                                        char2num(out[5])*16 + char2num(out[6]),
                                        char2num(out[3])*16 + char2num(out[4]),
                                        char2num(out[1])*16 + char2num(out[2]));
                return strout;
        }
        
        (FNR>1) {
                split($0,parts," ")
                if(parts[3] != "00000000"){
                        print str2ip(parts[3])
                }
        }'`
#*******************************************
#此方法获取的dns太多,实际只需一个就够了
#NAMESERVER=`cat /etc/resolv.conf | grep 'nameserver.*' | sed 's/^.*nameserver *//g'`
#*******************************************
NAMESERVER=`cat /etc/resolv.conf |awk '(FNR<2) && /nameserver.*/' |sed 's/^.*nameserver *//g'`
INTERNET="www.baidu.com"
echo "GATEWAY: " $GATEWAY
echo "NAMESERVER: " $NAMESERVER
echo "INTERNET: " $INTERNET
echo "------------------------------"
ping -c 3 127.0.0.1 > /dev/null 2>&1
if [ "$?" != "0" ]; then
        echo "Network card does not work! "
else
        echo "Network card is OK!"
fi
ping -c 3 $GATEWAY > /dev/null 2>&1
if [ "$?" != "0" ]; then
        echo "Can't connect to GateWay!"
else
        echo "GateWay is connected!"
fi

ping -c 3 $NAMESERVER > /dev/null 2>&1
if [ "$?" != "0" ]; then
        echo "Can't connect to DNS!"
else
        echo "DNS is connected!"
fi

ping -c 3 $INTERNET > /dev/null 2>&1
if [ "$?" != "0" ]; then
        echo "Can't connect to Internet!"
else
        echo "Internet is connected!"
fi
exit 0
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载