如何测试服务器及端口的稳定性?一分钟学会这个命令

思路

linux系统中,通过nc命令机制访问,nc命令会尝试与服务器目标端口建立tcp连接,通过建链是否成功来判断端口当前是否可用,循环访问固定端口,并设置不同的超时时间,统计最后结果来判断服务器及端口的稳定性。

操作步骤

一.测试域名(指定端口号)的稳定性

nc -v -z www.baidu.com 80 
如何测试服务器及端口的稳定性?一分钟学会这个命令

建链成功返回:

如何测试服务器及端口的稳定性?一分钟学会这个命令

建链失败返回:

如何测试服务器及端口的稳定性?一分钟学会这个命令

二.新建一个文件config,把待测试域名或IP 端口写在config文件里面,也可以同时测试多个

如何测试服务器及端口的稳定性?一分钟学会这个命令

三.新建一个Shell脚本

如何测试服务器及端口的稳定性?一分钟学会这个命令

 #!/bin/bash
rm -rf ./result.txt
rm -rf ./2.txt
rm -rf ./nc.log

for((i=0;ido
cat ./config | while read line #config 为需要测试的域名或者IP地址 端口号

do
nc -v -w $2 -z $line >> ./nc.log 2>&1 #执行命令并把结果重定向到nc.log中


if [ $? -eq 0 ]
then
echo $line:ok >> ./2.txt
else
echo $line:failed >> ./2.txt
fi
done

echo `date +%Y`"-"`date +%m`"-"`date +%d`" "`date +%H`":"`date +%M`":"`date +%S` >> nc.log #在日志中加入时间戳,方便定位问题
sleep $3 #每次去扫描的时间间隔
done

echo "demowss.happy968.com 30050:ok $(grep "demowss.happy968.com 30050:ok" 2.txt | wc -l)" >>result.txt #统计扫描成功次数
echo "demowss.happy968.com 30050:failed $(grep "demowss.happy968.com 30050:failed" 2.txt | wc -l)" >>result.txt #统计扫描失败次数

执行脚本./nc.sh 10000 1 2 (shell脚本执行时后面的参数都可设置)

四.全量日志,重定向到nc.log中

如何测试服务器及端口的稳定性?一分钟学会这个命令

五.最后统计结果result.txt

如何测试服务器及端口的稳定性?一分钟学会这个命令

六.最后测试数据:设置了三组数据


如何测试服务器及端口的稳定性?一分钟学会这个命令

总结:

在linux环境中,通过nc命令去循环扫描端口可以快速,准确的对服务器及端口做稳定性测试,在shell脚本里设置了变量,在脚本执行的时候带上参数,让shell脚本更灵活。

如何测试服务器及端口的稳定性?一分钟学会这个命令


分享到:


相關文章: