Linux如何批量檢測埠連通性 埠是否開放

2021-06-07 09:01:16 字數 1166 閱讀 5086

檢測埠還在用telnet?太落伍把

有沒有批量檢測的方法?有的。我們用nc就可以快速檢測埠的開放性。

nc檢測埠的用法

nc -z -w 10 %ip% %port%

-z表示檢測或者掃瞄埠

-w表示超時時間

-u表示使用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[@s136.ipcpu.com ~]#

埠成功聯通返回值是0,提示succeeded;否則返回1,不提示任何資料

假如我們有這樣一堆ip和埠。

#cat ports

119.181.69.96 8080

119.181.118.38 8000

119.181.20.18 8080

119.181.69.37 8080

我們可以寫這樣乙個指令碼來批量檢測埠是否開放:

cat testport   |  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

fidone

好了,我們的執行結果如下:

119.181.69.96 8080:ok

119.181.118.38 8000:ok

119.181.20.18 8080:fail

119.181.69.37 8080:ok

shell指令碼批量測試埠連通性

最近在工作中遇到了需要批量檢測特定埠連通性的情況。本來想用nmap埠掃瞄檢測,但一般來說,在沒有經過同意的情況下執行埠掃瞄,是可以被視為網路攻擊行為的。為了避免不必要的麻煩,也懶得找領導,所以自己編寫了指令碼用telnet測試。這裡可以準備兩個檔案 start.sh script.exp start...

Linux 測試埠連通性

linux系統有時候需要測試某個埠的連通性,使用者可以參考如下方法來測試。telnet為使用者提供了在本地計算機上完成遠端主機工作的能力,因此可以通過telnet來測試埠的連通性,具體用法格式 telnet ip port 說明 port 是埠,比如80 如果telnet連線不存在的埠,那會如下圖所...

Linux 測試埠連通常用方法

1 telnet 用法 telnet ip port 1 telnet連線不存在的埠 telnet 1.1.1.1 8 trying 1.1.1.1.telnet connect to address 1.1.1.1 connection timed out 2 telnet 鏈結存在埠 telne...