当前位置: 首页 > news >正文

【计算机网络实验/wireshark】tcp建立和释放

wireshark开始捕获后,浏览器打开xg.swjtu.edu.cn,网页传输完成后,关闭浏览器,然后停止报文捕获。

若捕获不到dns报文,先运行ipconfig/flushdns命令清空dns缓存

DNS报文

设置了筛选条件:dns

查询报文目的端口:53,目标ip地址:202.115.64.33

8d7cc1d2699640bc97d892f30dcb4303.png

 找到DNS相关部分,可以看到事务id,以及queries(问题)字段。

——问题部分指的是报文格式中查询问题区域(Queries)部分。该部分是用来显示 DNS 查询请求的问题,通常只有一个问题。该部分包含正在进行的查询信息,包含查询名(被查询主机名字)、查询类型、查询类。

该部分中每个字段含义如下:

  • 查询名:一般为要查询的域名,有时也会是 IP 地址,用于反向查询。
  • 查询类型:DNS 查询请求的资源类型。通常查询类型为 A 类型,表示由域名获取对应的 IP 地址。
  • 查询类:地址类型,通常为互联网地址,值为 1

 

dc9a84fdee4a4d7393457c76984f787c.png

 并且发现到这里就结束了,后面三个字段在应答报文才出现:

——dns报文格式:

237f330529854eea8ec066ec148a2a84.png

 

应答报文:

事务id相同,flag标志中QR字段(id后第一个flag)为1,表示为应答,多出了answers字段

ba40bc55913242c5961b1acb7871a2b9.png

 资源记录部分的格式:

01dd60482f8b4547b9f18ea4002cbaf8.png

 对应到本dns报文:8a3e8723b33c4df7964bdbb47bba4932.png

TCP报文:

 可以先设置过滤项,根据此前的dns报文可以过滤出ip地址。

如输入以下的过滤条件并回车,可以找到想要的tcp相关的:

ae965ea680d34a2a8219d5e3c68c2a09.png

 注意画箭头的这三条:

68e25e817e024acabea83f5a4c79548d.png

端口是一致的,并且SYN,ACK标志位符合三次握手的特点,以及seq和ack的变化也是符合的。

fe5b154657814c869c6fd507a86c398e.png

 

 

再加入fin==1的筛选条件,找连接释放相关的,比照端口找了箭头所指向的一行:

c026d01e0ebd4871a84ec2c6b1b5e430.png再往下翻,找到另一个方向的:

edb117d69dbc45e38b37e2726544eb62.png

再将筛选条件变回 原来的回车,可以在刚刚找到的一行附近找释放时的其他tcp报文:

 

2772ae701de843588678f8aec82c475f.png

比照端口发现:

 ab3a58b0bdd6472ea20114c0c107ce61.png

注意: 释放确认报文这里只找到了三条(但应该找到四条),但是这是正常的。因为连接释放的4个数据包并不是连续的,是否发送也 与服务器和客户机的软件设计有关。

观察seq,ack,SYN,ACK,也是符合要求的。

3e823256b4f14d4999948306421eefed.png

 注意一个地方是,连接建立时的seq虽然看起来是1或者0,实际上在报文中查看却不是:

这个是第1048行:

37613487bf9f455a84bf696093dc302f.png

1051行的ack(数值等于1048的seq+1):

b38e383188444811bbec5ac2ea9f3245.png

 

http://www.lryc.cn/news/218358.html

相关文章:

  • STM32:I²C通信原理概要
  • 【开题报告】基于 Spring Boot 的在线预约导游系统的设计与实现
  • 如何使用ps制作ico图标文件
  • 【Linux】logrotate实现“日志文件定时分割“
  • Android可绘制资源概览(背景、图形等)
  • 力扣2095.删除链表的中间节点(java快慢指针)
  • 【Vue-Element-Admin】table添加自定义索引
  • 0008Java安卓程序设计-ssm基于Android平台的健康管理系统
  • Mac 禁用一些高占用cup的进程
  • layui form表单 调整 label 宽度
  • 轻量封装WebGPU渲染系统示例<12>- 基础3D对象实体(源码)
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • 【PY】倒计时日历
  • windows mysql安装
  • 【蓝桥杯省赛真题42】Scratch舞台特效 蓝桥杯少儿编程scratch图形化编程 蓝桥杯省赛真题讲解
  • Kafka(二)消息系统设计
  • 【移远QuecPython】EC800M物联网开发板的内置GNSS定位的恶性BUG(目前没有完全的解决方案)
  • R语言_RColorBrewer包--全平台可用
  • VulnHub DC-4
  • Python 查询 IP 地址段,并获取 Hostname
  • [架构之路-251/创业之路-82]:目标系统 - 纵向分层 - 企业信息化的呈现形态:常见企业信息化软件系统 - 商业智能、决策支持系统、知识管理
  • linux shell sh 脚本开机自启动
  • 欧科云链研究院:如何降低Web3风险,提升虚拟资产创新的安全合规
  • el-table中的el-input标签修改值,但界面未更新,解决方法
  • Python 中的 Gzip 解压
  • JVM常用命令
  • leetcode做题笔记213. 打家劫舍 II
  • 多输入多输出 | Matlab实现WOA-RBF鲸鱼算法优化径向基神经网络多输入多输出预测
  • 玻色量子签约移动云“五岳”量子云计算创新加速计划!
  • Postgresql在linux环境下以源码方式安装