nmap扫描结果受权限、目标响应策略和防火墙拦截三者共同影响,三者未对齐时易出现filtered或超时;默认仅扫前1000端口且依赖icmp响应,故可能仅显示“host is up”而无端口。

nmap 扫描端口不是“装了就能扫通”,权限、目标响应策略、防火墙拦截逻辑这三样没对齐,nmap 很可能返回一堆 filtered 或直接超时——这不是命令写错了,是网络环境在说话。
为什么 nmap 192.168.1.1 有时只显示 “Host is up” 却没端口?
这是最常被当成“扫描失败”的假象。默认扫描只查前 1000 个常见端口,且依赖目标主机是否响应探测包。如果目标禁 ping(-Pn 未加)、防火墙丢弃 SYN 包、或服务监听在非常规端口(比如 8081、3333),就会看起来“没扫到”。
-
-Pn强制跳过主机发现阶段,把目标当在线处理,避免因 ICMP 被屏蔽导致漏扫 - 加
-v(verbose)能看到实际发了哪些包、收到什么响应,方便判断是丢包还是无响应 - 若目标明确在局域网内(如自己搭的靶机),优先用
nmap -sn 192.168.1.0/24先确认存活,再单点深扫
nmap -p- 扫全端口为什么慢?怎么提速?
-p- 表示扫描 1–65535 所有端口,但默认使用 -sS(SYN 扫描),每轮最多并发 100 个连接,加上重传和超时,扫完常需 5–15 分钟。不是命令问题,是设计使然。
- 加
-T4提高扫描速度(激进模式),会增大并发数、缩短超时时间,适合可信内网 - 用
--min-rate 1000比-T4更可控:强制每秒至少发 1000 个包,避免-T4在某些系统上反而触发限速 - 别在公网对陌生 IP 盲扫
-p-:多数云厂商和 ISP 会拦截高频 SYN 包,还可能触发风控告警
扫出来一堆 filtered 端口,到底开没开?
filtered 不等于“关闭”,而是“被中间设备拦住了”。可能是防火墙 DROP、ACL 规则、云安全组、甚至家用路由器的 SPI 防火墙。它和 closed 有本质区别:closed 会回 RST 包,filtered 通常静默丢包。
- 尝试换扫描类型:用
nmap -sU -p 53,161 192.168.1.1测 UDP 端口,有时 TCP 被滤但 UDP 放行 - 用
nmap -sA -p 22 192.168.1.1发 ACK 包试探防火墙规则(unfiltered表示能通,但不说明开放) - 若只有个别端口是
filtered(如 22、80),大概率是目标本机 iptables/ufw 拦截;若全部端口都是filtered,优先查网关或云平台安全组
普通用户执行 nmap -sS 报错 “Operation not permitted” 怎么办?
-sS(SYN 扫描)需要原始套接字权限,非 root 用户无法构造自定义 TCP 头。这不是 bug,是 Linux 内核强制的安全限制。
- 必须加
sudo:即sudo nmap -sS -p 22,80 192.168.1.1 - 不想输密码?可临时赋权:
sudo setcap 'cap_net_raw+ep' /usr/bin/nmap(仅限信任环境,Kali 默认已配) - 替代方案:用
-sT(TCP connect 扫描),它走标准 socket 流程,普通用户可用,但会在目标日志留下完整连接记录
filtered 就停在原地,或者扫全端口时没意识到 -T4 和 --min-rate 的行为差异。网络不是黑盒,它是层层策略叠加的结果——nmap 输出的每个状态码,都是某处配置留下的指纹。










