在nmap给出6中端口的不同状态。
状态 | 描述 |
---|---|
open | 表明该端口处于开放状态,可以接收相应的报文数据包 |
closed | 表明该端口是不可访问的,没有程序在监听 |
filtered | 存在防火墙等设备对目标数据包进行了过滤,无法判断是否开放状态 |
unfiltered | 表明目标端口是不可访问的,无法判断是否开放相应端口,一般ack扫描会出这种情况 |
open or filtered | 无法确定端口是开放还是被过滤 |
closed or filtered | 无法确定端口是开放还是被过滤,一般只在idle扫描中会出现 |
扫描方法 | 描述 |
---|---|
-sS/sT/sA/sW/sM | 指定使用tcpsyn/connect()/ack/window/maimon scans的方式对目标主机进行扫描 |
-sU | UDP方式扫描端口 |
-sN/sF/sX | 使用tcp Null、FIN/Xmas scans等方式协助探测对方tcp端口状态 |
-scanflags | 定制tcp包的flags |
-sI | 指定使用Idle scan扫描目标主机 |
-sY/sZ | 使用sctp init/cookie-echo扫描sctp协议端口情况 |
-sO | 使用ip协议扫描目标主机支持的协议 |
-b | 使用ftp扫描方式 |
-p | 扫描指定端口 |
-F | 快速扫描,仅仅扫描top100端口 |
-r | 随机扫描,不容易被安全设备检测到 |
—top-ports | 扫描开放概率最高的端口个数 |
在nmap进行端口扫描中,syn扫描是一种非常好的扫描方式,这种扫描非常准确而且速度快。更重要的是这种扫描方式不会在目标网络的安全设备上被报警,
syn扫描语法:nmap -sS 【目标地址】
实例:nmap -sS 122.114.19.242
connect扫描语法:nmap -sS 【目标地址】
实例:nmap -sS 122.114.19.242
connect 扫描方式语SYN扫描方式非常相似,只是在tcp三次握手阶段,syn扫描没有完成三次握手,而connect扫描完成类三次握手,这种方式缺点是容易被对端防火墙拦截或检测。优点是不需要使用管理员权限就可以执行命令。
命令语法:nmap -sT [目标主机]
实例:nmap -sT 10.10.36.55
udp扫描方式因协议无连接,不可靠性,造成udp扫描到准确率非常低。
命令语法:nmap -sU [target]
案例:nmap -sU 10.10.36.55
tcp fin扫描方式是向目标主机直接发送Fin数据包,对于目标端口如果处于关闭状态,会发送一个RST数据包,表明该端口处于关闭状态
命令语法:nmap -sF [target]
案例:nmap -sF 10.10.36.55
tcp null扫描方式是想目标系统发送一个不包含任何标志到数据包,目标系统会向源主机发送一个RST
数据包,表明该端口处于关闭状态。
命令语法:nmap -sN [target]
案例:nmap -sN 10.10.36.55
tcp xmas tree扫描方式是向目标端口发送一个含有FIN/URG/PUSH标志位到数据包,对于关闭的端口目标主机返回RST数据包,表示改端口是处于关闭状态。
nmap -sX [target]
nmap -sX 10.10.36.55
该种方式非常隐蔽,扫描着不需要相目标主机发送任何数据包,需要依靠第三方主机对目标进行扫描。
在这个工程中,需要伪造第三方数据包,在nmap中可以使用decoy scanning (-D)
的功能,可以隐藏字自己到身份。通过这种方式目标日志服务器上记录的是第三方地址,这样就可以达到隐藏自己信息到目的。
nmap指定扫描得端口
端口选项 | 描述 |
---|---|
-F[target] | 扫描常见到100个端口 |
-p[port] | 指定一个端口 |
-pU:[udp ports],T:[tcp ports] | 使用协议扫描指定端口 |
-p* | 扫描所有端口 |
—top-ports[number] | 扫描常用端口 |
扫描常见到100个端口
command:nmap -F [target]
case:nmap -f 172.16.36.55
指定一个端口
command:nmap -p [port or portname] [target]
case: nmap -p 8080,90 172.16.36.55
使用协议指定端口
command:nmap -p U:[udp ports],T:[tcp ports] [target]
case: nmap -sU -sT -p U:4500,T:22 172.16.36.55
扫描所有端口
command:nmap -p ““ [target]
case: nmap -p 172.16.36.55
如上是最经常使用到nmap扫描技术。