如果只看 Port 號,22 常見是 SSH,80 常見是 HTTP,443 常見是 HTTPS。
可是這只是常見。
你完全可以把網站放在 8080,也可以把 SSH 放在別的 Port。
所以只靠 Port 號猜服務,準度有限。
Nmap 有一個常用功能叫 Service / Version Detection。
可以試:
nmap -sV 127.0.0.1
在自己的 Lab 上跑,可能會看到:
22/tcp open ssh OpenSSH ...
80/tcp open http nginx ...
Nmap 官方文件提到,版本偵測會對已發現的 Port 發送一系列 probe,再根據服務回應去比對特徵。
白話講,就是工具去跟對方「搭幾句話」,看看對方怎麼回。
有些服務也會自己透露資訊。
例如 SSH 連上時,可能露出類似:
SSH-2.0-OpenSSH_...
這類資訊常被叫做 Banner。
看到版本號之後,攻擊者可能會想:
這個版本有沒有已知漏洞?
管理員也應該想同一件事:
這個版本是不是該更新?
但要注意,版本資訊本身不是漏洞,它只是線索。