• nmap


    主机发现

    • 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

    • 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

    端口扫描

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

    • 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

    • 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当作扫描者。

    指纹识别与探测

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

    使用-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 -O --fuzzy 192.168.21.1

    nmap -O --osscan-guess 192.168.21.1

    • 有一定的差别的

    防火墙/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

    • 补充保存 --append-output

    nmap -F --append-out -oN test.txt 192.168.21.1

  • 相关阅读:
    极客mysql01
    Mysql之存储过程与存储函数
    MySQL视图详细介绍
    mysql 触发器的创建和使用
    分治 315. 计算右侧小于当前元素的个数
    128. 最长连续序列
    MySQL慢查询开启、日志分析(转)
    如何在Linux服务器上安装MariaDB或MySQL?
    如何重设MySQL的root密码
    如何修复docker-machine: command not found error
  • 原文地址:https://www.cnblogs.com/l0nmar/p/12863450.html
Copyright © 2020-2023  润新知