Linux如何批量檢測端口連通性、端口是否開放

有沒有批量檢測的方法?有的。咱們用nc就能夠快速檢測端口的開放性。dom

nc檢測端口的用法tcp

nc -z -w 10  -u%IP% %PORT%ip

-z表示檢測或者掃描端口
-w表示超時時間
-u表示使用UDP協議,此參數爲空,則爲tcp協議io

例如:udp

[@s136.ipcpu.com ~]# nc -z -w 10 -u 8.8.8.8 53
Connection to 8.8.8.8 53 port [udp/domain] succeeded!
[@s136.ipcpu.com ~]# nc -z -w 10 8.8.8.8 53
Connection to 8.8.8.8 53 port [tcp/domain] succeeded!
[@s136.ipcpu.com ~]# echo $?
0
[@s136.ipcpu.com ~]# nc -z -w 10 8.8.8.7 53
[@s136.ipcpu.com ~]# echo $?
1

端口成功聯通返回值是0,提示succeeded;不然返回1,不提示任何數據方法

假如咱們有這樣一堆IP和端口。cpu

#cat ports
119.181.69.96 8080
119.181.118.38 8000
119.181.20.18 8080
119.181.69.37 8080

咱們能夠寫這樣一個腳原本批量檢測端口是否開放:數據

 
cat tetsport   |  while read line
do
 
#nc -z  -w 10  $line

nc -z -w 10 $line > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo $line:ok
else
echo $line:fail
fi
 
done

好了,咱們的運行結果以下:協議

119.181.69.96 8080:ok
119.181.118.38 8000:ok
119.181.20.18 8080:fail
119.181.69.37 8080:ok
相關文章
相關標籤/搜索