为什么 nmap -p <port> 和 nmap -A 扫描显示不同的结果?

And*_*tin 3 windows .net port nmap

我编写了一个 C# 应用程序,它侦听端口 789。它在 Windows XP Professional 计算机上运行。跑步

netstat -an | find "789"

TCP    0.0.0.0:789            0.0.0.0:0              LISTENING
Run Code Online (Sandbox Code Playgroud)

当我nmap -A -vv ip在不同的 linux 机器(但相同的子网)上运行时,它只报告主机上打开的其他端口(即 mysql、vnc 等),而不报告我的应用程序打开的端口。

但是,当我运行时,nmap -p 789 ip我得到:

PORT     STATE   SERVICE
789/tcp  open  unknown
Run Code Online (Sandbox Code Playgroud)

为什么两次 nmap 扫描之间存在差异?我可以做些什么来确保 nmap 在进行完整扫描时检测到打开的端口?

Mat*_*ttB 7

默认情况下,nmap 只扫描“公共”端口(我相信每个协议的 1000 个最常见的端口)。由于 789 不是通用端口,因此未找到。如果你这样做

nmap -A -vv -p- ip
Run Code Online (Sandbox Code Playgroud)

它应该扫描端口 1-65535。

以下是 nmap 文档,说明默认情况下扫描哪些端口:http : //nmap.org/book/man-port-specification.html