Linux如何使用nmap扫描端口_Linux nmap扫描端口实践

阿枫大大_2850

阿枫大大_2850

2026-04-01

499人浏览

原创

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

linux如何使用nmap扫描端口_linux nmap扫描端口实践

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 输出的每个状态码,都是某处配置留下的指纹。
PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

5247

5

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.10

2308

6

tcp和udp的区别
tcp和udp的区别

TCP和UDP的区别,在连接性、可靠性、速度和效率、数据报大小以及适用场景等方面。本专题为大家提供tcp和udp的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.25

463

5

udp是什么协议
udp是什么协议

UDP是OSI参考模型中一种无连接的传输层协议。本专题为大家带来udp是什么协议的相关文章,免费提供给大家。

2023.08.08

2611

5

tcp和udp有什么区别
tcp和udp有什么区别

tcp和udp的区别有:1、udp是无连接的,tcp是面向连接的;2、udp是不可靠传输,tcp是可靠传输;3、udp是面向报文传输,tcp是面向字节流传输。想了解更多tcp相关的内容,可阅读本专题下面的相关文章。

2024.11.14

3089

8

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3890

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3353

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2493

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6010

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习