nmap部分命令及其使用

       在渗透测试过程中,信息收集可谓是重中之重,在信息收集端口扫描方面nmap可谓是神器,除此之外还提供服务识别、系统识别、存活主机判断等功能。

可去官网上下载最新版本(https://nmap.org)

 

目录

主要功能用法

一、基本扫描

二、主机发现

三、端口扫描

四、服务和版本探测

五、操作系统探测

六、绕防火墙


 

主要功能用法

 

一、基本扫描

1、最简单的扫描

nmap 192.168.0.100

默认发送一个ARP ping数据包,来探测1-10000内所开放的端口

可以接受的地址格式:

www.abc.com、192.168.0.100、192.168.0.100-200、192.168.0.1/24

 

2、扫描文件列表中的主机

当需要扫描的主机多而乱的时候,可将其放入一个txt文件里面

nmap -iL hostlist.txt

 

3、扫描速度

nmap -T4 192.168.0.100

-T0~-T5:从左往右速度逐渐变快,但是扫描的准确率降低,默认为-T3

 

二、主机发现

1、-sL(列表扫描)

nmap -sL 192.168.0.1/24

仅仅列出指定网络上的每台主机,不发送任何数据报

 

2、-sP(Ping扫描)

nmap -sP 192.168.1.100

对目标进行Ping扫描,不进行端口扫描,默认发送一个ICMP回声请求和一个TCP报文到80端口,非特权用户则发送一个SYN报文,当特权用户扫描局域网则是发送ARP请求仅仅列出指定网络上的每台主机,不发送任何数据报

 

3、-PS(SYN扫描)、-PA(ACK扫描)、-PU(UDP扫描)、-PR(ARP扫描)

nmap -PS 192.168.0.100

发送对应的报文,并且还会进行端口扫描

 

4、-PE(ICMP echo)、-PP(ICMP timestamp)、-PM(ICMP netmask)

nmap -PE 192.168.0.100

分别使用ICMP的者三中请求包进行扫描,并且还会进行端口扫描

 

三、端口扫描

 

nmap所知别端口的6个状态

open(开放的):表明端口是开放的

closed(关闭的):关闭的端口,对于nmap来说是可访问的,也许过段时间再去扫可能就开放了

filtered(被过滤的):无法确定端口开放,可能受到防火墙或路由器规则的影响

unfiltered(未被过滤的):端口可以访问,但不能确定端口是否开放

open|filtered(开放或者过滤的):无法确定开放或过滤,可能是端口未响应

closed|filtered(关闭或者过滤的):不能确定端口是关闭还是过滤

1、-p(指定端口)

nmap -p 80 192.168.0.100

使用-p指定端口80进行扫描,可指定多个端口如:21,22,80;也可以是一个端口段:1-100

 

2、-sS(TCP SYN扫描)

nmap -sS 192.168.0.100

最常用的扫描选项,SYN扫描不会建立三次握手,执行速率快效率高

 

3、sT(TCP扫描)

nmap -sT 192.168.0.100

会与目标主机建立完整的TCP连接(三次握手),这样会在目标主机上面留下大批连接日志请求,扫描速度慢效率低

 

4、-sU(UDP扫描)

nmap -sU 192.168.0.100

扫描UDP端口,可与扫描TCP端口的选项一起使用,检查两种协议。扫描速度比较慢,可添加--host-timeout选项来跳过慢速主机

 

5、-sN(TCP Null)、-sF(TCP FIN)、-sX(Xmas)

nmap -sN 192.168.0.100

当端口关闭时,任何不含SYN、RST、ACK的报文会导致一个RST返回,端口开放则没有任何响应,于是可构造:-sN——不设置任何标志位(tcp标志头为0)、-sF——只设置TCP FIN标志位、-sX——设置FIN,PSH和URG标志位

能够躲过无状态防火墙和和报文过滤路由器

 

6、-sA(TCP ACK扫描)

nmap -sA 192.168.0.100

主要用于发现防火墙规则,确定是有状态还是无状态,哪些端口是被过滤的

 

7、-sO(IP协议扫描)

nmap -sO 192.168.0.100

扫描目标主机支持哪些IP协议(如TCP、ICMP、UDP、IGMP等)

 

8、-F(快速扫描)

nmap -F 192.168.0.100

扫描常用的100个端口

 

9、--top-ports

nmap --top-ports 10 192.168.0.100

扫描常见的10个端口,其中的10可变,可以是其他数量

 

四、服务和版本探测

-sV(版本探测)

nmap -sV 192.168.0.100nmap -sV -A 192.168.0.100

使用-sV选项启用版本探测,可与-A选项一起使用进行操作系统和版本探测

nmap -sV --version-intensity 8 192.168.0.100

使用--version-intensity 选项来指定探测强度,取值为0~9之间,取值越大探测强度也就越大,默认为7

 

五、操作系统探测

-O(启用操作系统检测)

nmap -O 192.168.0.100

--osscan-limit:当发现开放或者是关闭的TCP端口时,使用该选项可以更快的扫描

nmap -O --osscan-limit 192.168.0.100

--osscan-guess或--fuzzy:当无法确定操作系统时,可使用该选项找到相近的匹配

nmap -O --osscan-guess 192.168.0.100

 

六、绕防火墙

1、-f、--mtu(分段扫描)

nmap -f 192.168.0.100nmap --mtu 8 192.168.0.100

使用--mtu选项时,需要指定偏移大小,必须为8的倍数

 

2、-D(诱饵扫描)

nmap -D 192.168.0.97,192.168.0.98,192.168.0.99 192.168.0.100

-D选项后面那三个用逗号分隔的ip地址为诱饵ip,诱饵主机必须是存活的主机

nmap -D RND:5 192.168.0.100

使用RND来随机生成ip地址

 

3、空闲扫描

nmap -P0 -sI 192.168.0.111 192.168.0.100

其中192.168.0.111为僵尸机

 

4、随机扫描

nmap --data-length 25 192.168.0.100

在发送报文时附加随机数据

nmap --randomize-hosts 192.168.0.1-100​

对目标主机进行随机排列扫描

 

5、欺骗扫描

nmap -sT -PN --spoof-mac 01:02:03:04:05:06 192.168.0.100

欺骗目的主机源主机MAC地址为01:02:03:04:05:06

nmap --badsum 192.168.0.100

发送带有虚假TCP/UDP/SCTP校验和的数据包

除此之外,各种选项还可以进行组合,来实现更强大的扫描​

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章