风也温柔

计算机科学知识库

计算机网络课程设计吴功宜 网络课程设计任务书(完整)

  本资源由会员分享,可在线阅读,更多相关《网络课程设计任务书(完整)(12页珍藏版)》请在人人文库网上搜索。

  1、计算机网络原理发送TCP 数据包 年 月 日 至 年 月 日学 生 姓 名班学成级号绩指 导 教 师 ( 签 字 )年 7 月 日1湖南工业大学 学年第 二 学期计算机与通信课程名称:设计题目:学院(系、部) 通信工程 专业 071 班级计算机网络原理发送 TCP数据包完成期限:自 2010 年 6 月 28 日至 2010 年 7 月 02 日共 1 周内1.本程序的功能是填充一个 TCP数据包,并发送给目的主机。2.以命令行形式运行: 其中 为程序名;

  2、为源 IP地址; 为源端口;为目的 IP地址; 为目的端口。3.其他的 TCP头部参数自行设定。4.数据字段为“This is my of ”.5.成功发送后在屏幕上输出“send ”。容及任务进度安排查阅资料、算法分析设计、完成流程图的设计了解初始化原始套接字1 谢希仁.计算机网络().电子工业出版社.2008主要参考资料2 吴功宜.计算机网络 ().清华大学出版社.20083 吴功宜.计算机网络课程设计.机械工业出版社.2005(校图书馆:TP393.466)4 吴英.计算机网络软件编程指导书.清华大学出版社.200

  3、85 徐明伟.计算机网络原理实验教程.机械工业出版社.2008指导 教师 年年月月日日系( 教研室)主 任( 21.本程序的功能是填充一个 TCP数据包,并发送给目的主机。2.以命令行形式运行: 其中 为程序名;为源 IP地址; 为源端口;为目的 IP地址; 为目的端口。3.其他的 TCP头部参数自行设定。4.数据字段为“This is my of ”.5.成功发送后在屏幕上输出“send ”。主要

  计算机网络课程设计吴功宜_计算机网络高级软件编程技术吴功宜pdf_吴功宜编程技术资料

  4、要求:1算法正确,程序运行正常、输出清晰。2遵循良好的编程规范,程序要有合适的注释。34设计说明书逻辑清晰计算机网络课程设计吴功宜,主要算法用流程图表述,书写规范。时间安排与完成情况6 月 28 号, 查找好相关资料、理解原理、并分配好任务6 月 29 号, 熟悉了解初始化原始套接字的过程6 月 30 号,熟悉并且了解发送数据包的过程7 月 01 号计算机网络课程设计吴功宜, 把两者结合起来,实现程序的功能7 月 02 号,编写调试,并且撰写课程设计报告3设计一个发送 TCP数据包的程序计算机网络课程设计吴功宜 网络课程设计任务书(完整),并根据本设计说明 TCP数据包的结构以及 TCP协议与 IP TCP协议的工作原理有更深入的认识。本程序的功能是填充一个 TCP数据包,并发送给目的主机

  5、。 以命令行形式运行:Send TCP 为程序名;为源 IP地址;为源端口; 为目的 IP地址; 为目的端口。 其他的 TCP头部参数自行设定。 数据字段为“This is my of ”. 成功发送后在屏幕上输出“send 三、设计分析:四、设计思想:本课程设计的目标是发送一个 TCP 数据包,可以利用原始套接字来完成这个工作。整个程序由初始化原始套接字和发送 TCP 数据包两个部分组成。sock=

  6、ket(,,,NULL,0,);设置 标志,表示我们声明的是一个原始套接字类型。为 使 用 发 送 接 收 超 时 设 置 , 必 须 将 标 志 位 置 位 置 为4。在本课程设计中,发送 TCP 包时隐藏了自己的IP IP IP flag设置为 ,并设定 选项,表明自己来构造 IP 头。注意,如果设置

  7、r修改键:(类型为 1。如果没有,就添加。(sock, , , (char )&Flag, (Flag);int ;,,(char)&,在这里我们使用基本套接字 ,设置 表示使用发送超时设置,超时时间设置为 。在填充数据包的过程中,需要调用计算校验和的函数 两次,分别用于校验IP头和 TCP while(size 1)size -=();if(size )5cksu

  8、m = (cksum 16) + (cksum & 0 xffff);cksum += (cksum 16); ()(cksum);构造原始套接字,并初始化填充头部计算头部检验和构造TCP伪头部填充TCP头部计算TCP头部校验和发送TCP数据报结束6# 65500 /发送缓冲区最大值 /8 位服务类型TOS/16 位总长度(字节)/16 位标识/8 位生存时间 TTL/8位协议 UDP 或其他)/16位 IP 首部校验和/32 位源IP 地址 ; th_

  9、dport;ULONG ;ULONG ;/16 位目的端口/32位序列号/32位确认号7/4 位首部长度/6 位保留字/6位标志位 long cksum=0;if(size)cksum += (UCHAR);cksum += (cksum 16); ; ;char LEN; /发送缓冲区BOOL flag;int rect,;if (argc!= 5)(: soru

  计算机网络课程设计吴功宜_吴功宜编程技术资料_计算机网络高级软件编程技术吴功宜pdf

  10、ce_ip n); false;if (((2,2), &)!=0)( Error!n);flag=true;if((sock,,,(char)&flag,(flag)=( error!n);if(char)&,.ident=0;/计算IP 头部检验和.ptcl

  11、=.proto;/TCP 长度和保留位.=2;16 是 ACK探测 等等/修改这里来实现不同的标志位探测,2是 SYN1 是/FIN,/发送数据报的目的地址 dest;.=;dest.=htons(atoi(argv4);(send error!:%dn,();else七、实验运行结果:所以进入 .168.18.3 12 192.168.18.7 25,回车运行,运行截图如下:11在对 TCP 在

  12、这个过程中可以了解相应字节上应该存放的内容和它们的功能。由于本次的课程设计只要求填充一个 TCP 数据包,然后将其发送出去,使用的数据发送函数是 ,成功地完成调用只能保证数据已经从本地发送出去,并不意味着数据传送到达目的地。经过此次计算机网络原理课程设计我学到了很多知识和学习方法,更加深了我对计算机网络原理课程的理解。在此次的计算机网络课程设计中,我们IP 数据包解析和发送 TCP 于时间局限,最后我只选择了 TCP 数据包的发送作为课程设计答辩。在开始编写程序的时候,我们束手无策,后来在参考了别人的程序之后,我开始有了一点头绪,于是开始动手编写程序了,幸好我之前 C+学得不错,在编写完部分程序以后,经调试慢慢的修改了一些错误,但是最终使得程序还是能够运行!此次课程设计,对我来说不仅是一种量的升级,更是一种质的升级。虽然在此次过程中我还是遇到了不少的问题,但是最后在组长和老师的帮助下,我终于完成了在这次课程设计中的任务。此次课程设计,在编写程序的过程中,我用到了很多的函数,这些函数的运用使得程序简便而且正确的运行出来。为了正确的实现这些函数,我们查阅了很多相关的资料,从中获得了大量的有用的信息,收获也颇丰富。总的来说,这次设计让我受益匪浅。此次课程设计不仅增强了我的思维能力,也增强了我的动手能力,为我以后的学习和工作奠定了良好的基础。12

  文章来源:https://www.renrendoc.com/paper/224120349.html