网络解析与抓包工具


网络解析与抓包–简介

本文简述一下内容:

TCP三次握手和四次挥手

网络分析工具tcpdump抓包

No.1 tcp三次握手和四次挥手

—确认ACK, 仅当ACK=1时, 确认号字段才有效. TCP规定在连接建立后所有报文的传输都必须把ACK置1

—同步SYN, 在连接建立时用来同步序号. 当SYN=1 ACK=0 表明是连接请求报文, 若同意连接则响应报文中应该使SYN=1 ACK=1

—终止FIN, 用来释放连接. 当FIN=1表明此报文的发送方的数据已经发送完毕并且要求释放

三次握手_建立连接
  • 第一次握手:Client将标志位SYN置为1, 随机产生一个值seq=x, 并将该数据包发送给Server, Client进入SYN_SENT状态, 等待Server确认
  • 第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接, Server将标志位SYN和ACK都置为1, ack=x+1, 随机产生一个值seq=y, 并将该数据包发送给Client以确认连接请求, Server进入SYN_RCVD状态
  • 第三次握手: Client收到确认后, 检查ack是否为x+1, ACK是否为1, 如果正确则将标志位ACK置为1, ack=y+1并将该数据包发送给Server, Server检查ack是否为y+1, ACK是否为1, 如果正确则连接建立成功, Client和Server进入ESTABLISHED状态, 完成三次握手, 随后Client与Server之间可以开始传输数据了

img

四次挥手_断开连接
  • 第一次挥手:Client发送一个FIN, 用来关闭Client到Server的数据传送, Client进入FIN_WAIT_1状态
  • 第二次挥手:Server收到FIN后, 发送一个ACK给Client, 确认序号为收到序号+1, Server进入CLOSE_WAIT状
  • 第三次挥手:Server发送一个FIN, 用来关闭Server到Client的数据传送, Server进入LAST_ACK状态
  • 第四次挥手:Client收到FIN后, Client进入TIME_WAIT状态, 接着发送一个ACK给Server, 确认序号为收到序号+1, Server进入CLOSED状态, 完成四次挥手

img

No.2 网络分析工具tcpdump抓包

抓取tcp的三次握手

tcpdump -S host 192.168.0.108 and 151.101.100.133

img

抓取tcp的四次挥手

(算了,懒得写了)在上方的基础上断开连接即可


 上一篇
Prometheus-入门 Prometheus-入门
Prometheus搭建简单的监控告警系统说明 使用的操作系统为CentOS 7.6.1810,其他系统请自己根据差异做对应调整 仅用于记录部署过程 告警通知对接了邮件和钉钉机器人 安装 在监控告警系统主机上安装prometheus、al
2020-05-26
下一篇 
Tomcat__05_JVM_排障工具 Tomcat__05_JVM_排障工具
JVM 运维实用排障工具1、jps用来查看Java进程的具体状态, 包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集。 常用参数如下: -q:忽略输
2020-04-02
  目录