Nmap学习(一):主机发现

简单扫描

  • 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学习(一):主机发现)