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

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

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

DNS报文

设置了筛选条件:dns

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

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

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

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

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

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

------dns报文格式:

应答报文:

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

资源记录部分的格式:

对应到本dns报文:

TCP报文:

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

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

注意画箭头的这三条:

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

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

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

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

比照端口发现:

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

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

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

这个是第1048行:

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

相关推荐
中云DDoS CC防护蔡蔡4 小时前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos
2301_780789664 小时前
跨平台适配!SDK 游戏盾兼容全终端游戏场景
java·网络·ddos
Ruiery5 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
2501_915106325 小时前
抓包抓到乱码或压缩字节怎么解析,TraceEagle五种查看模式和一键解码
网络协议·计算机网络·网络安全·ios·adb·https·udp
欧米欧5 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery5 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
前端精髓6 小时前
调用大模型API
运维·服务器·microsoft
星融元asterfusion6 小时前
工业网络升级实战:100G 双轨 Leaf-Spine 架构破解高并发出货网络瓶颈
网络·架构·spine
Da Da 泓6 小时前
五子棋 Web 端测试用例报告
前端·网络·websocket·网络协议·测试用例·项目
云和数据.ChenGuang7 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain