Linux

除了 telnet,還有哪些檢查開放埠的替代方法?

  • February 3, 2022

我們可以使用以下命令來測試 telnet VIA 埠;在以下範例中,我們測試埠 6667:

[root@kafka03 ~]# telnet kafka02 6667
Trying 103.64.35.86...
Connected to kafka02.
Escape character is '^]'.
^CConnection closed by foreign host

由於在某些機器上我們不能使用 telnet(出於內部原因)檢查埠的替代方法是什麼,例如 telnet?

Netcat ( nc) 是一種選擇。

nc -zv kafka02 6667
  • -z= 將 nc 設置為簡單地掃描監聽守護程序,而不實際向它們發送任何數據
  • -v= 啟用詳細模式

如果使用 Bash Shell,那麼您可以使用它的功能來檢查埠是打開還是關閉:

(timeout 1 bash -c '</dev/tcp/127.0.0.1/17500 && echo PORT OPEN || echo PORT CLOSED') 2>/dev/null
PORT OPEN

(timeout 1 bash -c '</dev/tcp/127.0.0.1/7500 && echo PORT OPEN || echo PORT CLOSED') 2>/dev/null
PORT CLOSED

請注意,如果伺服器在 1 秒後沒有響應超時,則之間的命令會'中斷,因此不會列印任何內容。

引用自:https://unix.stackexchange.com/questions/479710