【计算机网络 实验七】LINUX环境下UDP通信程序设计

📅 2026/8/22 12:45:29
【计算机网络 实验七】LINUX环境下UDP通信程序设计
实验记录可能存在错误仅供学习参考第1关UDP套接字创建与端口绑定1、双击打开桌面上的工作区文件夹workspace再双击实训文件夹myshixun打开文件message7-1.txt。2、在/home/headless/Desktop/workspace/myshixun/client/目录下阅读程序test.c请用编辑器Vscode完善/***BEGIN***/与/***END***/之间的语句3处每处1句。将这3个语句依次写到文件message7-1.txt的第1、2、3行末尾要求语句中尽可能不含空格。3、并保存该文件message7-1.txt。推荐使用vs这里使用的是vimvim操作右键选择使用vim打开进入后键盘输入i进入插入模式输入相关语句如图所示。在完成输入后键盘Esc退出插入模式再次输入wq保存并退出之后根据头歌该关卡的提示进行运行就行我这里做实验赶时间就没有运行截图打开命令行并使用cd命令进入到c文件所在文件夹再输入执行命令不然会存在找不见文件的情况命令gcc test.c -o test //编译 chmod x test //提权 ./test //运行c程序第2关UDP数据发送与接收1、双击打开桌面上的工作区文件夹workspace再双击实训文件夹myshixun打开文件message7-2.txt。2、在/home/headless/Desktop/workspace/myshixun/client/目录下阅读客户端程序c2.c。3、在/home/headless/Desktop/workspace/myshixun/server/目录下阅读服务器端程序s2.c请用编辑器Vscode完善/***BEGIN***/与/***END***/之间的语句3处每处1句。将这3个语句依次写到文件message7-2.txt的第4、5、6行末尾要求语句中尽可能不含空格。4、并保存该文件message7-2.txt。运行命令gcc s2.c -o s2 chmod x s2 ./s2第3关拓展实验1参考案例项目设计一个基于UDP的文件下载工具该工具由服务器端程序s3.c和 客户端程序c3.c两部分组成。要求服务器端先运行它会提示可下载的文件信息客户端后运行它会向服务器端请求下载某个文件文件不存在会提示文件下载完毕会提示然后双方程序结束。服务器端运行时可带一个参数代表UDP端口没有参数时端口默认为1234客户端运行时只能带1个参数或3个参数带1个参数时这个参数是要下载的文件名带3个参数时它们分别是服务器端IP、服务器端端口、要下载的文件名。2、双击打开桌面上的工作区文件夹workspace再双击实训文件夹myshixun 打开文件message7-3.txt。3、服务器端程序s3.c已经完成放在以下目录内/home/headless/Desktop/workspace/myshixun/server/客户端程序c3.c基本已经完成放在以下目录内/home/headless/Desktop/workspace/myshixun/client/请用编辑器Vscode完善/***BEGIN***/与/***END***/之间的语句2处每处1句。将这2个语句依次写到文件message7-3.txt的第7、8行末尾要求语句中尽可能不含空格。4、分别在两个终端窗口内编译这两个程序通过编译后再运行测试这两个程序。5、把编译后的客户端程序c3发到自己的邮箱内。在当前的平台上进入一个终端窗口用ifconfig命令查看自己主机的IP地址进入服务器端所在目录运行s3。6、在另一个浏览器窗口中进入上一次实验项目的桌面系统从自己的邮箱内下载c3到本地默认目录/home/headless/下载在当前的平台上进入一个终端窗口用ifconfig命令查看自己主机的IP地址然后带参数运行c33个参数。7、针对两端通信报文要求在服务器端用Wireshark进行跟踪通信结束后在Wireshark的显示过滤器栏内按某一方的IP地址和UDP端口信息进行过滤。8、分析所捕获的报文最大的UDP PDU协议数据单元长度是多少字节其在网络层封装时被分成几片请将答案只写数值依次写到文件message7-3.txt的第9行末尾要求答案之间加空格隔开。代码补齐这个关卡有两个c文件分别模拟了客户端(c3.c)和服务端s3.c需要开启两台虚拟机我是选择以实验七的虚拟机为服务端以实验六的虚拟机为客户端1先使用 GCC 编译器编译 C 语言源代码gcc c3.c -o c3得到编译后的c3程序文件2在服务端虚拟机上登录qq邮箱将c3程序文件是程序文件没有后缀不是带.c的源代码文件发送给自己。3在客户端虚拟机上登录qq邮箱将c3文件下载下来。4在两个虚拟机里分别使用ifconfig查询ip地址将参数填好进行信息交换服务端客户端5使用wireshare抓包并且过滤只寻找udp包发现最长的是2009分成两片神秘的答案