路由检查脚本

对于一个大网络来讲,一般都有内网,有内网就有复杂的路由问题,一个机器要和很多其它机器通信,往往需要在机器上添加大量的路由,到一定程度,连自己都不知道那些路由有效,那些路由无效了,下面给出一个检查路由的php脚本:

<?php
// filename: checkroute.php
// check route use ping command
// eg : route -n | egrep -v "IP|De|0\.0\.0\.0" |cut -d " " -f 1 | php checkroute.php
$arropt getopt("f:v"
);
if(isset(
$arropt[‘f’
])) {
    if(!(
$fp fopen($arropt[‘f’],‘r’
))){
        die(
"open file $f error\n"
);
    }
} else {
    
$fp STDIN
;
}
$debug false
;
if(isset(
$arropt[‘v’])) $debug true

while(!feof($fp)) {
    
$line trim(fgets($fp
));
    if(
$line == 
) continue;
    
$ip preg_replace("/\.0$/",".1",$line
);
    
$cmd "/bin/ping -c 1 -W 1 $ip 2>1 >/dev/null"
;
    
debug($cmd
);    
    
$result = @exec($cmd,$arr_ret,$retcode
);
    if(
$retcode != 0
){
        echo 
$line."\n"
;
    }
}

function debug($msg) {
    global 
$debug

    if(
$debug
) {
        echo 
$msg."\n"
;
    }
}
?>

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据