TCP端口扫描

# TCP三次握手
第一次握手:创建链接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时本身也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据。
 
# 端口扫描类型
## TCP connect扫描
全链接扫描,此扫描与每一个TCP端口进行3次握手通讯。成功创建链接,则证实端口开放,不然为关闭。准确度很高,可是容易被防火墙和IDS检测到,而且在目标主机日志会有记录。
 
## TCP SYN扫描
端口开放:client发送SYN,server端回复SYN/ACK,client发送RST断开
端口关闭:client发送SYN,server端回复RST
 
## 秘密扫描
秘密扫描是一种不被审计工具所检测的扫描技术。它一般用于在经过普通的防火墙或路由器的筛选时隐藏本身。秘密扫描能躲避IDS、防火墙、包过滤器和日志审计,从而获取目标端口的开放或关闭的信息。因为没有包含TCP3次协议的任何部分,因此没法被记录下来,比半链接扫描更为隐藏。可是这种扫描的缺点是扫描结果的不可靠性会增长,并且扫描主机也须要本身构造IP包。
 
TCP FIN扫描
端口开放:client发送FIN,server没有响应
端口关闭:client发送FIN,server回复RST
 
TCP ACK扫描
端口开放:client发送ACK,server回复RST数据包TTL<=64
端口关闭:client发送ACK,server回得RST数据包TTL>64
 
NULL扫描
端口开放:client发送NULL,server没有响应
端口关闭:client发送NULL,server回复RST
 
TCP XMAS扫描
端口开放:client发送USG/PSH/FIN,server没有响应
端口关闭:client发送USG/PSH/FIN,server回复RST
 
SYN/ACK扫描
## 其余扫描
UDP扫描
IP头信息dump扫描
IP分段扫描
慢速扫描
乱序扫描
 
## TCP FLAGS
SYN(synchronous创建联机) SYN表示创建链接
FIN(finish结束) FIN表示关闭链接
ACK(acknowledgement 确认) ACK表示响应
PSH(push传送) PSH表示有DATA数据传输
RST(reset重置) RST表示链接重置
URG(urgent紧急)
Sequence number(顺序号码)
Acknowledge number(确认号码)
 
当FIN以后出现RST=1时,表示的是链接重置
当出现FIN包或RST包时,咱们便认为客户端与服务器端断开了链接
当出现SYN和SYN+ACK包时,咱们认为客户端与服务器创建了一个链接
当出现SYN=ACK=1时,表示的就是创建链接以后的响应
当出现PSH=1时,表示的是有真正的TCP数据包内容被传递
SYN与FIN是不会同时为1的,由于SYN表示创建链接,而FIN表示断开链接
相关文章
相关标签/搜索