首页 >> 网络安全 >>神兵利器 >> Nmap命令使用备忘单
详细内容

Nmap命令使用备忘单

Nmap(网络映射器),用于网络发现的端口扫描程序之神,以及在渗透测试的初始阶段进行大多数安全枚举的基础。该工具由Fyodor AKA Gordon Lyon编写和维护。


Nmap简而言之

  • 主机发现

  • 端口发现/枚举

  • 服务发现

  • 操作系统版本检测

  • 硬件(MAC)地址检测

  • 服务版本检测

  • 漏洞/利用漏洞检测,使用Nmap脚本(NSE)


Nmap示例

基本Nmap扫描示例,通常在枚举的第一阶段使用。

命令--描述

nmap -sP 10.0.0.0/24

Ping扫描网络,列出响应ping的计算机。


nmap -p 1-65535 -sV -sS -T4 target

完整的TCP端口扫描使用服务版本检测 - 通常是我的第一次扫描,我发现T4比T5更精确,仍然“非常快”。


nmap -v -sS -A -T4 target

打印详细输出,运行隐形syn扫描,T4计时,操作系统和版本检测+ traceroute和针对目标服务的脚本。


nmap -v -sS -A -T5 target

打印详细输出,运行隐形syn扫描,T5计时,操作系统和版本检测+ traceroute和针对目标服务的脚本。


nmap -v -sV -O -sS -T5 target

打印详细输出,运行隐形同步扫描,T5计时,操作系统和版本检测。


nmap -v -p 1-65535 -sV -O -sS -T4 target

打印详细输出,运行隐形syn扫描,T4计时,操作系统和版本检测+全端口范围扫描。


nmap -v -p 1-65535 -sV -O -sS -T5 target

打印详细输出,运行隐形同步扫描,T5定时,操作系统和版本检测+全端口范围扫描。


激进的扫描时间更快,但可能会产生不准确的结果!

T5使用非常激进的扫描时序并可能导致错过端口,如果您需要快速结果,T4是更好的折衷方案。


Nmap从文件扫描

命令-描述

nmap -iL ip-addresses.txt

扫描IP地址列表,您可以在之前/之后添加选项


Nmap输出格式

命令-描述

nmap -sV -p 139,445 -oG grep-output.txt 10.0.1.0/24

将“grepable”输出输出到文件,在此示例中为Netbios服务器。

例如,输出文件可以为“打开”格式化。


nmap -sS -sV -T5 10.0.1.99 --webxml -oX - | xsltproc --output file.html -

将nmap输出导出为HTML报告。


Nmap Netbios示例

命令-描述

nmap -sV -v -p 139,445 10.0.0.1/24

查找子网上的所有Netbios服务器


nmap -sU --script nbstat.nse -p 137 target

Nmap显示Netbios名称


nmap --script-args=unsafe=1 --script smb-check-vulns.nse -p 445 target

Nmap检查Netbios服务器是否容易受到MS08-067的攻击


--script-args = unsafe = 1有可能导致服务器/服务崩溃运行此命令时很糟糕。


Nmap Nikto Scan

命令-描述

nmap -p80 10.0.1.0/24 -oG - | nikto.pl -h -

扫描端口80上的http服务器,并通过管道进入Nikto进行扫描。


nmap -p80,443 10.0.1.0/24 -oG - | nikto.pl -h -

扫描端口80,443上的http / https服务器,并管道进入Nikto进行扫描。


Nmap Cheatsheet

目标规格

Nmap允许主机名,IP地址和子网。

例如blah.highon.coffee,nmap.org / 24,192.168.0.1; 10.0.0-255.1-254

命令-描述

-iL

inputfilename:从主机/网络列表输入


-iR

num hosts:选择随机目标


--exclude

host1 [,host2] [,host3],...:排除主机/网络


--excludefile

exclude_file:从文件中排除列表


主机发现

命令-描述

-sL

列表扫描 - 只列出要扫描的目标


-sn

Ping扫描 - 禁用端口扫描


-Pn

将所有主机视为在线 - 跳过主机发现


-PS/PA/PU/PY[portlist]

TCP SYN / ACK,UDP或SCTP发现到给定端口


-PE/PP/PM

ICMP echo,timestamp和netmask请求发现探测器


-PO[protocol list]

IP协议Ping


-n/-R

永远不要解析DNS /始终解决[默认:有时]


扫描技术

命令 描述

-sS  TCP SYN扫描

-sT  连接扫描

-sA  ACK扫描

-sW  窗口扫描

-sM  Maimon扫描


-sU  UDP扫描

-sN  TCP空扫描

-sF  FIN扫描

-sX  Xmas扫描

--scanflags 自定义TCP扫描标志

-sI zombie host[:probeport]   空闲扫描


