每日一个Linux命令解析——nmap(linux nm)
moboyou 2025-07-17 20:34 3 浏览
nmap:nmap(Network Mapper)是一款开源的网络扫描和主机探测工具,用于网络安全审计和主机发现。
一、语法
nmap [Scan Type(s)] [Options] {target specification}
二、选项
nmap有多种选项,这里挑几个常见的讲解一下。
1. 扫描类型选项
选项 | 描述 |
-sS | TCP SYN 扫描(半开放扫描,默认且快速)。 |
-sT | TCP 连接扫描(完整握手,较慢)。 |
-sU | UDP 扫描,用于发现 UDP 服务。 |
-sN | TCP NULL 扫描,发送空包以探测端口状态。 |
-sF | TCP FIN 扫描,通过发送 FIN 包探测端口。 |
-sX | Xmas 扫描,发送带有 FIN、PSH 和 URG 标志的包。 |
-sP/-sn | Ping 扫描,仅探测主机是否在线。 |
-sW | Windows 扫描,检测目标的 TCP 窗口大小。 |
-sM | TCP Maimon 扫描,用于绕过某些防火墙规则。 |
2. 端口选项
选项 | 描述 |
-p | 指定扫描端口或端口范围(如 -p 22 或 -p 1-1000)。 |
-p- | 扫描所有 65535 个端口。 |
3. 服务与版本探测
选项 | 描述 |
-sV | 探测服务和版本信息。 |
--version-intensity <level> | 设置版本探测强度(0-9,默认 7)。 |
4. 操作系统和设备探测
选项 | 描述 |
-O | 操作系统指纹探测。 |
--osscan-guess | 尝试猜测目标的操作系统。 |
--traceroute | 显示从扫描主机到目标的路由信息。 |
5. 脚本扫描
选项 | 描述 |
--script | 指定 NSE 脚本,如 --script=http-enum。 |
--script-args | 为脚本指定参数,如 --script-args user=admin。 |
--script=vuln | 执行漏洞检测脚本集。 |
6. 性能选项
选项 | 描述 |
-T0 至 -T5 | 设置扫描速度(T0 最慢,T5 最快)。 |
--min-rate | 设置最小扫描速率(如每秒发送包的数量)。 |
--max-rate | 设置最大扫描速率。 |
--min-hostgroup | 设置最小主机组大小(并行扫描时)。 |
--max-hostgroup | 设置最大主机组大小。 |
7. 输出选项
选项 | 描述 |
-oN <file> | 保存扫描结果为普通文本格式。 |
-oX <file> | 保存扫描结果为 XML 格式。 |
-oG <file> | 保存扫描结果为易解析的 Grepable 格式。 |
-oA <basename> | 保存扫描结果为所有支持的格式。 |
--append-output | 将扫描结果追加到文件而不是覆盖。 |
8. 绕过防火墙和 IDS
选项 | 描述 |
-f | 数据包分片以绕过防火墙。 |
--data-length | 设置数据包额外的填充字节数(如 --data-length 50)。 |
--badsum | 使用无效校验和发送数据包。 |
--source-port <port> | 指定源端口。 |
--ttl <value> | 设置数据包的 TTL 值(生存时间)。 |
9. 主机发现
选项 | 描述 |
-Pn | 禁用主机发现,直接扫描目标(适用于防火墙环境)。 |
-PE | 使用 ICMP Echo 请求发现主机。 |
-PP | 使用 ICMP Timestamp 请求发现主机。 |
-PS | 使用 TCP SYN 请求指定端口(如 -PS80,443)。 |
-PA | 使用 TCP ACK 请求指定端口(如 -PA80)。 |
-PU | 使用 UDP 请求指定端口(如 -PU53)。 |
10. 其他常用选项
选项 | 描述 |
--help | 显示帮助信息。 |
--reason | 显示端口状态背后的原因。 |
--stats-every <time> | 定期显示扫描进度(如 --stats-every 10s)。 |
--open | 仅显示开放的端口。 |
-v | 显示详细信息,支持多级(如 -vv)。 |
--exclude <host> | 排除特定主机或子网。 |
三、示例
- 扫描目标主机的开放端口
nmap 192.168.1.2
- 扫描多个目标,支持单个 IP、IP 范围或子网。
nmap 192.168.1.1 192.168.1.2
nmap 192.168.1.1-100
nmap 192.168.1.0/24
- 探测目标开放端口的服务及其版本信息。
nmap -sV 192.168.1.1
- 尝试识别目标的操作系统类型及版本。
nmap -O 192.168.1.1
- 扫描目标主机的所有 65535 个端口(默认只扫描前 1000 个常用端口)。
nmap -p- 192.168.1.1
- 扫描特定端口或端口范围。
nmap -p 22,80,443 192.168.1.1 # 指定端口
nmap -p 1-1000 192.168.1.1 # 指定端口范围
- 通过提高扫描速度减少耗时,-T 后面的数字表示扫描速度,范围为 0-5:
nmap -T4 192.168.1.1
- 隐秘扫描(避免被检测到)
nmap -sS 192.168.1.1 #TCP SYN 扫描,仅发送 SYN 包(半开放扫描)。
nmap -Pn 192.168.1.1 #跳过主机在线探测,直接扫描。
- 保存扫描结果
nmap -oN scan_result.txt 192.168.1.1 #保存为普通文本。
nmap -oX scan_result.xml 192.168.1.1 #保存为 XML 格式。
- 漏洞脚本扫描
nmap --script vuln 192.168.1.1 # 检查常见漏洞
nmap --script http-enum 192.168.1.1 # 扫描 HTTP 服务
- Ping 扫描,用于快速检测目标是否在线。
nmap -sn 192.168.1.0/24
- 防火墙绕过,分片扫描,将数据包分成小片以绕过简单的防火墙规则。
nmap -f <目标>
四、总结
- 优势场景:网络管理、安全审计、资产发现、漏洞评估、教育和研究。
- 注意事项:在使用 Nmap 前需获得授权,避免引发法律问题或对网络造成影响。
总的来说,Nmap 是一款强大、灵活的网络扫描工具,但在使用时应结合实际需求和网络环境,谨慎操作以避免潜在问题。
相关推荐
- 运维必备:掌握这3个存储技术(存储运维工程师面试题)
-
高级文件系统管理:LVM、RAID、NFS深度解析前言在现代企业级Linux环境中,文件系统管理是运维工程师必须掌握的核心技能。随着数据量的爆炸式增长和业务连续性要求的提高,传统的单磁盘文件系统已经无...
- 用于构建原生Wayland应用的全新C++工具包
-
Cosmoe是一个现代化的C++UI库,同时也是一个具有深厚历史底蕴项目的全新迭代版本,其根源可以追溯到历史上最优雅的图形用户界面之一。Cosmoe展现了几个令人印象深刻的特性。尽管这是一个刚刚发布...
- CoBi Notfall-System 2024 v1.0 PE系统构建器(PE系统生成器)
-
CoBiNotfall-System2024v1.0(由ComputerBild提供):WinPE(WindowsPE)构建工具,基于"LiveSystemPro"。创...
- 每日一个Linux命令解析——nmap(linux nm)
-
nmap:nmap(NetworkMapper)是一款开源的网络扫描和主机探测工具,用于网络安全审计和主机发现。一、语法nmap[ScanType(s)][Options]{targets...
- 化繁为简,揭秘5款神奇桌面小工具
-
01跨平台提效神器项目eSearch是一个基于Electron框架开发的跨平台桌面应用程序,它不仅仅是一个截图工具,更是一个集OCR、搜索、翻译、贴图、以图搜图和录屏等功能于一身的神器。无论...
- 7款炫酷黑科技工具,让你意想不到的好用
-
都是特别好用的(。-ω-)zzzWord2ArtWord2Art是一个特别炫酷的制作词云工具。它里面包含有上百种模板,有各种炫酷的表情包,人的体型。你只需要输入文字,就可以马上生成炫酷的词云。它还有...
- 电脑系统崩溃也不怕了,一招把驱动都备份出来
-
很多人平时都没有备份驱动的习惯,一旦系统崩溃,重装系统后又要从网上下载新的驱动进行安装。有一些电脑上可能还装了一些比较特殊的驱动,去网上也不太好找,怎么办呢?其实还是有补救的办法的,我们可以进PE把...
- 秒杀一众PE系统,制作强大的U盘启动系统,自制新一代装机神器
-
安装电脑系统的方式有很多,是一个既复杂又简单的工作,有时候几分钟就可以装好,而有些时候却要折腾几个小时。重装系统的时候有很大一部分原因就是因为系统损坏,无法正常进入系统才选择的重装,就拿以前安装原版W...
- GPT vs MBR硬盘分区世纪对决!老司机教你避坑选型绝招
-
一、你的硬盘正在被两种规则支配当你在Windows安装界面犹豫该"删除哪个分区"时,当你在Linux终端输入fdisk命令时,当你的Mac提示"磁盘无法初始化"时,这背...
- WinPE疑难解答(winpe进去后无法访问c盘)
-
在使用WinPE的过程中难免遇到这样那样的问题,我们收集了其中一些典型“症状”及其解决方式,希望能对大家的使用有所帮助。●winPE下找不到硬盘一般来讲,应该是PC打开了AHCI模式,现在很多版本的...
- 新一代多系统启动U盘解决方案Ventoy
-
一款几乎可以在所有情况下启动的U盘启动盘神器Ventoy简介简单来说,Ventoy是一个制作可启动U盘的开源工具。有了Ventoy你就无需反复地格式化U盘,你只需要把ISO/WIM/IMG/VHD...
- U盘制作PE启动盘可见分区格式化成哪种格式比较好?
-
制作U盘PE的时候,各种PE系统都有一个可见分区格式选项,这个可见分区格式成什么格式比较好呢?格式化成什么格式,这个只要了解这3种格式的特点就好选了。1:FAT32FAT32这种FAT格式,因为发展较...
- Win10预览版9879硬盘丢失的Linux解决方案
-
IT之家(www.ithome.com):Win10预览版9879硬盘丢失的Linux解决方案IT之家讯12月3日消息,最近IT之家论坛网友九仙仙总结了Win10预览版9879硬盘问题的解决方法,并...
- 只用U盘就能安装系统,教你怎么把系统放进U盘
-
你可曾想过,只用U盘就能安装系统,而且是随声携带的,走到哪里用上自己的系统,保护了自己的隐私,系统坏了,插上自己U盘系统,拷贝重要资料,也能轻松修复!来~小编教你怎么把系统放进U盘,下面介绍两种开源...
- 全干货!笔记本开箱验机测试全流程 经验分享
-
最近做了几期笔记本评测,今天专门写一遍关于新机拆箱验机测试流程,一些个人这方面的经验,共同分享交流。准备工具:1.一个不错的winpe,手中有现成的可以直接用,没有的话建议使用usbos或者edgel...
- 一周热门
- 最近发表
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- php小说爬取源码 (23)
- 云电脑app源码 (22)
- html画折线图 (24)
- docker好玩的应用 (28)
- linux有没有pe工具 (34)