Nmap使用指北

2021-12-19 12:56:37 浏览数 (1)

一、前言:

Nmap是一个非常实用的网络连接端扫描软件,适用于Linux、Windows、Mac三大主流平台。用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全

二、主机发现:

1.全面扫描/综合扫描

代码语言:javascript复制
nmap -A 192.168.242.1 

2.Ping扫描

代码语言:javascript复制
nmap -sP 192.168.242.1/24

3.免ping扫描,穿透防火墙,避免被防火墙发现

代码语言:javascript复制
nmap -P0 192.168.242.1

4.TCP SYN Ping扫描

代码语言:javascript复制
nmap -PS -v 192.168.242.135

nmap -PS80()端口,10-100 -v 192.168.242.135 (针对防火墙丢弃RST包)

5.TCP ACK Ping 扫描

代码语言:javascript复制
nmap -PA -v 192.168.242.135
  1. UDP Ping 扫描
代码语言:javascript复制
nmap -PU -v 192.168.242.135
  1. ICMP Ping Types 扫描
代码语言:javascript复制
nmap -PU -v 192.168.242.135 (ICMP ECHO)
nmap -PP -v 192.168.242.135 (ICMP 时间戳)
nmap -PM -v 192.168.242.135 (ICMP 地址掩码)
  1. ARP Ping 扫描
代码语言:javascript复制
nmap -PR -v 192.168.242.1
  1. 列表扫描
代码语言:javascript复制
nmap -sL -v 192.168.242.1

10.禁止方向域名解析

代码语言:javascript复制
nmap -n -sL -v 192.168.242.1
  1. 方向域名解析
代码语言:javascript复制
nmap -R -sL -v 192.168.242.1
  1. 使用系统域名解析系统
代码语言:javascript复制
nmap --system-dns 192.168.242.1 192.168.242.135
  1. 扫描IPV6 地址
代码语言:javascript复制
nmap -6 IPv6
  1. 路由跟踪
代码语言:javascript复制
nmap --traceroute -v www.sunbridgegroup.com
  1. SCTP INIT Ping 扫描
代码语言:javascript复制
nmap -PY -v 192.168.1.103

三、端口扫描

  1. 时序扫描
代码语言:javascript复制
nmap -T(0-5) 192.168.242.1
  1. 常用扫描方式
代码语言:javascript复制
nmap -P 80 192.168.242.1
nmap -P 80-100 192.168.242.1
nmap -P T:80,U:445 192.168.242.135
nmap -F 192.168.242.135 (快速扫描)
nmap --top-ports 200 192.168.242.1 (扫描最有用的前200 个端口)
  1. TCP SYN 扫描(高效的扫描方式)
代码语言:javascript复制
nmap -sS -v 192.168.242.135
  1. TCP 连接扫描
代码语言:javascript复制
nmap -sT -v 192.168.242.1
  1. UDP 连接扫描
代码语言:javascript复制
nmap -sU -p 80-100 192.168.242.135
  1. 隐蔽扫描
代码语言:javascript复制
nmap -sN 61.241.194.153(NULL 扫描)
nmap -sF 61.241.194.153(FIN 扫描)
nmap -sX 61.241.194.153(Xmas 扫描)
  1. TCP ACK 扫描
代码语言:javascript复制
nmap -sA 192.168.242.1
  1. TCP 窗口扫描
代码语言:javascript复制
nmap -sW -v -F 192.168.242.1
  1. TCP Maimon 扫描
代码语言:javascript复制
nmap -sM -T4 192.168.242.135
  1. 自定义扫描
代码语言:javascript复制
nmap -sT --scanflags SYNURG 192.168.242.1
  1. 空闲扫描( 隐藏IP )
代码语言:javascript复制
nmap -sI www.0day.co:80 192.168.242.1
  1. IP 协议扫描
代码语言:javascript复制
nmap -sO -T4 192.168.242.1

四、指纹识别与探测

  1. 版本探测
代码语言:javascript复制
nmap -sV 192.168.242.135nmap -sV -A 192.168.241.135
  1. 全端口版本探测
代码语言:javascript复制
nmap -sV --allports 192.168.242.135
  1. 设置扫描强度
代码语言:javascript复制
nmap -sV --version-intensity (0-9) 192.168.242.135
  1. 轻量级扫描
代码语言:javascript复制
nmap -sV --version-light 2 192.168.242.135
  1. 重量级扫描
代码语言:javascript复制
nmap -sV --version-all 192.168.242.135
  1. 获取详细版本信息
代码语言:javascript复制
nmap -sV --version-trace 192.168.242.135
  1. RPC 扫描
