nmap的使用
一、介绍
Nmap(Network Mapper)是一款用于网络发现和安全审计的开源工具。它最初由 Gordon Lyon开发,是一款功能强大且广泛使用的网络扫描工具。Nmap 允许用户在网络上执行主机发现、端口扫描、服务识别和版本检测等操作,以帮助评估网络的安全性、发现主机和服务、以及识别潜在的安全威胁。
二、原理
- 发送探测包: Nmap向目标主机发送各种类型的探测包,如TCP SYN、TCP ACK、ICMP echo request等。
- 分析返回包: 根据返回包的内容,Nmap可以判断目标主机的状态、开放端口、运行的服务等信息。
- 匹配指纹库: Nmap将获取到的信息与内置的指纹库进行匹配,从而识别目标主机的操作系统和服务版本。
- 生成扫描报告: Nmap将扫描结果以文本、XML等格式输出,方便用户分析。
三、扫描模式
- TCP ACK扫描原理
TCP ACK扫描 是一种网络扫描技术,主要用于探测目标主机上的防火墙规则。它的工作原理是:向目标主机的某个端口发送一个TCP数据包,该数据包只设置ACK标志位,不进行完整的TCP三次握手。
为什么发送ACK包?- 绕过防火墙: 许多防火墙会对正常的TCP连接尝试(SYN扫描)进行过滤,但对ACK包的处理可能比较松懈,因此可以用来探测防火墙规则。
- 判断端口状态: 通过分析目标主机对ACK包的响应,可以判断目标端口的状态。
ACK扫描的响应分析 - 收到RST包: 如果目标主机收到ACK包后,返回了一个RST包,说明目标端口是关闭的,或者防火墙对该端口进行了过滤。
- 没有收到响应: 如果目标主机没有响应,说明该端口可能被过滤了,或者目标主机处于不可达状态。
- 其他响应: 如果收到其他类型的响应包,则说明目标主机可能存在一些特殊的配置。
ACK扫描的局限性 - 无法确定端口开放: ACK扫描只能判断端口是关闭的还是被过滤的,无法确定端口是开放的。
- 依赖防火墙配置: ACK扫描的结果很大程度上取决于目标主机的防火墙配置。
- 可能触发警报: 一些防火墙会将ACK扫描视为攻击行为,并触发警报。
ACK扫描的应用场景 - 探测防火墙规则: 通过ACK扫描可以了解目标主机防火墙的配置情况,为后续的渗透测试提供参考。
- 绕过防火墙: 在某些情况下,ACK扫描可以绕过防火墙的限制,对目标主机进行进一步的扫描。
总结
TCP ACK扫描是一种较为隐蔽的端口扫描技术,主要用于探测防火墙规则。虽然它无法确定端口是开放的,但可以提供一些关于目标主机防火墙配置的信息。在实际的网络扫描中,ACK扫描通常与其他扫描方式结合使用,以获得更全面的信息。
需要注意的是: - ACK扫描可能会违反目标主机的安全策略,请勿在未经授权的情况下对目标主机进行扫描。
- 不同的防火墙对ACK包的处理方式可能不同,ACK扫描的结果可能并不总是准确的。
四、扫描选项
一、基础参数
1.TCP连接扫描,不安全,慢1
nmap -sT 192.168.96.4
会在机器中留下记录
2.SYN扫描,使用最频繁,安全,快
1 | nmap -sS 192.168.96.4 |
3.目标机禁用ping,绕过ping扫描1
nmap -Pn 192.168.96.4
4.UDP扫描,慢,可得到有价值的服务器程序1
nmap -sU 192.168.96.4
5.使用僵尸机对目标机发送数据包1
nmap -sI 僵尸ip 目标ip
6.检测哪些端口被屏蔽1
nmap -sA 192.168.96.4
7.对指定端口扫描1
nmap 192.168.96.4 -p <portnumber>;
8.对整个网段的主机进行扫描1
nmap 192.168.96.1/24
9.对扫描结果另存在myscan.xml1
nmap 192.168.96.4 -oX myscan.xml
10.设置扫描速度,一般T4足够。1
nmap -T1~6 192.168.96.4
11.对端口上的服务程序版本进行扫描1
nmap -sV 192.168.96.4
12.对目标主机的操作系统进行扫描1
nmap -O 192.168.96.4
13.使用脚本进行扫描,耗时长1
nmap -sC <scirptfile> 192.168.96.4
14.强力扫描,耗时长1
nmap -A 192.168.96.4
15.对ipv6地址的主机进行扫描1
nmap -6 ipv6地址
16.使用小数据包发送,避免被识别出1
nmap -f 192.168.96.4
17.发送的包大小,最大传输单元必须是8的整数1
nmap –mtu <size> 192.168.96.4
18.发送参杂着假ip的数据包检测1
nmap -D <假ip> 192.168.96.4
19.针对防火墙只允许的源端口1
nmap --source-port <portnumber>
20.改变发生数据包的默认的长度,避免被识别出来是nmap发送的。1
nmap –data-length: <length> 192.168.96.4
21.显示冗余信息(扫描细节)1
nmap -v 192.168.96.4
22.对目标进行ping检测,不进行端口扫描(会发送四种报文确定目标是否存活,)1
nmap -sn 192.168.96.4
23.仅仅对目标进行ping检测。1
nmap -sP 192.168.96.4
24.-n表示不进行dns解析,-R表示对ip进行dns反向解析1
nmap -n/-R 192.168.96.4
25.扫描指定系统的dns服务器1
nmap --system-dns 192.168.96.4
26.追踪每个路由节点。1
nmap –traceroute 192.168.96.4
27.使用ICMP echo, timestamp, and netmask 请求包发现主机。1
nmap -PE/PP/PM
- 主机存活性扫描,arp直连方式。29.对随机生成number个地址进行扫描。
1
nmap -sP 192.168.96.4
1
nmap -iR [number]





