Nmap,全称为"Network Mapper"(网络映射器),是一个开源的网络探测和安全审核工具,广泛用于网络安全领域。以下是Nmap的一些关键特性和用途:
1. 网络发现:Nmap能够快速扫描大型网络,识别网络上的活跃主机。
2. 端口扫描:它可以检测目标主机上开放的端口,以及这些端口上运行的服务。
3. 服务识别:Nmap可以确定运行在开放端口上的应用程序名称和版本。
4. 操作系统检测:它能够推断目标主机的操作系统及其版本。
5. 防火墙规避:Nmap提供了多种技术来规避防火墙和入侵检测系统。
6. 脚本引擎:Nmap Scripting Engine(NSE)允许用户执行自定义脚本,用于各种目的,如检测漏洞、收集信息等。
7. 数据包生成和响应分析:Nmap可以发送各种类型的数据包,并分析响应,以确定网络的特性。
8. 多平台支持:Nmap可在多种操作系统上运行,包括Linux、Windows、Mac OS X等。
9. 用户界面:除了命令行界面,Nmap还提供了图形用户界面Zenmap,使得操作更为直观。
10. 免费和开源:Nmap是免费提供的,并且带有完整的源代码,用户可以自由地使用、修改和重新分发。
11. 文档和社区支持:Nmap有详尽的文档和活跃的社区支持,用户可以通过邮件列表、IRC频道、社交媒体等途径获得帮助。
12. 法律和道德使用:重要的是,Nmap的使用应遵守法律和道德准则,仅在获得授权的情况下对网络进行扫描。
Nmap因其强大的功能和灵活性,被网络安全专业人员、系统管理员、渗透测试人员以及安全研究人员广泛使用,以评估网络的安全状况和识别潜在的安全隐患。
以下是部分命令,nmap命令格式基本为"nmap <其他>"。
部分命令:
-iL <输入文件> :从指定的文件中读取目标主机列表或网络范围。
-iR <数量> :随机选择指定数量的主机进行扫描。
--exclude <主机1[,主机2][,主机3],...> :在扫描过程中排除指定的主机或网络。
--excludefile <排除文件> :从文件中读取排除列表。
-sL :列表扫描,仅列出要扫描的目标。
-sn :Ping扫描,禁用端口扫描,只确定哪些主机在线。
-Pn :假定所有主机都在线,跳过主机发现。
-PS/PA/PU/PY <端口列表> :使用TCP SYN/ACK、UDP或SCTP探测指定端口。
-PE/PP/PM :使用ICMP回显请求、时间戳和网络掩码请求进行主机发现。
-PO<协议列表> :IP协议Ping。
-n/-R :从不进行DNS解析/总是进行DNS解析。
--dns-servers <服务器1[,服务器2],...> :指定自定义DNS服务器。
--system-dns :使用操作系统的DNS解析器。
--traceroute :追踪到每个主机的路径。
-sS/sT/sA/sW/sM :TCP SYN/Connect()/ACK/窗口/Maimon扫描。
-sU :UDP扫描。
-sN/sF/sX :TCP Null, FIN, 和 Xmas扫描。
--scanflags <标志> :自定义TCP扫描标志。
-sI <僵尸主机[:探测端口]> :空闲扫描。
-sY/sZ :SCTP INIT/COOKIE-ECHO扫描。
-sO :IP协议扫描。
-b <FTP中继主机> :FTP反弹扫描。
-p <端口范围> :只扫描指定的端口范围。
--exclude-ports <端口范围> :从扫描中排除指定的端口范围。
-F :快速模式,扫描比默认更少的端口。
-r :按顺序扫描端口,不随机化。
--top-ports <数量> :扫描最常见的指定数量的端口。
--port-ratio <比例> :扫描比指定比例更常见的端口。
-sV :探测开放端口以确定服务或版本信息。
--version-intensity <级别> :设置从0(轻)到9(尝试所有探测)的版本探测强度。
--version-light :限制为最可能的探测(强度2)。
--version-all :尝试每一个探测(强度9)。
--version-trace :显示详细的版本扫描活动(用于调试)。
-sC :等同于 --script=default 。
--script=<Lua脚本> :指定要运行的Lua脚本列表。
--script-args=<n1=v1,[n2=v2,...]> :为脚本提供参数。
--script-args-file=<文件名> :在文件中提供NSE脚本参数。
--script-trace :显示所有发送和接收的数据。
--script-updatedb :更新脚本数据库。
--script-help=<Lua脚本> :显示有关脚本的帮助。
-O :启用操作系统检测。
--osscan-limit :限制只在有希望的目标上进行操作系统检测。
--osscan-guess :更积极地猜测操作系统。
-T<0-5> :设置定时模板(数值越高,速度越快)。
--min-hostgroup/max-hostgroup <大小> :并行主机扫描组的大小。
--min-parallelism/max-parallelism <探测数> :探测的并行化。
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <时间> :指定探测往返时间。
--max-retries <尝试次数> :限制端口扫描探测的重传次数。
--host-timeout <时间> :在指定时间后放弃目标。
--scan-delay/--max-scan-delay <时间> :调整探测之间的延迟。
--min-rate <数量> :每秒发送数据包的最小速度。
--max-rate <数量> :每秒发送数据包的最大速度。
-f :分段数据包。
-D <诱饵1,诱饵2[,ME],...> :使用诱饵进行扫描。
-S <IP地址> :源地址欺骗。
-e <接口> :使用指定的网络接口。
-g/--source-port <端口号> :使用指定的端口号。
--proxies <url1,[url2],...> :通过HTTP/SOCKS4代理中继连接。
--data <十六进制字符串> :附加自定义负载到发送的数据包。
--data-string <字符串> :附加自定义ASCII字符串到发送的数据包。
--data-length <数字> :附加随机数据到发送的数据包。
--ip-options <选项> :发送带有指定IP选项的数据包。
--ttl <值> :设置IP数据包的TTL字段。
--spoof-mac <MAC地址/前缀/供应商名称> :欺骗MAC地址。
--badsum :发送带有错误TCP/UDP/SCTP校验和的数据包。
-oN/-oX/-oS/-oG <文件> :以普通、XML、s|<rIpt kIddi3、和Grepable格式输出扫描结果到指定文件。
-oA <基名> :一次性输出三种主要格式的结果。
-v :增加详细程度。
-d :增加调试级别。
--reason :显示端口处于特定状态的原因。
--open :仅显示开放(或可能开放)的端口。
--packet-trace :显示所有发送和接收的数据包。
--iflist :打印主机接口和路由(用于调试)。
--append-output :追加到指定的输出文件,而不是覆盖。
--resume <文件名> :恢复中断的扫描。
--noninteractive :禁用通过键盘进行的运行时交互。
--stylesheet <路径/URL> :XSL样式表,用于将XML输出转换为HTML。
--webxml :从Nmap.Org引用样式表,以获得更便携的XML。
--no-stylesheet :防止将XSL样式表与XML输出关联。
-6 :启用IPv6扫描。
-A :启用操作系统检测、版本检测、脚本扫描和traceroute。
--datadir <目录名> :指定自定义Nmap数据文件位置。
--send-eth/--send-ip :使用原始以太网帧或IP数据包发送。
--privileged :假设用户具有完全权限。
--unprivileged :假设用户没有原始套接字权限。
-V :打印版本号。
-h :打印帮助摘要页面。
希望对你有所帮助,不过别白嫖,点个免费的赞吧,这对我很重要。