1. 程式人生 > >檢測系統UDP埠是否可用的方法

檢測系統UDP埠是否可用的方法

如果有人問為什麼要使用nc (netcat) 命令,而不使用telnet ?

我會說telnet 只能檢測tcp的埠。UDP的埠一般都用nc 。因為nc 號稱是網路屆的瑞士軍刀。當然你可以有其他的方式。

安裝完成後直接用命令來檢測。注意安裝的系統和被檢測系統不是同一個系統哦!

假設要檢測系統的IP為:1.1.1.1 ,埠為2000,檢測的是UDP。

使用:nc -zvu  1.1.1.1 2000

1:如果回覆success ,也就是成功。(?)

2:如果沒有任何資料,那就是說明該埠不可用。

 但是有時候可能目的系統有防火牆,阻止了ICMP報文的傳送,那麼以上的檢測是不正確的。

 why ???

 因為nc的檢測原理就是連續傳送5包UDP報文,如果對端沒有回覆ICMP的相關目的不可達報文,那麼就預設為成功。

所以說很多情況下導致沒有收到ICMP報文都會認為是success 成功的。有時候給一個不存在的IP地址傳送檢測也可能是success.

所以說nc也不完全靠譜,懂得這個原理你就知道為啥了。

如果你想檢測tcp ,那就使用nc -zv  1.1.1.1 2000  ,去掉u引數即可。