美文网首页
Nmap学习(一):主机发现

Nmap学习(一):主机发现

作者: N8_xEnn7nA1 | 来源:发表于2019-03-17 21:59 被阅读0次

    简单扫描

    • nmap 192.168.166.128
    image.png

    从结果可以看到开放的端口及其对应的服务名称。

    Ping扫描

    • 参数:-sP

    Ping扫描只进行ping,然后显示出在线的主机。
    使用该选项扫描,可以轻易获取目标信息而不会被轻易发现。
    在默认情况下,Nmap会发行一个ICMP回声请求和一个TCP报文到目标端口。
    Ping扫描的优点是不会返回太多的信息,且是一种非常高效的扫描方式。

    • nmap -sP 192.168.166.128
    image.png
    • nmap -sP 192.168.166.128/24
    image.png

    无Ping扫描

    • 参数:-P0

    无Ping扫描通常用于防火墙禁止Ping的情况下,它能确定正在运行的机器。
    默认情况下,Nmap只对正在运行的主机进行高强度的探测,如端口扫描、版本探测或操作系统探测。用P0会使Nmap对每一个指定的的目标IP进行所要求的扫描,这可以穿透防火墙,也可以避免被防火墙发现。

    • nmap -P0 192.168.166.128
    image.png
    • nmap -P0 192.168.166.128
    image.png
    • nmap -P0 192.168.166.128/24
    image.png
    • 下面对比一下Ping扫描和无Ping扫描,对一台开启/关闭防火墙的扫描结果
      (1) 关闭防火墙:
      --> Ping扫描


      image.png

    结果:发现主机。

    --> 无Ping扫描


    image.png

    结果:发现主机,且对主机进行了端口扫描。

    (2) 开启防火墙:
    --> Ping扫描

    image.png

    结果:主机未存活。

    -->无Ping扫描

    image.png

    结果:发现主机。

    在新版本的nmap中,-P0选项已被-Pn代替。

    TCP SYN Ping扫描

    • 参数:-PS

    该选项发送了一个设置了SYN标志位的空TCP报文。默认目的端口为80 (可以通过改变nmap.h文件中的DEFAULT_TCP_PROBE_PORT_SPEC的值进行配置),但不同的端口也可以作为选项指定,甚至可以指定一个以逗号分隔的端口列表(如, -PS22,23,25,80,115,3306,3389),这种情况下,每个端口会被并发地扫描。

    • nmap -PS 192.168.166.138
    image.png

    注:在Unix系统中,发送和接收TCP报文需要root权限,下面是Nmap官网给出的解释。

    image.png

    TCP ACK Ping扫描

    • 参数:-PA

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

    • nmap -PA 192.168.166.138
    image.png
    • 同时使用-PS 和 -PA 选项
    image.png

    UDP Ping扫描

    • 参数:-PU

    该选项是发送一个空的UDP报文到指定端口。如果不指定端口则默认是40125。
    该默认值可以通过在编译时修改nmap.h文件中的DEFAULT_UDP_PROBE_PORT_SPEC值进行配置。默认使用这样一个奇怪的端口是因为对于开放端口,很少会使用这种扫描方式。

    image.png

    ICMP Ping Types扫描

    • 参数:-PE;-PP;-PM

    使用这几个选项可以进行ICMP Ping Types扫描。
    Nmap发送一个ICMP type 8(回声请求)报文到目标IP地址,从运行的主机得到一个type 0(回声响应)报文。
    -PE选项简单地来说是通过向目标发送ICMP Echo数据包来探测目标主机是否在线,正因为许多主机的防火墙会禁止这些报文,所以仅仅ICMP扫描对于互联网上的目标通常是不够的。但对于系统管理员监视一个内部网络,它们可能是实际有效的途径。使用-PE选项打开该回声请求的功能。
    -PP选项是ICMP时间戳Ping扫描,虽然大多数的防火墙配置不允许ICMP Echo请求,但由于配置不当可能回复ICMP时间戳请求,所以可以使用ICMP时间戳来确定主机是否存活。
    -PM选项可以进行ICMP地址掩码Ping扫描。这种扫描方式会试图用备选的ICMP等级Ping指定主机,通常有不错的穿透防火墙的效果。

    • (1) 使用ICMP Echo扫描方式
    image.png
    • (2) 使用ICMP时间戳Ping扫描
    image.png
    • (3) 使用ICMP地址掩码Ping扫描
    image.png

    ARP Ping扫描

    • 参数:-PR

    该选项通常在扫描局域网时使用。ARP协议的功能是:主机将ARP请求广播到网络上的所有主机,并接收返回消息,确定目标IP地址的物理地址,同时将IP地址和物理地址存入本机的ARP缓存中,下次请求时直接查询ARpP缓存。

    尤其在内网的情况下,使用ARP Ping扫描方式是最有效的,因为在本地局域网中防火墙不会禁止ARP请求,这就使得它比其他Ping扫描都更加高效,在内网中使用ARP Ping是非常有效的。
    默认情况下,如果Nmap发现目标主机就在它所在的局域网上,会进行ARP Ping扫描。即使指定了不同的Ping类型(如-PS),Nmap也会对任何相同局域网上的目标使用ARP。如果不想使用ARP扫描,可以指定 --send-ip。

    image.png

    相关文章

      网友评论

          本文标题:Nmap学习(一):主机发现

          本文链接:https://www.haomeiwen.com/subject/knzemqtx.html