Command-Line

檢查特定 tcp/udp 埠 上正在執行什麼服務

  • July 29, 2022

我正在尋找一個命令行實用程序,它允許我檢查遠端機器的特定埠上正在執行的服務(例如:http/ftp/ssh)。

我想像這樣一個程序如何執行的一個例子:

kess@KG-PC:~$ portcheck google.com:80
Port 80 of google.com is running a(n) "http" server

進行此類辨識的最簡單方法是建立與此埠的連接並抓取橫幅。Banner(通常)可以告訴您這是否是例如 Apache httpd、openssh 等。橫幅列表可能很大。您也可以嘗試一些命令,例如GET / HTTP/1檢查服務是否回复它們。對於純文字命令telnet就足夠了。對於加密 (SSL/TLS),您可能需要使用openssl s_client.

AFAIKnmap可以做這樣的事情,所以你可以下載原始碼並檢查那裡是如何完成的。

如果您只想使用一個工具,您可以測試:

nmap -A google.com -p 80

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