NMAP常见命令总结

文章目录

    • 主机发现
    • 端口扫描
    • 指纹识别与探测
      • 操作系统探测
    • 防火墙/IDS(入侵检测)逃逸
    • 保存和输出

主机发现

  • nmap -A baidu.com:全面扫描

  • nmap 127.0.0.1-200:扫描一个C段

  • nmap baidu.com :进行一个快速的扫描

  • Ping扫描:

    • 只进行ping,然后显示出在线的主机
    • 主机发现:
    • nmap -sP 192.168.126.131/24
  • 无Ping扫描:

    • 常用于防火墙禁止ping的情况下

    • nmap -P0 192.168.121.32

    • 可以手动设置扫描的协议

      如:

      TCP:对应协议编号为6。
      ICMP:对应协议编号为1
      IGMP:对应协议编号为2
      UDP:对应协议编号为17
      
    • 用TCP,UDP,IGMP协议向目标主机发包判断是否存活;

      • nmap -p06,17,2 192.168.121.1/24

      (默认用的为1,2,4)

  • TCP SYN扫描

    • nmap -PS -v 192.168.21.1
    • 通常情况下Nmap 默认ping扫描是使用TCP ACK和ICMP Echo请求对目标进行扫描.目标主机的防火墙阻止这些请求时,可以用TCP SYN Ping扫描进行对目标主机存活的判断
    • 指定端口范围进行的扫描nmap -PS80,100-200 -v 192.168.21.1

NMAP常见命令总结_第1张图片

  • TCP ACK Ping扫描

    使用-PA选项可以进行TCP ACK Ping扫描,它与TCP SYN Ping扫描是非常类似的,唯一的区别是设置TCP的标志位是ACK而不是SYN,使用这种方式扫描可以探测阻止:SYN包或ICMP Echo请求的主机。很多防火墙会封锁SYN报文,所以Nmap提供了TCP SYN Ping扫描与TCP ACK Ping扫描两种探测方式,这两种方式可以极大地提高通过防火墙的概率,我们还可以同时使用-PS与-PA来既发送SYN又发送ACK。在使用TCP ACK Ping扫描时,Nmap 会发送一一个ACK标志的TCP包给目标主机,如果目标主机不是存活状态则不响应该请求,如果目标主机在线则会返回一个RST包。

    • nmap -PA 192.168.21.1
    • nmap -PA -PS -v 192.168.21.1两种一起用
  • UDP Ping 扫描

    • nmap -PU 192.168.21.1
  • ARP Ping 扫描

    • 通常在扫描局域网时使用,内网使用ARP Ping扫描方式是最有效的
    • nmap 默认情况下扫描局域网内的主机会使用ARP扫描,即使指定了-PS等
    • nmap -PR 192.168.21.1-200
  • 列表扫描 -sL 不知道有啥用

  • 禁止反向域名解析 -n

    该选项很少使用,如果是对–台有域名绑定的服务器通常不会使用该选项;
    如果是单纯扫描一-段IP, 使用该选项可以大幅度减少目标主机的相应时间,从而更快地得到结果。

  • 反向域名解析

    • -R选项意为反向解析城名,使用该选项时Nmap永远对目标IP地址作反向域名解析。

    该选项多用于绑定域名的服务器主机上,该选项的使用便于我们了解目标的详细信息。例如,在扫描一个C段的时候,我们更加清楚在哪- - 段IP上存在哪些网站。

  • 扫描IPV6

    • nmap -6 fe80::1c98:68e:303d:496a

IPv6将会逐渐替换IPv4,但在一段相当长的时间内,IPv4 还会大量地存在。后面章节演示的IP则都是IPv4地址,如果需要扫描IPv6地址,则需要在每个语句的IPv6目标地址前面加上-6选项。

  • –traceroute 路由跟踪
    • nmap --traceroute -v baidu.com
      NMAP常见命令总结_第2张图片

端口扫描

  • 所有的扫描选项都是以-s形式出现的

  • ACK -sA | UDP -sU

  • 端口六个状态

    • open(开放的)
    • closed(关闭的) 关闭的关口是可访问的
    • filtered(被过滤的) 建议再次扫描
    • unfiltered(未被过滤的) 未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。
    • open|filtered(开放或者被过滤的) 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃 了探测报文或者它引发的任何响应。因此Nmap无法确定该端口是开放的还是被过滤的。
    • closed|filtered(关闭或者被过滤的) 该状态用于Nmap不能确定端口是关闭的还是被过滤的。 它只可能出现在IPID Idle扫描中。
  • 时序选项

