欢迎来到天天文库
浏览记录
ID:14334085
大小:328.37 KB
页数:12页
时间:2018-07-28
《网络编程课程设计-网路嗅探器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊长春大学课程设计纸目录1设计目的12设计内容23程序流程24设计步骤35设计总结10共12页第12页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊长春大学课程设计纸1设计目的网络通信课程设计是网络工程专业的大型作业课。是培养计算机领域从事网络技术及应用工作的高级工程技术人才的必修课程。本课的主要任务是使学生队所学的《计算机网络》知识从实践上有一个较清晰的了解。对当前计算机网络的主要种类和
2、常用的网络协议有更进一步的深入认识。学会计算机网络设计和日常管理及维护的最基本方法。网络编程简单的理解就两台计算机相互通讯数据,通过使用套接字来达到进程通信目的编程就是网络编程。网络编程最主要工作就是在发送端把信息通过规定好的协议进行组包,在接收端按照规定好的协议把包进行解析,从而提取出相应的信息,达到通信的目的。中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析,当然最后再做一些处理。本次实验运用C++的网络编程相关知识,通过学习了解了TCP和UDP协议的基本知识和SOCK
3、ET编程的基本概念,完成tracert程序,实现ping功能和路由追踪功能。2设计内容一、学习实践要求1.对计算机网络的物理构成有清晰的了解;2.理解计算机网络体系结构的内涵;3.熟悉计算机网络的分类及常用的网络协议;4.基于掌握计算机网络软件的开发方法;5.具备管理计算机网络的基本知识及技能。二、模块功能(1)pin功能:发送ICMP数据包到计算机,如有返回,显示相应时间等。(2)路由探测功能:依次ping途经的路由器或网关设备,依次显示途经路由器的响应时间。3程序流程共12页第12页┊┊┊┊
4、┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊长春大学课程设计纸超时,打印星号解析命令行参数中的IP地址或主机名开始是预期数据报?解析数据报并显示输出有数据报到达?填充ICMP回显请求数据报并发送TTL++(初始为1)目的主机回应答或达到最大跳站值?初始化winsock2环境结束释放分钟资源打印结束信息NYYYNN共12页第12页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊长春大学课程设计纸图1流程图4设计步骤一、程序运行结果相关截图图2
5、运行结果共12页第12页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊长春大学课程设计纸图3运行结果图4运行结果共12页第12页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊长春大学课程设计纸图5运行结果二、程序源代码#include#include#includeusingnamespacestd;#pragmacomment(lib,"Ws2_32.lib")/
6、/IP报头typedefstruct{unsignedcharhdr_len:4;//4位头部长度unsignedcharversion:4;//4位版本号unsignedchartos;//8位服务类型unsignedshorttotal_len;//16位总长度共12页第12页┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊长春大学课程设计纸unsignedshortidentifier;//16位标识符unsignedshortfrag_and_flags;/
7、/3位标志加13位片偏移unsignedcharttl;//8位生存时间unsignedcharprotocol;//8位上层协议号unsignedshortchecksum;//16位校验和unsignedlongsourceIP;//32位源IP地址unsignedlongdestIP;//32位目的IP地址}IP_HEADER;//ICMP报头typedefstruct{BYTEtype;//8位类型字段BYTEcode;//8位代码字段USHORTcksum;//16位校验和USHORT
8、id;//16位标识符USHORTseq;//16位序列号}ICMP_HEADER;//报文解码结构typedefstruct{USHORTusSeqNo;//序列号DWORDdwRoundTripTime;//往返时间in_addrdwIPaddr;//返回报文的IP地址}DECODE_RESULT;//计算网际校验和函数USHORTchecksum(USHORT*pBuf,intiSize){unsignedlongcksum=0;while(iSize>1){cksum+=*pBuf++;
此文档下载收益归作者所有