思路linux系统中,通过nc命令机制访问,nc命令会尝试与服务器目标端口建立tcp连接,通过建链是否成功来判断端口当前是否可用,循环访问固定端口,并设置不同的超时时间,统计最后结果来判断服务器及端口的稳定性。
操作步骤
一.测试域名(指定端口号)的稳定性
如测试百度:主要用到这行代码
nc -v -z www.baidu.com 80
建链成功返回:
建链失败返回:
二.新建一个文件config,把待测试域名或IP 端口写在config文件里面,也可以同时测试多个
三.新建一个Shell脚本
#!/bin/bashrm -rf ./result.txtrm -rf ./2.txtrm -rf ./nc.log for((i=0;i> ./nc.log 2>&1 #执行命令并把结果重定向到nc.log中 if [ $? -eq 0 ] then echo $line:ok >> ./2.txt else echo $line:failed >> ./2.txt fidone 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脚本更灵活。