wireshark抓包实验
计算机网络实验1-分层的协议栈体系结构
实验目的
分层的网络协议体系结构是网络的核心概念,本实验的目的是在学习掌握网络协议分析器工具的基础上,借助网络协议分析器学习在数据包中如何表示协议和分层。
实验工具
- Wireshark - Version 3.2.1 (v3.2.1-0-gbf38a67724d0)
- curl
实验步骤
加深对网络协议的理解通常可以通过观察协议的运行和不断调试协议完成,观察两个 协议实体之间交换的报文序列,深入了解协议操作的细节,执行某些动作,然后观察这些动作产生的结果。
在第一个 Wireshark 实验中,让我们熟悉 Wireshark,做一些简单的抓包和观察。
1 捕获数据包
本步骤用你的计算机从 Web 服务器获取一个 URL,捕获这次 HTTP 通信的数据包并 观察协议数据包结构。
- 打开Capture-option菜单,选择接口,设置过滤器为
tcp port 80
, 选择选项页面下的“解析网络名字”复选框;取消复选框 “混杂”
打开终端,运行
wget www.baidu.com
, 获取成功后返回Wireshark检查捕获的数据包
运行命令
curl www.baidu.com
,对应的过滤结果:查看其中的GET数据包
- GET包分为四个部分,分别是Ethernet,IPV4,TCP和 HTTP,数据帧4,数据链路层的source是本机的MAC地址,destination是路由器的地址
数据包结构
IPV4中的Dst 是百度的IPV4地址,从TCP中可以看出源端口为53883,目的端口为80,打开下方的HTTP协议 可以看到具体的内容,访问方式为GET,HOST为www.baidu.com,用户代理为curl,配合 下方的详细信息可以看出一个包的头部的封装结构,协议栈是自底向上组织的,头部的结构也是和协议栈的 顺序相同,各层数据包的嵌套关系图如下:
协议开销
使用命令
wget https://annewqx.top/gallery/thumbnails/caddy.png
,设置捕获选项为tcp port 443
监听结果
- 1~3为TCP/IP三次握手,和服务端建立连接
- 4是Get类型的HTTP请求;之后是数个TCP包;
- 71是HTTP,带着图片信息,其详细信息展示图片共51480bytes,由38个总长度为51935bytes的数据帧组成;效率99.12%,开销较小
复用/分用键字段
Ethernet的复用/分用键为首部末尾的2个字节,上层协议为IP(IPv4)时为08 00,IPv6为86 dd IP的复用/分用键为首部的第10个字节,为06