有沒有批量檢測的方法?有的。咱們用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