版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机网络原理发送TCP 数据包 年 月 日 至 年 月 日学 生 姓 名班学成级号绩指 导 教 师 ( 签 字 )年 7 月 日1湖南工业大学20092010 学年第 二 学期计算机与通信课程名称:设计题目:学院(系、部) 通信工程 专业 071 班级计算机网络原理发送 TCP数据包完成期限:自 2010 年 6 月 28 日至 2010 年 7 月 02 日共 1 周内1.本程序的功能是填充一个 TCP数据包,并发送给目的主机。2.以命令行形式运行:SendTCP source_ip source_port dest_ip dest_port其中 SendTCP为程序名;source_ip
2、为源 IP地址; source_port 为源端口;dest_ip为目的 IP地址; dest_port为目的端口。3.其他的 TCP头部参数自行设定。4.数据字段为“This is my homework of ”.5.成功发送后在屏幕上输出“send ”。容及任务进度安排查阅资料、算法分析设计、完成流程图的设计了解初始化原始套接字1 谢希仁.计算机网络().电子工业出版社.2008主要参考资料2 吴功宜.计算机网络 ().清华大学出版社.20083 吴功宜.计算机网络课程设计.机械工业出版社.2005(校图书馆:TP393.466)4 吴英.计算机网络软件编程指导书.清华大学出版社.200
3、85 徐明伟.计算机网络原理实验教程.机械工业出版社.2008指导 教师 年年月月日日系( 教研室)主 任( 21.本程序的功能是填充一个 TCP数据包,并发送给目的主机。2.以命令行形式运行:SendTCP source_ip source_port dest_ip dest_port其中 SendTCP为程序名;source_ip为源 IP地址; source_port 为源端口;dest_ip为目的 IP地址; dest_port为目的端口。3.其他的 TCP头部参数自行设定。4.数据字段为“This is my homework of ”.5.成功发送后在屏幕上输出“send ”。主要
4、要求:1算法正确,程序运行正常、输出清晰。2遵循良好的编程规范,程序要有合适的注释。34设计说明书逻辑清晰,主要算法用流程图表述,书写规范。时间安排与完成情况6 月 28 号, 查找好相关资料、理解原理、并分配好任务6 月 29 号, 熟悉了解初始化原始套接字的过程6 月 30 号, 熟悉并且了解发送数据包的过程7 月 01 号, 把两者结合起来,实现程序的功能7 月 02 号,编写调试,并且撰写课程设计报告3设计一个发送 TCP数据包的程序,并根据本设计说明 TCP数据包的结构以及 TCP协议与 IP TCP协议的工作原理有更深入的认识。本程序的功能是填充一个 TCP数据包,并发送给目的主机
5、。 以命令行形式运行:Send TCP source_ip source_port dest_ipdest_port SendTCP为程序名;source_ip为源 IP地址;source_port为源端口; dest_ip为目的 IP地址; dest_port为目的端口。 其他的 TCP头部参数自行设定。 数据字段为“This is my homework of ”. 成功发送后在屏幕上输出“send 三、设计分析:四、设计思想:本课程设计的目标是发送一个 TCP 数据包,可以利用原始套接字来完成这个工作。整个程序由初始化原始套接字和发送 TCP 数据包两个部分组成。sock=WSASocc
6、ket(AF_INET,SOCK_RAW,IPPROTO_IP,NULL,0,WSA_FLAG_OVERLAPPED);设置 SOCK_RAW标志,表示我们声明的是一个原始套接字类型。为 使 用 发 送 接 收 超 时 设 置 , 必 须 将 标 志 位 置 位 置 为4。在本课程设计中,发送 TCP 包时隐藏了自己的IP IP IP flag设置为 ,并设定 IP_HDRINCL 选项,表明自己来构造 IP 头。注意,如果设置IP_HDRINCL administratorHKEY_LOCAL_MACHINESystemCurrentControlSetServicesAfdParamete
7、r修改键:DisableRawSecurity(类型为 1。如果没有,就添加。setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char *)&Flag, sizeof(Flag);int ;SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,在这里我们使用基本套接字 ,设置 SO_SNDTIMEO 表示使用发送超时设置,超时时间设置为 。在填充数据包的过程中,需要调用计算校验和的函数checksum 两次,分别用于校验IP头和 TCP while(size 1)size -=sizeof(USHORT);if(size )5cksu
8、m = (cksum 16) + (cksum & 0 xffff);cksum += (cksum 16);return (USHORT)(cksum);构造原始套接字,并初始化填充头部计算头部检验和构造TCP伪头部填充TCP头部计算TCP头部校验和发送TCP数据报结束6#define MAX_BUFF_LEN 65500 /发送缓冲区最大值typedef struct ip_hdr/8 位服务类型TOS/16 位总长度(字节)/16 位标识/8 位生存时间 TTL/8位协议 UDP 或其他)/16位 IP 首部校验和/32 位源IP 地址USHORT th_sport;USHORT th_
9、dport;ULONG th_seq;ULONG th_ack;/16 位目的端口/32位序列号/32位确认号7/4 位首部长度/6 位保留字/6位标志位unsigned long cksum=0;if(size)cksum += *(UCHAR*)buffer;cksum += (cksum 16);TCP_HEADER tcpHeader;PSD_HEADER psdHeader;char Sendto_BuffMAX_BUFF_LEN; /发送缓冲区BOOL flag;int rect,nTimeOver;if (argc!= 5)8printf(Useage: SendTcp soru
10、ce_ip source_port dest_ip dest_port n);return false;if (WSAStartup(MAKEWORD(2,2), &WSAData)!=0)printf(WSAStartup Error!n);flag=true;if(setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char*)&flag,sizeof(flag)=printf(setsockopt IP_HDRINCL error!n);if(char*)&nTimeOver,ipHeader.ident=0;/计算IP 头部检验和9psdHeader.ptcl
11、=ipHto;/TCP 长度和保留位tcpHeader.th_flag=2;16 是 ACK探测 等等/修改这里来实现不同的标志位探测,2是 SYN1 是/FIN,/发送数据报的目的地址SOCKADDR_IN dest;10dest.sin_family=AF_INET;dest.sin_port=htons(atoi(argv4);printf(send error!:%dn,WSAGetLastError();else七、实验运行结果:所以进入 dossendtcp 12 25,回车运行,运行截图如下:11在对 TCP 在
12、这个过程中可以了解相应字节上应该存放的内容和它们的功能。由于本次的课程设计只要求填充一个 TCP 数据包,然后将其发送出去,使用的数据发送函数是 ,成功地完成调用只能保证数据已经从本地发送出去,并不意味着数据传送到达目的地。经过此次计算机网络原理课程设计我学到了很多知识和学习方法,更加深了我对计算机网络原理课程的理解。在此次的计算机网络课程设计中,我们IP 数据包解析和发送 TCP 于时间局限,最后我只选择了 TCP 数据包的发送作为课程设计答辩。在开始编写程序的时候,我们束手无策,后来在参考了别人的程序之后,我开始有了一点头绪,于是开始动手编写程序了,幸好我之前 C+学得不错,在编写完部分程序以后,经调试慢慢的修改了一些错误,但是最终使得程序还是能够运行!此次课程设计,对我来说不仅是一种量的升级,更是一种质的升级。虽然在此次过程中我还是遇到了不少的问题,但是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 刨花板铺装工规章制度考核试卷含答案
- 花艺环境设计师岗前安全文明考核试卷含答案
- 孵化工岗位安全宣传考核试卷含答案
- 暑期网安课堂:文明上网保护个人隐私
- 高校顶岗实习岗前培训新范式:河北师范大学“TPTW模式”的深度解析与实践探索
- 高校英语专业学生英语语音错误剖析:溯源与教学优化策略
- 高校学生就业的资本驱动力:人力资本与家庭资本的实证探究
- 高校图书馆参考咨询:价值、困境与突破路径探究
- 高校全日制硕士研究生就业匹配的多维度解析-基于Y大学的实证洞察
- 高新技术企业风险投资中NFVA、项目创新与治理结构的联动效应及优化策略研究
- 旅行社安全生产例会制度模版(3篇)
- DB31∕T 1019-2016 儿童验光配镜技术服务规范
- 高中一年级英语阅读训练100篇
- 工地试验室建设专项方案
- DL∕T 5344-2018 电力光纤通信工程验收规范
- T-CCIIA 0004-2024 精细化工产品分类
- SL+303-2017水利水电工程施工组织设计规范
- 洪涝灾害灾区预防性消毒技术指南
- 管道热损失的计算方法
- 手足外科植皮护理查房
- GB/T 28561-2023船舶电气设备自动化、控制和测量仪表
评论
0/150
提交评论