郑州大学计算机网络实验03 UDP协议探索和分析

实验三:UDP协议探索和分析

【实验目的】

1、掌握UDP协议数据格式;

2、掌握UDP首部各字段含义;

3、了解网卡offload技术;

4、熟悉Linux下nc命令的使用方法。

【实验步骤与结果记录】

要求:根据实验指导书中的实验内容和步骤,认真完成实验。采取截图、拍照等形式记录自己的实验步骤和结果。(可根据需要加页)

步骤1:创建虚拟网络拓扑。

1.使用script3.1.sh 脚本,创建如图所示的网络拓扑结构。

在Linux中,该虚拟网络拓扑的实现如图所示。

运行脚本,创建虚拟网络拓扑。

2.执行Linux命令,ip netns list 查询已经建立的NS列表,在所有NS内执行ifconfig -a 命令查看NS内的网络接口配置,执行Linux命令 brctl show 查看交换机桥接状态,验证网络拓扑。

步骤2:为虚拟网络拓扑中的各路由器配置静态路由。

1. 使用script3.2.sh 脚本,为各路由器配置静态路由。

步骤3:关闭网卡offload功能,将运输层封装时需要的计算还给CPU

1. 使用script3.3.sh 脚本,关闭网卡offload功能。

步骤4:打开两个终端窗口,分别模拟主机ns56A和主机ns57C

1.打开一个终端窗口,利用Linux命令bash将本窗口模拟成主机ns56A的终端  执行以下命令  。

ip netns exec ns56A bash

执行上述命令后,Linux将在网络命名空间ns56A中开启bash交互,之后输入的Linux命令均在ns56A中执行,相当于模拟了主机ns56A的终端。

2.然后输入 ifconfig -a ,确认是否成功模拟成主机ns56A。

为了避免混淆,可以改变终端窗口名字。

3. 再打开一个终端窗口,利用Linux命令bash将本窗口模拟成主机ns57C的终端  执行以下命令 

ip netns exec ns57C bash

  模拟主机ns57C的终端。

4.然后输入ifconfig -a ,确认是否成功模拟成主机ns57C,并修改终端名。

步骤5:在主机ns57C上启动Wireshark,在接口tap57C上启动抓包。

1.新开一个终端窗口,执行以下命令,在主机ns57C上后台启动Wireshark

 ip netns exec ns57C wireshark & 

2.在Wireshark窗口中选择接口tap57C,启动抓包。

步骤6:在主机ns57C上打开UDP服务程序,在主机ns56A上打开UDP客户程序,与ns57C上的UDP服务程序通信

1.在主机ns57C的模拟终端中,执行如下命令,在4499端口打开UDP服务程序   nc -lvu 4499 。

2.在主机ns56A的模拟终端中,执行如下命令,打开UDP客户程序,并指定UDP服务程序的IP地址和端口   。

nc -u 192.168.57.254 4499

3.在主机ns56A的模拟终端中,输入任意一行字符,然后回车确认,将输入的字符发给给主机ns57C。

4.在主机ns57C的模拟终端中,输入任意一行字符,然后回车确认,将输入的字符发给给主机ns56A。

步骤7:在Wireshark中停止抓包,保存抓包结果并分析本次UDP通信,理解UDP用户数据报格式

1.停止抓包,保存抓包结果,开始分析数据报。

【问题与分析】

1.在步骤6中,你从主机ns56A发给主机ns57C的一行字符是什么?主机ns57C收到了么?在Wireshark截获的UDP用户数据报中能看到么?截图说明你的分析过程。

发送的字符是hello。

主机ns57C收到了。

在Wireshark截获的UDP用户数据报中能看到,如下图所示。

2.在步骤6中,操作系统为主机ns56A上的UDP客户程序分配的端口号是多少?这个端口属于哪种类型的端口?主机ns57C上的服务程序什么时候能获知这个端口号?截图说明你的分析过程。

如图所示,分配的端口号是37744,该端口属于临时端口。

当ns57C接收到来自ns57A的UDP报文的时候知道的,此时得到源端口号为37744,并且在后面ns57C向ns57A发送数据时作为目的端口号。

3.在你的实验结果中,一共截获了几个UDP用户数据报?分析一个UDP客户发给UDP服务器的,一个UDP服务器发给UDP客户的用户数据报首部,截图并填写表3.1和表3.2。

一共截获了两个UDP用户数据报。

按照上图填写数据。

表3.1 UDP客户发给UDP服务器的用户数据报首部

字段名

源端口

37744

目的端口

4499

长度

14

校验和

0x2325

按照上图填写数据。

表3.2 UDP服务器发给UDP客户的用户数据报首部

字段名

源端口

4499

目的端口

37744

长度

11

校验和

0xf49d

4、在上一个问题中,UDP客户发给UDP服务器的用户数据报校验通过了么?请给出接收方校验这个用户数据报的方法,并手动计算校验和。说明你的分析和计算过程。

打开检测校验和功能,即可得知是否通过校验和

由图可知该用户数据报校验通过了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值