Nmap使用手册

简介

  • NmapNetwork Mapper)是一款开放源代码的网络探测和安全审核的工具。
  • Nmap以新颖的方式使用原始IP报文来发现网络上有一些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),它们使用什么类型的报文过滤器/防火墙,以及一堆其他功能。

参数

指定目标

参数 输入 作用
-iL <inputfilename> 从文件列表中读取目
-iR <num hosts> 选择随机目标
--exclude <host1[,host2,host3],...> 排除指定主机
--excludefile <exclude_file> 排除文件列表中目标

主机发现

参数 输入 作用
-sL NULL 列出要扫描的目标
-sn NULL 不进行端口扫描
-Pn NULL 跳过主机发现
-PS/PA/PU/PY NULL 使用TCP SYN/ACKUDPSCTP协议发现端口
-PO NULL 使用IP协议的Ping探测
-n/-R NULL (不)做DNS解析
--dns-servers <serv1[,serv2],...> 指定DNS服务器
--system-dns NULL 使用操作系统的DNS解析
--traceroute NULL 跟踪到主机的每一跳

扫描技术

参数 输入 作用
-sS/sT/sA/sW/sM NULL 使用TCPSYNConnect()ACKWindowMaimon进行扫描
-sU NULL 使用UDP扫描
-sN/sF/sX NULL 使用TCP NullFINXmas扫描
--scanflags <flags> 自定义TCP扫描的flags
-sI <zombie host[:probeport]> 扫描僵尸机
-sY/sZ NULL 使用SCTP协议的INIT/COOKIE-ECHO扫描
-s0 NULL 进行IP协议扫描
-b <FTP relay host> 指定FTP中继主机进行FTP反弹扫描

端口说明和扫描规则

参数 输入 作用
--exclude-ports NULL 不对此端口进行扫描
-F NULL 快速模式,扫描比默认端口数量更少的端口
-r NULL 有序地扫描端口而不是随机地扫描
--top-ports <number> 扫描排名指定的数字前几位的最常用的端口
--port-ratio <ratio> 扫描比输入的比例更常用的端口

服务/版本探测

参数 输入 作用
-sV NULL 探测开启的端口来获取服务、版本信息
--version-intensity <level> 设置探测服务、版本信息的强度
--version-light NULL 强度为2的探测强度
--version-all NULL 强度为9的探测强度
--version-trace NULL 将扫描的具体过程显示出来

脚本扫描

参数 输入 作用
-sC NULL 等同于–script=default
--script= <Lua scripts> 指定使用Lua脚本进行扫描
--script-args= <n1=v1,[n2=v2,...]> 指定脚本的参数
--script-args-file= filename 指定提供脚本参数的文件
--script-trace NULL 显示全部发送和收到的数据
--script-updatedb NULL 更新脚本的数据库
--script-help= <Lua scripts> 显示脚本的相关信息

系统探测

参数 输入 作用
-O NULL 进行系统探测
--osscan-limit NULL 限制系统探测的目标,如只探测Linux系统
--osscan-guess NULL 更侵略性地猜测系统

定时和性能

参数 输入 作用
-T <0-5> 设置时序模块,越高越快
--min-hostgroup/max-hostgroup <size> 指定最小、最大的并行主机扫描组大小
--min-parallelism/max-parallelism <numprobes> 指定最小、最大并行探测数量
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time> 指定最小、最大的扫描往返时间
--max-retries <tries> 指定最大的重发扫描包的次数
--host-timeout <time> 指定超时时间
--scan-delay/--max-scan-delay <time> 指定每次探测延迟多长时间,即两次探测之间间隔多少时间
--min-rate <number> 最小的发包速率
--max-rate <number> 最大的发包速率

防火墙、IDS绕过和欺骗

参数 输入 作用
-f; --mtu <val> 设置MTU最大传输单元
-D <decoy1,decoy2[,ME],...> 伪造多个IP地址和源地址一同发送包,从而隐藏在众多的IP地址中而不易被发现
-S <IP_Address> 伪造源地址
-e <iface> 使用指定的接口
-g/--source-port <portnum> 使用指定的源端口
--proxies <url1,[url2],...> 指定代理服务器进行扫描
--data <hex string> 在发送包的数据字段中追加自定义的十六进制字符串
--data-string <string> 在发送包的数据字段中追加自定义的ASCII字符串
--data-length <num> 在发送包的数据字段中追加随机的数据
--ip-options <options> 使用指定的IP选项发送包
--ttl <val> 设置TTL
--spoof-mac <mac address/prefix/vendor name> 伪造源Mac地址
--badsum NULL 发送伪造TCP/UDP/SCTP校验和Checksum的数据包

杂项

参数 输入 作用
-6 NULL 扫描IPv6的地址
-A NULL 一次扫描包含系统探测、版本探测、脚本扫描和跟踪扫描
--datadir <dirname> 指定自定义的nmap数据文件位置
--send-eth/--send-ip NULL 使用原始以太网帧或IP数据包发送
--privileged NULL 假设用户有全部权限
--unprivileged NULL 假设用户缺少原始套接字权限
-V NULL 输出版本号
-h NULL 输出帮助信息

应用

全面扫描

nmap -A <target>

获取系统类型和开放端口

nmap -sS -P0 -sV -O <target>
  • -sS使用TCP SYN扫描,即半开放扫描。
  • -P0不使用Ping
  • -sV进行版本检测。
  • -O识别操作系统。

扫描UDP端口

nmap -sS -sU -T4 -top-ports <num> <target>
  • -sU指定扫描UDP端口。
  • -T4设置时间级别为4
  • --top-ports筛选最有可能开放的num个端口。

__EOF__

本文作者ch3uhx9
本文链接https://www.cnblogs.com/cheuhxg/p/14586393.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   CH3UHX9  阅读(257)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示