4.6 KiB
华东师范大学软件学院实验报告
一、实验目的
-
学会使用curl与wget指令
-
学会通过Wireshark获取数据包
-
了解协议层数据包的结构
-
学会计算并分析协议开销
二、实验内容与实验步骤
-
在控制台中输入"curl http://1st.moe/",并观察到"200 OK"
-
启动Wireshark,选择监听以太网,并将捕获过滤器设置为tcp port
80,关闭混杂模式,并启用"enable network name resolution"选项
-
关闭所有浏览器窗口后开始捕获
-
重新在控制台输入"curl http://1st.moe/"
-
停止Wireshark捕获
三、实验环境
B226机房电脑
四、实验过程与分析
-
实验过程
- 捕获内容如图所示
-
- 分析协议包的内容
{width="8.504cm" height="3.6cm"}
{width="8.504cm" height="3.579cm"}
{width="8.504cm" height="3.556cm"}
{width="8.504cm" height="3.489cm"}
根据如上四张图片,可以发现各个协议所占的字节数为
+---------------------------------------+-------------+ | > 协议 | > 字节数 | +---------------------------------------+-------------+ | > Ethernet (eth) | > 14 bytes | +---------------------------------------+-------------+ | > Internet Protocol Version 6 (ipv6) | > 40 bytes | +---------------------------------------+-------------+ | > Transmission Control Protocol (tcp) | > 20 bytes | +---------------------------------------+-------------+ | > Hypertext Transfer Protocol (http) | > 128 bytes | +---------------------------------------+-------------+
则包的结构大致如下
+-------------------+--------------------+------------+-------------+ | > eth | > ip | > tcp | > http | +-------------------+--------------------+------------+-------------+ | > 14 bytes | > 40 bytes | > 20 bytes | > 128 bytes | +-------------------+--------------------+------------+-------------+ | > Ethernet Header | > Ethernet Payload | | | +-------------------+--------------------+------------+-------------+ | > IP Header | > IP Payload | | | +-------------------+--------------------+------------+-------------+
-
问题
- 分析协议开销
一个GET本身的大小为128 bytes,而其相应产生的SYN、ACK请求也应算入其开销中。根据图片
可以计算得出由于协议产生的总开销为86+74+(202-128)+74=308 bytes,从而计算得出比值约为0.4156,考虑到信息传输的稳定性,协议开销是值得的。
-
- 以太网头部中哪一部分是解复用键并且告知它的下一个高层指的是IP,在这一包内哪一个值可以表示IP
根据图片
可以直观看出ipv6对应的分解键为0x86dd,tcp对应的分解键为6
- 故障分析
在实验过程中出现了控制台有反馈但Wireshark没有捕获的情况,经排查后发现是由于控制台指令输入错误:误将http输入为https所致。
五、实验结果总结
- 实验完成了对一个HTTP包的拆解与分析,其大体结构大致如下
+-------------------+--------------------+------------+-------------+ | > Eth | > ip | > tcp | > http | +-------------------+--------------------+------------+-------------+ | > 14 bytes | > 40 bytes | > 20 bytes | > 128 bytes | +-------------------+--------------------+------------+-------------+ | > Ethernet Header | > Ethernet Payload | | | +-------------------+--------------------+------------+-------------+ | > IP Header | > IP Payload | | | +-------------------+--------------------+------------+-------------+
-
实验通过curl指令与Wireshark软件完成,在其中熟悉网络工具的使用,并体会到其强大之处
-
通过查询相关资料,了解开销、分解键等概念
六、附录
无







