TCP/IP中端口建立连接的原则
在TCP/IP协议中,TCP协议提供可靠连接,采用三次握手建立连接,四次挥手断开连接。
三次握手
client发送SNY,请求建立连接
server收到SNY,发送ACK确认,同时自己也发送一个SNY,即ACK+SYN
client收到ACK+SYN,回复ACK,连接建立完成。
四次挥手
client发送FIN,请求释放连接
server收到FIN,发送ACK
server发送FIN,告知释放连接
client收到FIN,发送ACK
TCP/IP实现遵循原则
发送SYN,LISTEN端口回复ACK,CLOSED端口回复RST
发送RST会被直接丢弃
发送ACK给LISTEN端口,回复RST
发送FIN,LISTEN端口丢弃,CLOSED端口回复RST
全连接扫描(TCP connect scan)
- 发送SYN
- 回复ACK则是LISTEN,回复RST则CLOSED
- 回复ACK
1
2
3
特点:容易被察觉
nmap -sT
1
半开放SYN扫描(TCP SYN scan)
发送SYN
- 回复ACK+SYN 则LISTEN
- 回复RST 则CLOSED
- 不回复 则过滤了
特点:
- 应用程序没有日志
- 容易被发现
nmap -sS
1
隐蔽扫描