我可以使用什么命令来扫描 UDP 端口?我听说 UDP 扫描有一些特定问题,不适用于 TCP 扫描。
我尝试跑步sudo nmap -p0-65535 -sU 192.168.1.97
。但它已经运行了一段时间了,没有显示任何结果......
背景资料
我注意到当我使用nmap 192.168.0.97
端口扫描我的计算机时,它只列出 TCP 端口。
对于 TCP 和 UDP 端口,我首先会询问计算机上的操作系统。 IE如何列出对远程计算机开放的所有套接字?
但端口扫描作为确认仍然有用。端口扫描您的计算机从另一台计算机如果您设置了防火墙,那么确认防火墙正在执行您想要的操作是一个特别好的主意。相反,ss -l
和netstat -l
将报告侦听套接字,而不考虑任何本地防火墙。
答案1
这是 UDP 扫描可能遇到的问题之一。说实话,我并没有太在意它。我认为当您使用快速的本地有线网络时,您可以提高时间。-T5
当我扫描运行的同一台计算机时,该选项似乎工作正常nmap
:-)。在这种情况下,它在不到 3 分钟的时间内完成了完整的 UDP 扫描。
另一个提示:在 nmap 运行时按 Enter 键。它将显示一个进度指示器。
另一种加快速度的方法是不扫描所有 65535 端口:-)。如果你仅有的netstat -l
想要仔细检查您的防火墙是否保护您认为保护的端口,您可以只传递您在/中看到的侦听端口列表ss -l
。我不倾向于有很多奇怪的网络服务正在监听物理接口但我需要防火墙,所以我可以手动输入它们:-P。
第二个问题是,UDP 扫描还可能显示未侦听、仅发出请求的程序,例如发送 DNS 请求并正在等待回复的程序。所以需要一些判断。使用netstat -l -p
/时这是最简单的,ss -l -p
因此它们显示程序名称,然后您可以开始猜测它们如何使用 UDP:-)。
从另一台计算机进行真实扫描的偏执价值在于,它可以帮助人们开始注意到诸如英特尔 ME 愚蠢。
答案2
sudo nmap -sU --data-length=0 192.168.1.97
–data-length 选项可用于向每个端口发送固定长度的随机负载,或者(如果指定值 0)禁用负载。如果返回ICMP端口不可达错误(类型3,代码3),则端口被关闭。其他 ICMP 不可达错误(类型 3,代码 1、2、9、10 或 13)将端口标记为已过滤。有时,服务会响应 UDP 数据包,证明它是开放的。如果重传后没有收到响应,则该端口被分类为 open|filtered。
答案3
命令 nmap -sU -v 192.168.0.97
激活 nmap 详细模式。这会起作用。