nmap学习笔记
nmap的功能
端口扫描:默认情况下,扫1000个常用端口
主机探测:查找目标网络中的在线主机,默认情况下,nmap使用四种方式进行查找
ICMP echo请求(ping)、向443端口发送TCP、SYN包、向80端口发送TCP、ACK包和ICMP
服务、版本检测:发现开放端口后,可以进一步检查目标主机的检测服务协议、应用程序名称、版本号等信息
操作系统检测:想远程主机发送一系列的数据包,并能够将远程主机的响应和操作系统的指纹数据库进行对比
网络路由跟踪:通过多种协议访问目标主机的不同端口,尽可能访问目标主机。
Nmap脚本引擎:包含各种脚本
可以识别的端口的六种状态
开放:工作于开放端口的服务器端的应用程序,可以受理TCP连接、接受UDP数据报或者响应SCTP(流控制传输协议)请求
关闭:可以访问有关端口,但是没有应用程序工作在该端口上
过滤:不能确定该端口是否开放,包过滤设备屏蔽了我们向目标发送的探测包
未过滤:虽然可以访问到指定端口,但是不能确定该端口处于开放状态
打开|过滤:认为端口处于打开或者过滤,不能确定
关闭|过滤:认为端口处于关闭状态或者过滤状态,但是不能确定是哪种状态
常见用法
端口扫描:nmap ip
全端口扫描/指定端口扫描:nmap -p-/ -p port1 port2
网段扫描:nmap 192.168.160.1-253、nmap 192.168.160.1/24
常用选项
-sV:服务版本识别。端口扫描过程中检测服务端软件的版本信息
-O:识别目标主机的操作系统
-Pn:禁用主机检测,如果主机屏蔽了ping请求,nmap可能会认为主机没有开机,此选项默认所有主机存活
-A:强力检测选项:使用-A,nmap将主动检测目标主机的服务版本识别(-sV)、操作系统识别(-O)、脚本扫描(-sC)、traceroute(-traceroute)
-T4:快速扫描
-iL:批量扫描端口,-iL <inputfilename>: Input from list of hosts/networks
TCP扫描选项
-sT:TCP扫描连接,指定选项后,程序将和目标主机每个端口进行完整的三次握手。
这样非常慢,而且扫描行为可能被目标主机记录下来。
如果启动nmap的用户权限不足,默认情况将以这种模式进行扫描
-sS:SYN扫描,半开连接,采用该选项后,nmap将含有SYN标志位的数据包进行端口探测
如果目标主机恢复了SYN/ACK包,则说明端口处于开放状态,如果恢复RST/ACK,则端口处于
关闭状态,如果没有响应,或者发送了ICMP unreachable信息,则认为端口被屏蔽了。
SYN扫描速度非常好,不进行完整的三次握手,时分隐蔽
-Sl:TCP idle扫描,采用这种技术后,您将通过指定的僵尸主机发送扫描数据包。
本机 并不与目标主机直接通信。如果对方网络里有IDS,IDS将认为发起扫描的主机是僵尸主机。
UDP扫描选项
-sU:UPD扫描可以出来的端口很可能就是有价值的服务端程序,但是UDP扫描性能不是很好,LINUX
内核限制1s内最多发送一次ICMP Port Unreachable信息。
解决方法:
进行并发的UDP扫描
优化扫描常用端口
在防火墙后面扫描
启用--host-timeout,跳过响应慢的主机
其他选项
-F:快速扫描,仅扫描100个常用端口
-r:顺序扫描,按照从小到大的顺序扫描端口
-oN:正常输出,不显示runtime和警告信息,
-oX:生成xml格式报告,可以转成html,还可以被nmap图形用户界面解析,便于导入数据库
-oA:输出所有格式。标准格式、xml格式等等
脚本引擎功能
auth:暴力破解等技术找到目标系统上的认证信息
default:启用--sC或者-A选项时运行此脚本,特点:速度快,输出信息有指导下一步操作的价值,
输出信息内容丰富,形式简洁,必须可靠,不入侵目标主机,不泄露信息给第三方
discovery:用于探索网络
dos:对目标进行拒接服务攻击,慎用
exploit:脚本利用目标系统的安全漏洞,需要在授权情况下进行使用
fuzzer:对目标系统进行模糊测试
instrusive:该脚本可能导致目标系统崩溃或者耗尽目标系统所有资源
malware:检测目标系统是否存在恶意软件或者后门
safe:
version:对目标系统的服务程序进行深入的版本检测
vuln:检测目标主机系统可能存在的安全漏洞
-sC或者--script=default:默认启动NSE脚本
--script filename:根据指定的文件名、目录名等执行相应的脚本
--script-args <args>:选项用于给脚本指定参数,如果脚本需要认证,脚本可以指定用户名和密码
http-waf-detect:检测是否有waf
http-waf-fingerpri:更准确的识别正在服务的waf
-f:使用小段数据包,nmap将使用8字节甚至更小的数据报进行探测
--mtu:来调整数据包的包大小
-D:指定假的IP,将真的ip藏与其中
--source-port <port>:如果防火墙只允许某些源端口的入站流量,可以使用这种方式
--data-length:用于改变发送的数据包的默认数据长度
--max-parallelism:限制nmap并发扫描的最大连接数
--scan-delay <time>:用于控制发送探测数据的时间间隔

浙公网安备 33010602011771号