如何測試服務器及端口的穩定性?一分鐘學會這個命令

思路

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腳本更靈活。

如何測試服務器及端口的穩定性?一分鐘學會這個命令


分享到:


相關文章: