Linux
除了 telnet,還有哪些檢查開放埠的替代方法?
我們可以使用以下命令來測試 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 秒後沒有響應超時,則之間的命令會
'
中斷,因此不會列印任何內容。