Windows
為什麼 nmap -p <port> 和 nmap -A 掃描顯示不同的結果?
我有一個我編寫的 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 包括。不過,別名會好得多。