Windows

為什麼 nmap -p <port> 和 nmap -A 掃描顯示不同的結果?

  • July 15, 2021

我有一個我編寫的 C# 應用程序,它在埠 789 上進行偵聽。它在 Windows XP Professional 電腦上執行。跑步

netstat -an | find "789"

TCP    0.0.0.0:789            0.0.0.0:0              LISTENING

當我nmap -A -vv ip在不同的 linux 機器(但相同的子網)上執行時,它只報告主機上打開的其他埠(即 mysql、vnc 等),而不是我的應用程序打開的埠。

但是,當我跑步時,nmap -p 789 ip我得到:

PORT     STATE   SERVICE
789/tcp  open  unknown

為什麼兩次 nmap 掃描之間存在差異?我可以做些什麼來確保 nmap 在進行全面掃描時檢測到打開的埠?

預設情況下,nmap 只掃描“常見”埠(我相信每個協議 1000 個最常見的埠)。由於 789 不是通用埠,因此未找到。如果你這樣做

nmap -A -vv -p- ip

它應該掃描埠 1-65535。

這是 nmap 文件,它告訴預設掃描哪些埠:http: //nmap.org/book/man-port-specification.html

您可以這樣做的唯一方法是修改 nmap 的服務文件,不建議這樣做。該-A選項執行高級選項,包括服務檢測、作業系統檢測、跟踪路由等 - 它不會掃描整個範圍。如果要掃描所有 65k 埠,請使用選項-p-. 除此之外,您只需使用-p 789. 您最好的選擇可能是創建一個別名nmap -p 789,以節省您的時間。

如果你真的需要更改服務文件(預設為 /usr/local/share/nmap/nmap-services),找到讀取的行unknown 789/tcp 0.000075並將其替換為您的程序名稱,並將數字放在末尾0.9,所以它是頂部埠 nmap 包括。不過,別名會好得多。

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