Nmap
Nmap备忘单 抄自大佬博客,增加了一些细节
目标规格
开关 | 例 | 描述 |
---|
| nmap 192.168.1.1 | 扫描一个ip地址 |
| namp 192.168.1.1 192.168.2.1 | 扫描特定的ip地址 |
| nmap 192.168.1.1-254 | 扫描一个范围 |
| namp www.xxx.com | 扫描一个域名 |
| nmap 192.168.1.0/24 | 使用CIDR表示法进行扫描 |
-iL | namp -iL target.txt | 从文件扫描目标 |
-iR | nmap -iR 100 | 扫描100个随机主机 |
–exclude | nmap --exclude 192.168.1.1 | 排除列出的主机 |
扫描技术
开关 | 例 | 描述 |
---|
-sS | namp 192.168.1.1 -sS | TCP SYN端口扫描 |
-sT | nmap 192.168.1.1 -sT | TCP连接端口扫描(默认无root权限) |
-sU | nmap 192.168.1.1 -sU | UDP端口扫描 |
-sA | namp 192.168.1.1 -sA | TCP ACK端口扫描 |
-sW | namp 192.168.1.1 -sW | TCP窗口端口扫描 |
-sM | namp 192.168.1.1 -sM | TCP Minon端口扫描MinIO简介 |
主机发现
开关 | 例 | 描述 |
---|
-sL | nmap 192.168.1.1-3 -sL | 没有扫描,只列出目标 |
-sn | nmap 192.168.1.1/24 -sn | 禁用端口扫描,仅主机发现 |
-Pn | nmap 192.168.1.1-5 -Pn | 禁用主机发现,仅限端口扫描 |
-PS | nmap 192.168.1.1-5 -PS 22-25,80 | 端口x上的TCP SYN发现,端口80默认 |
-PA | nmap 192.168.1.1-5 -PA 22-25,80 | 端口x上的TCP ACK发现,端口80默认 |
-PU | nmap 192.168.1.1-5 -PU 53 | 端口x上的UDP发现,端口40125默认 |
-PR | nmap 192.168.1.1-1 /24 -PR | 本地网络上的ARP发现 |
-n | nmap 192.168.1.1 -n | 永远不做DNS解析 |
端口规格
开关 | 例 | 描述 |
---|
-p | nmap 192.168.1.1 -p 21 | 端口x的端口扫描 |
-p | nmap 192.168.1.1 -p 21-100 | 端口范围 |
-p | nmap 192.168.1.1 -p U: 53, T: 21-25,80 | 端口扫描多个TCP和UDP端口 |
-p- | nmap 192.168.1.1 -p- | 端口扫描所有端口 |
-p | nmap 192.168.1.1 -p http, https | 服务名称的端口扫描 |
-F | nmap 192.168.1.1 -F | 快速端口扫描(100端口) |
–top-ports | nmap 192.168.1.1 --top-ports 2000 | 扫描top x 的端口 |
-p-65535 | nmap 192.168.1.1 -p-65535 | 范围内的初始端口,使扫描从端口1开始(从端口1扫描到65535) |
服务器和版本检测
开关 | 例 | 描述 |
---|
-sV | nmap 192.168.1.1 -sV | 尝试确定在端口上运行的服务的版本 |
-sV–version-intensity | nmap 192.168.1.1 -sV --version-intensity 8 | 强度等级0到9,数字越大,可能性越大 |
-sV --version-ligth | nmap 192.168.1.1 -sV --version-light | 启用灯光模式,正确的可能性较低,更快 |
-sV --version-all | nmap 192.168.1.1 -sV --version-all | 启用强度级别9,更高的正确率,比较慢 |
-A | nmap 192.168.1.1 -A | 启用操作系统检测,版本检测,脚本扫描和路由跟踪 |
OS检测
开关 | 例 | 描述 |
---|
-O | nmap 192.168.1.1 -O | 使用TCP / IP 堆栈指纹识别进行远程操作系统检测 |
-O --osscan-limit | nmap 192.168.1.1 -O --osscan-limit | 如果至少有一个打开的和一个关闭的 TCP端口没有找到,不会尝试对主机进行操作系统检测 |
-O --osscan-guess | nmap 192.168.1.1 -O --osscan-guess | 使Nmap更积极地猜测 |
-O -max-os-tries | nmap 192.168.1.1 -O --max-os-tries 1 | 根据目标设置操作系统检测尝试的最大次数x |
时机和性能
开关 | 例 | 描述 |
---|
-T0 | nmap 192.168.1.1 -T0 | 偏执(0)入侵检测 系统逃避 |
-T1 | nmap 192.168.1.1 -T1 | 偷偷摸摸(1)规避入侵检测系统 |
-T2 | nmap 192.168.1.1 -T2 | 礼让(2)减慢扫描,以使用更少的带宽,并使用更少的目标机器资源 |
-T3 | nmap 192.168.1.1 -T3 | 正常(3)默认速度 |
-T4 | nmap 192.168.1.1 -T4 | 积极的(4)速度扫描,假设你在一个相当快速和可靠的网络上 |
-T5 | nmap 192.168.1.1 -T5 | 疯狂(5)速度扫描,假设你在一个非常快的网络 |
NSE脚本
开关 | 例 | 描述 |
---|
-sC | nmap 192.168.1.1 -sC | 使用默认的NSE脚本进行扫描。认为有用的发现和安全 |
–script=default | nmap 192.168.1.1 --script=default | 使用默认的NSE脚本进行扫描。认为有用的发现和安全 |
–script = banner | nmap 192.168.1.1 --script = banner | 用一个脚本扫描。示例banner |
–script = http * | nmap 192.168.1.1 --script = http * | 使用通配符进行扫描。示例http* |
–script = http, banner | nmap 192.168.1.1 --script = http, banner | 用两个脚本扫描。示例http和banner |
–script-ARGS | nmap --script snmp-sysdescr --script-args snmpcommunity = admin 192.168.1.1 | 带参数的NSE脚本 |
常用NES脚本示例
命令 | 描述 |
---|
nmap -Pn --script = http-sitemap-generator scanme.nmap.org | http站点地图生成器 |
nmap -n -Pn -p 80 - 打开-sV -vvv --script = banner,http-title -iR 1000 | 快速搜索随机Web服务器 |
nmap -Pn --script = dns-brute domain.com | 暴力强制DNS主机名猜测子域名 |
nmap -n -Pn -vv -O -sV -script smb-enum *,smb-ls,smb-mbenum,smb-os-discovery,smb-s *,smb-vuln *,smbv2 * -vv 192.168.1.1 | 安全的SMB脚本运行 |
namp --script whois * domain.com | Whois查询 |
nmap -p80 --script http-unsafe-output-escaping scanme.nmap.org | 检测跨站脚本漏洞 |
nmap -p80 --script http-sql-injection scanme.nmap.org | 检查SQL注入 |
防火墙/IDS逃避和欺骗
开关 | 例 | 描述 |
---|
-f | nmap 192.168.1.1 -f | 请求的扫描(包括ping扫描)使用微小的碎片IP数据包。更难包过滤器 |
–mtu | nmap 192.168.1.1 --mtu 32 | 自定义数据包字节大小 |
-D | nmap -D 192.168.1.101,192.168.1.102,192.168.1.103,192.168.1.23 192.168.1.1 | 从欺骗IP发送扫描 |
-D | nmap -D decoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ip | 上面例子的解释 |
-S | nmap -S www.microsoft.com www.facebook.com | 从微软扫描Facebook(-e eth0 -Pn可能是必需的)(使得目标认为是另 一个地址在进行扫描) |
-g | nmap -g 53 192.168.1.1 | 使用给定的源端口号 |
–proxyies | nmap --proxy http://127.0.0.1:8080 192.168.1.1
nmap --proxyies http://127.0.0.1:8080 http://192.168.1.2 192.168.1.1 | 通过HTTP / SOCKS4代理中继连接 |
–data-length | nmap --data-length 200 192.168.1.1 | 将随机数据追加到发送的数据包中 |
示例IDS Evasion命令
nmap -f -t 0 -n -Pn -data-length 200 -D 192.168.1.101,192.168.1.102,192.168.1.103,192.168.1.23 192.168.1.1