-sY  SCTP INIT扫描

-sZ  COOKIE-ECHO扫描

-sO  IP协议扫描

 -b "FTP relay host"   FTP反弹扫描


端口规格和扫描顺序

命令 描述

-p

指定端口,例如-p80,443或-p1-65535


-p U:PORT

使用Nmap扫描UDP端口,例如-p U:53


-F

快速模式,扫描比默认扫描更少的端口


-r

连续扫描端口 - 不要随机化


--top-ports "number"

扫描“号码”最常见的端口


--port-ratio "ratio"

扫描端口比“比率”更常见


服务版本检测

命令 描述

-sV

探测开放端口以确定服务/版本信息


--version-intensity "level"

设置从0(亮)到9(尝试所有探针)


--version-light

限制为最可能的探针(强度2)


--version-all

尝试每一个探针(强度9)


--version-trace

显示详细版本扫描活动(用于调试)


脚本扫描

命令 描述

-sC

相当于--script = default


--script="Lua scripts"

“Lua脚本”是以逗号分隔的目录,脚本文件或脚本类别列表


--script-args=n1=v1,[n2=v2,...]

为脚本提供参数


-script-args-file=filename

在文件中提供NSE脚本args


--script-trace

显示发送和接收的所有数据


--script-updatedb

更新脚本数据库


--script-help="Lua scripts"

显示有关脚本的帮助


OS检测

命令 描述

-O

启用OS检测


--osscan-limit

将OS检测限制为有希望的目标


--osscan-guess

更积极地猜测操作系统


间和性能

采用TIME的选项以秒为单位,或者将“ms”(毫秒),“s”(秒),“m”(分钟)或“h”(小时)附加到值(例如30)。

命令 描述

-T 0-5   设置时序模板 - 更高更快(不太准确)

--min-hostgroup SIZE  并行主机扫描组大小

--max-hostgroup SIZE  并行主机扫描组大小

--min-parallelism NUMPROBES  探针并行化

--max-parallelism NUMPROBES  探针并行化

--min-rtt-timeout TIME  指定探测往返时间

--max-rtt-timeout TIME  指定探测往返时间

--initial-rtt-timeout TIME  指定探测往返时间

--max-retries TRIES  端口扫描探测重传的上限数量

--host-timeout TIME  这么长时间后放弃目标

--scan-delay TIME  调整探针之间的延迟

--max-scan-delay TIME 调整探针之间的延迟

--min-rate NUMBER 发送数据包的速度不低于每秒NUMBER

--max-rate NUMBER 发送数据包的速度不会超过每秒NUMBER


防火墙IDS Evasion和Spoofing

命令 描述

-f; --mtu VALUE

片段包(可选择具有给定的MTU)


-D decoy1,decoy2,ME

用诱饵披露扫描


-S IP-ADDRESS

欺骗源地址


-e IFACE

使用指定的接口


-g PORTNUM

--source-port PORTNUM

使用给定的端口号


--proxies url1,[url2],...

通过HTTP / SOCKS4代理中继连接


--data-length NUM

将随机数据附加到已发送的数据包


--ip-options OPTIONS

使用指定的ip选项发送数据包


--ttl VALUE

将IP时间设置为实时字段


--spoof-mac ADDR/PREFIX/VENDOR

欺骗NMAP MAC地址


--badsum

使用伪TCP / UDP / SCTP校验和发送数据包


Nmap输出选项

命令 描述

-oN  输出正常

-oX  输出到XML

-oG 输出greppable - 易于grep nmap输出

-oA BASENAME  一次输出三种主要格式

-v  增加详细级别使用-vv或更高级别以获得更好的效果

-d  增加调试级别使用-dd或更多以获得更好的效果

--reason 显示端口处于特定状态的原因

--open 仅显示打开或可能打开的端口

--packet-trace 显示发送/接收的所有数据包

--iflist 打印主机接口和路由以进行调试

--log-errors 将错误/警告记录到普通格式的输出文件中

--append-output  附加到而不是clobber指定的输出文件

--resume FILENAME   恢复中止扫描

--stylesheet PATH/URL   XSL样式表将XML输出转换为HTML

--webxml  从Nmap.Org引用样式表以获得更多可移植XML

--no-stylesheet  防止与XML输出相关联的XSL样式表


其他Nmap选项

命令 描述

-6

启用IPv6扫描


-A

启用操作系统检测,版本检测,脚本扫描和跟踪路由


--datedir DIRNAME

指定自定义Nmap数据文件位置


--send-eth

--send-ip

使用原始以太网帧或IP数据包发送


--privileged

假设用户具有完全特权


--unprivileged

假设用户缺少原始套接字权限


-V

显示nmap版本号


-h

显示nmap帮助屏幕

技术支持: 建站ABC | 管理登录