Wireshark数据抓包分析之传输层协议(TCP协议)

一、实验目的:

通过使用wireshark对TCP协议的数据包的抓取分析TCP协议的具体内容

二、预备知识:

1.需要了解TCP协议的三次握手过程

2.需要了解TCP协议的四次挥手的过程

三、网络拓扑

四、实验过程:

part1:3次握手和4次挥手的数据包的获取

1.通过使用TCP测试工具在机器一中创建服务器,并且进行相应的配置,然后打开wireshark进行capure

2.通过使用工具在机器二中创建客户端,并且进行连接,同时打开wireshark进行抓包

3.在客户端点击"连接"时,通过在wireshark中进行"ip.addr == 10.1.1.142 and ip.addr == 10.1.1.33"这种显示过滤得到3次握手的TCP数据包,进行保存,等待之后的分析

4.同样,在客户端发送"xxxx",然后在wireshark进行显示过滤之后,查看到发送数据的包,和4次挥手的包,进行保存,等待之后的分析

part2:分析3次握手和4次挥手的过程:

1.三次握手的分析过程如下:

依次打开这3个TCP数据包进行分析一下:

(1)第一个数据包:

首先,发送的sequence number = 0 ,Ack Number =0,代表这是第一次握手

然后,ack flag =0说明这次不是确认, syn flag = 1,说明这是依次想要连接

(2)第二个数据包:

seq number =0, ack number =1 ,说明这是第二次握手

ack flag =1 确认了第一次握手, syn flag =1 想要进行握手连接

(3)第三个数据包:

seq number =1 , ack number =1 说明这是第三次握手

ack flag =1 确认了第二次握手, syn flag = 0 没有想要连接

(4)突然想到了那个windows size的字段:依次展示3次握手这个字段的内容

这是客户端发给服务器的

这是服务器发给客户端的

这是第三次握手的

算了,不是很理解,先pass

2.分析四次挥手的过程如下:

(1)第一个数据包:

ack flag =1 ,前一个收到了, Fin =1 想要断开连接

(2)第二个数据包:

单纯的确认前一个Fin的请求,并没有发送自己想要Fin的想法

(3)第三个数据包:

确认了前一个数据包,同时,自己发出Fin想要断开连接

(4)第四个数据包:

ok,本人同意了,你断开就断开吧

相关推荐
忆挽篱笙歌7 分钟前
通信连接,匿名管道
linux·服务器·网络
九英里路5 小时前
protobuf快速上手
网络·c++·中间件·json·谷歌·序列化·protobuf
女神下凡11 小时前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
爱和冰阔落16 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall18 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
我不会插花弄玉1 天前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
火云代理1 天前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
xbzb1 天前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
火云代理1 天前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖1 天前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习