代码语言:javascript复制
nmap -sS -sR 192.168.242.135
  1. 对指定的目标进行操作系统监测
代码语言:javascript复制
nmap -O --osscan-limit 192.168.242.1
  1. 推测系统并识别
代码语言:javascript复制
nmap -O --osscan-guess 192.168.242.1

五、伺机而动

  1. 调整并行扫描组的大小
代码语言:javascript复制
nmap --min-hostgroup 30 192.168.242.1/24
nmap --max-hostgroup 30 902 192.168.242.1
  1. 调整探测报文的并行度
代码语言:javascript复制
nmap --min-parallelism 100 192.168.242.1
nmap --max-parallelism 100 192.168.242.1
  1. 调整探测报文超时
代码语言:javascript复制
nmap --initial-rtt-timeout 100ms 192.168.242.1
nmap --max-rtt-timeout 100ms 192.168.242.1
nmap --min-rtt-timeout 100ms 192.168.242.1
  1. 放弃缓慢的目标主机
代码语言:javascript复制
nmap --host-timeout 1800000ms 192.168.242.1
  1. 调整报文适合时间间隔
代码语言:javascript复制
nmap --scan-delay 1s 192.168.242.1
nmap --max-scan-delay 1s 192.168.242.1

六、防火墙/IDS 逃逸

  1. 报文分段
代码语言:javascript复制
nmap -f -v 61.241.194.153
  1. 指定偏移大小
代码语言:javascript复制
nmap --mtu 16 192.168.242.1
  1. IP 欺骗
代码语言:javascript复制
nmap -D RND:11 192.168.1.104
nmap -D 192.168.1.104,192.168.1.103,192.168.1.101 192.168.1.104
  1. 源地址欺骗
代码语言:javascript复制
nmap -sI www.0day.cn:80 192.168.1.104
  1. 源端口欺骗
代码语言:javascript复制
nmap --source-port 902 192.168.1.104
  1. 指定发包长度
代码语言:javascript复制
nmap --data-length 30 192.168.1.104
  1. 目标主机随机排序
代码语言:javascript复制
nmap --randomize-hosts 192.168.1.104
  1. MAX 地址欺骗
代码语言:javascript复制
nmap -sT -Pn --spoof-mac 0 192.168.1.104

七、信息收集

  1. IP 信息收集
代码语言:javascript复制
nmap --script ip-geolocation-* www.bbskali.cn
  1. WHOIS 查询
代码语言:javascript复制
nmap --script whois-domain www.pcos.cn
nmap --script whois-domain --script-args whois.whodb=nofollow
www.ithome.com
nmap -sn --script whois-domain -v -iL host.txt
  1. IP 反查
代码语言:javascript复制
nmap -sn --script hostmap-ip2hosts www.bbskali.cn
  1. DNS 信息收集
代码语言:javascript复制
nmap --script dns-brute www.bbskali.cn
nmap --script dns-brute dns-brute.threads=10 www.bbskali.cn
nmap --script dns-brute dns-brute.threads=10,dns-brute.hostlis
www.bbskali.cn
  1. 检索系统信息
代码语言:javascript复制
nmap -p 445 445 192.168.1.104 --script membase-http-info
  1. 后台打印机服务漏洞
代码语言:javascript复制
nmap --script smb-security-mode.nse -p 445 119.29.155.45
  1. 系统漏洞扫描
代码语言:javascript复制
nmap --script smb-check-vulns.nse -p 445 119.29.155.45

9.扫描Web 漏洞

代码语言:javascript复制
nmap -p80 --script http-stored-xss.nse/http-sql-injection.nse 119.29.155.45
  1. 通过Snmp 列举Windows 服务/账户
代码语言:javascript复制
nmap -sU -p 161 --script=snmp-win32-services 192.168.1.104
nmap -sU -f -p 161 --script=snmp-win32-users 192.168.1.110
  1. 枚举DNS 服务器的主机名
代码语言:javascript复制
nmap --script dns-brute --script-args dns-brute.domain=baidu.com
  1. HTTP 信息收集
代码语言:javascript复制
nmap -sV -p 80 www.0day.com (HTTP 版本探测)
nmap -p 80 --script=http-headers www.pcos.cn (HTTP 信息头探测)
nmap -p 80 --script=http-sitemap-generator www.pcos.cn (爬行Web 目录结构)
  1. 枚举SSL 密钥
代码语言:javascript复制
nmap -p 443 --script=ssl-enum-ciphers www.baidu.com
  1. SSH 服务密钥信息探测
代码语言:javascript复制
nmap -p 22 --script ssh-hostkey --script-args ssh_hostkey=full 127.0.0.1

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/1921479

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

0 人点赞