简单扫描
- nmap 192.168.166.128
从结果可以看到开放的端口及其对应的服务名称。
Ping扫描
- 参数:-sP
Ping扫描只进行ping,然后显示出在线的主机。
使用该选项扫描,可以轻易获取目标信息而不会被轻易发现。
在默认情况下,Nmap会发行一个ICMP回声请求和一个TCP报文到目标端口。
Ping扫描的优点是不会返回太多的信息,且是一种非常高效的扫描方式。
- nmap -sP 192.168.166.128
- nmap -sP 192.168.166.128/24
无Ping扫描
- 参数:-P0
无Ping扫描通常用于防火墙禁止Ping的情况下,它能确定正在运行的机器。
默认情况下,Nmap只对正在运行的主机进行高强度的探测,如端口扫描、版本探测或操作系统探测。用P0会使Nmap对每一个指定的的目标IP进行所要求的扫描,这可以穿透防火墙,也可以避免被防火墙发现。
- nmap -P0 192.168.166.128
- nmap -P0 192.168.166.128
- nmap -P0 192.168.166.128/24
-
下面对比一下Ping扫描和无Ping扫描,对一台开启/关闭防火墙的扫描结果
(1) 关闭防火墙:
--> Ping扫描
image.png
结果:发现主机。
--> 无Ping扫描
image.png
结果:发现主机,且对主机进行了端口扫描。
(2) 开启防火墙:
--> Ping扫描
结果:主机未存活。
-->无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官网给出的解释。
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
- 同时使用-PS 和 -PA 选项
UDP Ping扫描
- 参数:-PU
image.png该选项是发送一个空的UDP报文到指定端口。如果不指定端口则默认是40125。
该默认值可以通过在编译时修改nmap.h文件中的DEFAULT_UDP_PROBE_PORT_SPEC值进行配置。默认使用这样一个奇怪的端口是因为对于开放端口,很少会使用这种扫描方式。
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扫描方式
- (2) 使用ICMP时间戳Ping扫描
- (3) 使用ICMP地址掩码Ping扫描
ARP Ping扫描
- 参数:-PR
image.png该选项通常在扫描局域网时使用。ARP协议的功能是:主机将ARP请求广播到网络上的所有主机,并接收返回消息,确定目标IP地址的物理地址,同时将IP地址和物理地址存入本机的ARP缓存中,下次请求时直接查询ARpP缓存。
尤其在内网的情况下,使用ARP Ping扫描方式是最有效的,因为在本地局域网中防火墙不会禁止ARP请求,这就使得它比其他Ping扫描都更加高效,在内网中使用ARP Ping是非常有效的。
默认情况下,如果Nmap发现目标主机就在它所在的局域网上,会进行ARP Ping扫描。即使指定了不同的Ping类型(如-PS),Nmap也会对任何相同局域网上的目标使用ARP。如果不想使用ARP扫描,可以指定 --send-ip。
网友评论