Ubuntu

如何測試我的特定埠是打開還是阻塞?

  • February 25, 2020

我想執行一項服務,該服務需要使用埠 20000連接某些源,但它沒有連接。我想測試我的這個埠是被阻塞還是打開。

您可以嘗試NMAP掃描本地電腦上“打開”的埠,例如:

nmap -sS -O -p20000 127.0.0.1

或者到 netstat 檢查服務使用的埠。

像這樣:

網路統計-lnptu

有用的實用程序:

  • 1.遠端登錄
  • 2.nc
  • 3.nmap

場景:用於檢查遠端系統 tcp 80 埠狀態

用法 :

telnet myserver.com 80 
nc -v myserver.com 80
nmap myserver.com 80 

反應分析:

如果您超時或拒絕:埠未打開

假設如果你得到“連接被拒絕”:那麼埠是打開的,但程序沒有監聽

如果連接成功:埠已打開且程序正在偵聽

解決方案:

啟動/重啟監聽程序(如果連接被拒絕)

請網路團隊監控連接,我們可以確認它是否被中間網路防火牆或伺服器防火牆/iptables 阻止

筆記 :

  • 假設防火牆配置為拒絕數據包而不是丟棄,那麼您將收到“連接被拒絕”錯誤,因此在這種情況下,我們無法確保程序是否正在偵聽。

要檢查 udp 埠​​(如 ntp),您可以使用以下 nc 選項

nc -uzv yourserver.com 123

引用自:https://serverfault.com/questions/664597