Linux下使用Nmap扫描局域网存活主机及开放端口 渗透测试基础

云墨大大_4643

云墨大大_4643

2026-05-04

1083人浏览

原创

用 nmap -sn 192.168.1.0/24 快速发现局域网在线主机,优先发arp(本段)或icmp+syn(跨段);若全显示down,加 -pe -ps22,80 增强探测;查端口用 nmap -p- --min-rate 5000 或默认top 1000;扫不到已知端口需排查防火墙、监听地址及扫描方式。

linux下使用nmap扫描局域网存活主机及开放端口 渗透测试基础

怎么快速发现局域网里哪些IP在线

直接用 nmap -sn 192.168.1.0/24(把网段换成你实际的,比如 10.0.0.0/24)就能跳过端口扫描,只做主机发现。它默认发 ARP 请求(对本地网段)或 ICMP + TCP SYN(跨网段),速度快、误报低。

常见问题:扫出来一堆“Host seems down”,但你知道那台机器明明开着——大概率是目标禁了 ICMP 回应,或防火墙丢弃了探测包。这时候加 -Pn 强制跳过主机发现阶段,直接扫端口(但会慢很多,且结果里混入大量无效 IP)。

实操建议:

  • 优先用 -sn,确认网段后执行一次,看输出里有没有 Host is up
  • 如果全是 down,改用 nmap -sn -PE -PS22,80 192.168.1.0/24:强制发 ICMP Echo(-PE)+ 向 22 和 80 端口发 SYN 包(-PS),覆盖更多响应策略
  • 别用 -PU(UDP ping)扫内网,成功率低、耗时长,基本没必要

扫出存活主机后,怎么高效查开放端口

对单个 IP 做端口扫描,最常用的是 nmap -p- --min-rate 5000 192.168.1.10:其中 -p- 扫全部 65535 个端口,--min-rate 5000 控制发包速率(避免被 IDS 识别或触发限速)。

但全端口扫太重,日常建议先扫 Top 1000(默认行为):nmap 192.168.1.10。如果发现关键服务没扫到(比如 Web 服务跑在 8080),再针对性补扫:nmap -p 8080,8443,2222 192.168.1.10。

注意点:

Zynq Linux Hardware Debug
Zynq Linux Hardware Debug

Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。

下载
  • -F(Fast mode)只扫 Top 100 端口,适合快速摸底,但容易漏掉自定义端口的服务
  • -sS(TCP SYN 扫描)需要 root 权限,但隐蔽性好;普通用户可用 -sT(TCP Connect),只是更易被日志记录
  • 某些设备(如打印机、IoT 设备)对并发探测敏感,加 --max-retries 1 --host-timeout 30s 防止超时卡死

为什么扫不到已知开放的端口,比如 80 或 22

典型现象:浏览器能访问 http://192.168.1.20,但 nmap -p 80 192.168.1.20 返回 80/tcp filtered 或 closed。

原因通常是中间有防火墙(宿主机 iptables、云平台安全组、甚至家用路由器的端口过滤)拦截了探测包,或者目标服务只监听 127.0.0.1(如某些 Docker 容器未暴露端口)。

排查步骤:

  • 在目标机上运行 ss -tlnp | grep :80,确认是否监听 0.0.0.0:80 而非仅 127.0.0.1:80
  • 在扫描机上用 curl -v http://192.168.1.20 测试连通性,排除网络层问题
  • 换扫描方式:nmap -p 80 -sT 192.168.1.20(绕过 SYN 包过滤)、或加 --script http-title 看是否能触发 HTTP 响应

Linux 下权限、路径和常见报错处理

非 root 用户执行 nmap -sS 会报错:QUITTING: Failed to open raw socket. Try running as root.。解决办法只有提权(sudo nmap -sS ...)或改用 -sT。

另外,某些发行版(如 Alpine)默认不带 nmap,需手动安装:apk add nmap(Alpine)、apt install nmap(Debian/Ubuntu)、yum install nmap(CentOS/RHEL)。

容易忽略的细节:

  • nmap 默认不扫描 IPv6,要扫得加 -6 参数,且确保系统启用了 IPv6 协议栈
  • 扫描结果中 open|filtered 表示无法区分是开放还是被防火墙屏蔽,不是 bug,是探测机制局限
  • 别在生产网段长期跑高并发扫描(如 --min-rate 10000),可能触发交换机 ACL 或影响其他设备通信

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

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

下载

相关标签:

linux

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

相关专题

更多
golang map内存释放
golang map内存释放

本专题整合了golang map内存相关教程,阅读专题下面的文章了解更多相关内容。

2025.09.05

570

5

golang map相关教程
golang map相关教程

本专题整合了golang map相关教程,阅读专题下面的文章了解更多详细内容。

2025.11.16

343

7

golang map原理
golang map原理

本专题整合了golang map相关内容,阅读专题下面的文章了解更多详细内容。

2025.11.17

513

20

java判断map相关教程
java判断map相关教程

本专题整合了java判断map相关教程,阅读专题下面的文章了解更多详细内容。

2025.11.27

283

6

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

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

2023.06.21

4110

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

3493

10

linux find
linux find

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

2023.06.30

2693

5

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

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

2023.07.05

6570

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6222

7

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习