跳到主要内容

华东师范大学软件学院实验报告

一、实验目的

  1. 学会使用curl与wget指令

  2. 学会通过Wireshark获取数据包

  3. 了解协议层数据包的结构

  4. 学会计算并分析协议开销

二、实验内容与实验步骤

  1. 在控制台中输入curl http://1st.moe/,并观察到200 OK

  2. 启动Wireshark,选择监听以太网,并将捕获过滤器设置为tcp port 80,关闭混杂模式,并启用"enable network name resolution"选项

  3. 关闭所有浏览器窗口后开始捕获

  4. 重新在控制台输入 curl http://1st.moe/

  5. 停止Wireshark捕获

三、实验环境

B226机房电脑

四、实验过程与分析

  1. 实验过程

    捕获内容如图所示

    捕获内容

  2. 分析协议包的内容

    协议包内容1 协议包内容2 协议包内容3 协议包内容4

    根据如上四张图片,可以发现各个协议所占的字节数为

    协议字节数
    Ethernet (eth)14 bytes
    Internet Protocol Version 6 (ipv6)40 bytes
    Transmission Control Protocol (tcp)20 bytes
    Hypertext Transfer Protocol (http)128 bytes

    则包的结构大致如下

    ethiptcphttp
    14 bytes40 bytes20 bytes128 bytes
    Ethernet HeaderEthernet Payload
    IP HeaderIP Payload
  3. 问题

    1. 分析协议开销

      一个GET本身的大小为128 bytes,而其相应产生的SYN、ACK请求也应算入其开销中。根据图片 alt 可以计算得出由于协议产生的总开销为86+74+(202-128)+74=308 bytes,从而计算得出比值约为0.4156,考虑到信息传输的稳定性,协议开销是值得的。

    2. 以太网头部中哪一部分是解复用键并且告知它的下一个高层指的是IP,在这一包内哪一个值可以表示IP

      根据图片 alt alt 可以直观看出ipv6对应的分解键为0x86dd,tcp对应的分解键为6

  4. 故障分析

    在实验过程中出现了控制台有反馈但Wireshark没有捕获的情况,经排查后发现是由于控制台指令输入错误:误将http输入为https所致。

五、实验结果总结

  1. 实验完成了对一个HTTP包的拆解与分析,其大体结构大致如下

    thiptcphttp
    14 bytes40 bytes20 bytes128 bytes
    Ethernet HeaderEthernet Payload
    IP HeaderIP Payload
  2. 实验通过curl指令与Wireshark软件完成,在其中熟悉网络工具的使用,并体会到其强大之处

  3. 通过查询相关资料,了解开销、分解键等概念