在Nmap中使用-T (0-5)可以启用时序选项,对于时序选项这里有0~5不同的选项。

IDS:入侵检测系统

-T0 (偏执的):非常慢的扫描,用于IDS逃避。
-T1 (鬼祟的):缓慢的扫描,用于IDS逃避。
-T2 (文雅的):降低速度以降低对带宽的消耗,此选项- -般不常用。
-T3 (普通的):默认,根据目标的反应自动调整时间。
-T4 (野蛮的):快速扫描,常用扫描方式,需要在很好的网络环境下进行扫描,请求可能会淹没目标。
-T5 (疯狂的):极速扫描,这种扫描方式以牺牲准确度来提升扫描速度。

(现在一般用-T4)

nmap -T4 192.168.21.1

  • 常用扫描选项

    • -p 指定扫描端口

      • nmap -p 80,445 192.168.21.1
      • nmap -p 1-1000 192.168.21.1
    • -F 快速扫描常用端口

      • nmap -F 192.168.21.1
    • -r 使用该选项不会对端口进行随机的顺序扫描

    • –top-ports

      • 扫描开发概率最高的1000个TCP端口
      • nmap --top-ports 1000 192.168.21.1
      • nmap --top-ports 100 192.168.21.1
        NMAP常见命令总结_第3张图片
  • TCP SYN 扫描 -sS

    • nmap -sS 192.168.21.1
    • 比较常用,扫描速度较快
    • 比较隐蔽,不会轻易被目标主机发现
  • TCP 连接扫描 -sT

    • 用于SYN扫描不能用的时候
    • 基本不会对目标主机进行泛洪攻击或导致目标主机崩溃
    • 比较稳定,基础
    • 首先选用SYN扫描
  • UDP扫描-sU

    使用-sU选项可以进行UDP扫描。UDP扫描是非常慢的,很多的安全审核人员忽略了这些端口,这显然是一个错误的做法。

  • 隐藏扫描-sN -sF -sX

    • -sF FIN扫描,使用TCP SYN被目标主机防火墙发现,会阻止SYN数据包.
      • 这时候可以用-sF 尝试穿透
    • 这些扫描方式可能会躲过一些无状态防火墙的过滤
  • 空闲扫描,利用跳板/代理扫描

    • nmap -sI www.0day.co:80 192.168.21.1

      这里是利用僵尸主机为www0day.co 的主机对192.168.126.131 进行空闲扫描,如果有IDS,IDS 则会把www0day.co当作扫描者。

指纹识别与探测

  • 版本探测
    • 探测主机系统,以及一些服务的版本

NMAP常见命令总结_第4张图片

使用-A选项后我们可以获取更加详细的信息和更加直观的方式。我们在以上的结果中甚至可以得到具体的Linux内核版本,这得益于强大的Nmap。

使用-sV选项或-A选项时,对于获知的结果不要过分地相信,Nmap并不一
定能全部躲过某些软件的伪装。

  • 全端口版本探测

    • nmap -sV --allports 192.168.21.1
  • 设置扫描强度

–version-intensity 0~9

数值越大,可能越准确,耗时也更长

0最低 9最高

默认是7

  • 获取详细的版本信息

–version-trace

操作系统探测

nmap -O 192.168.21.1

NMAP常见命令总结_第5张图片

  • 以下两个可以推测操作系统

nmap -O --fuzzy 192.168.21.1

nmap -O --osscan-guess 192.168.21.1

NMAP常见命令总结_第6张图片

  • 有一定的差别的

防火墙/IDS(入侵检测)逃逸

  • 报文分段

nmap -sV -F 192.168.1.100

  • IP欺骗 -D

RND 随机生成:

nmap -D RND:11 192.168.21.1

指定IP:

nmap -D 192.168.1.1,192.168.1.2,192.168.1.3 192.168.21.1

需要注意的是,诱饵主机必须处于工作状态,否则会导致目标主机的SYN洪水攻击。

  • 源地址欺骗-sI

nmap -sI www. 0day.co:80 192.168.126.131

  • 源端口欺骗

nmap --source-port 53 182.168.21.1

  • MAC地址欺骗

–spoof-mac 0会随机生成一个

nmap -sT -PN --spoof-mac 0 192.168.126.131

保存和输出

  • 标准保存 -oN

nmap -F -oN test.txt 192.168.21.1

NMAP常见命令总结_第7张图片

  • 补充保存 --append-output

nmap -F --append-out -oN test.txt 192.168.21.1
NMAP常见命令总结_第8张图片

你可能感兴趣的:(web,工具)