上计算机网络课的时候的实验报告,图很多很多。。。

1.实验内容

  1. 捕获观察并分析以太帧结构。
  2. 观察并分析ARP协议的报文
  3. 捕捉UDP报文并验证其校验和
  4. 捕捉TCP报文的连接释放–四次握手(注意 TCP Segment Len、Windows size value、Checksum等)
  5. 捕捉除TCP、UDP之外的4种IP层以上的网络协议(例如HTTP、ICMP、SSDP、QICQ等),并尝试分析

2.实验过程及分析

2.1 捕获观察并分析以太帧结构

从图中可以看出该帧的层次结构,以及帧长、源地址、目的地址、使用协议等简略信息。

在第一项的详情信息中可以观察到帧长、接收时间、协议类型,该项对应的是物理层的信息。

在第二项的详情信息中可以观察到源端、目的地的MAC地址、协议类型,该项对应的是数据链路层的信息。

在第三项的详情信息中可以观察到硬件类型、协议类型、操作类型、目的IP、MAC地址,源IP、MAC地址。

2.2 观察并分析ARP协议的报文

在2.1中捕获的信息即为ARP协议的报文,以下分析其详情信息:

报文前6个字节表示目的地址,该处为广播地址。

之后6个字节为源地址的MAC地址

这两个字节代表使用的协议为ARP

这两个字节代表使用以太网

这两个字节代表版本号

后两个字节是硬件大小和协议大小

这两个字节代表操作为request

源MAC地址

源IP地址

目的MAC地址、IP地址

填充项

2.3 捕捉UDP报文并验证其校验和

** 校验和的计算方法:**按每16位求和得出一个32位的数;如果这个32位的数,高16位不为0,则高16位加低16位再得到一个32位的数;重复第2步直到高16位为0,将低16位取反,得到校验和

对于这个UDP报文,采用上述方法计算校验和,计算结果为7efc,可见结果正确。

2.4 捕捉TCP报文的连接释放

用ftp连接到实验室服务器,再断开连接,可以捕获到TCP协议的4次握手过程

第一次握手:

从服务器发起,未分段,Seq = 7, Ack = 15, Segment len = 0, window size = 227, flags = FIN, ACK,校验和正确。

第二次握手:

从本机发出,Seq = 7, Ack = 16 = 15 + 1, len = 0, window size = 16445, Flags = ACK,校验和错误

第三次握手:

从本机发出,Seq = 7, Ack = 16, len = 0, window size = 16445, Flags = FIN, ACK, 校验和错误

第四次握手:

服务器发回,Seq = 16, Ack = 8 = 7 + 1, len = 0, window size = 227, Flags = ACK, 校验和正确。

以上观察符合断开TCP连接时的4次握手流程。

2.5 捕捉除TCP、UDP之外的4种IP层以上的网络协议

2.5.1 HTTP

随意访问一个网页,可以捕获http协议,可以看到帧结构,从上到下分别对应物理层、数据链路层、网络层、传输层、应用层的信息。

物理层、数据链路层、传输层、网络层与之前所观察的报文类似,这里还可以看到应用层信息:

2.5.2 ICMP

用终端给www.baidu.com传送两个数据包,可以捕获icmp协议的报文,可以观察到发送和回应的过程:

帧结构:

可以在IP层观察到TTL,与在终端观察到的结果相同;在ICMP结构中可以观察到响应时间,与终端的结果比较相近。

2.5.3 DNS

捕获DNS帧,可以观察到其结构,包含了UDP协议:

在DNS层可以观察到query信息:

2.5.4 OICQ

打开QQ客户端,可以捕获到OICQ协议报文,其包含UDP协议,可以观察到OICQ层,包括了版本、命令信息、序列号、QQ号、数据: