- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据通信与网络课程设计实践报告- 解析IP数据包精选
数据通信与网络课程设计
实践报告
题 目: 解析IP数据包 姓 名: 学 院: 信息科技学院 专 业: 计算机科学技术系 班 级: 计科73 学 号: 指导教师: 职称: 2010 年9月 15日
摘要:互联网络层是TCP/IP协议参考模型中的关键部分.IP协议把传输层送来的消息组装成IP数据包,并把IP数据包传送给数据链层.IP协议在TCP/IP协议族中处于核心地位,IP协议制定了统一的IP数据包格式,以消除个通信子网中的差异,从而为信息发送方和接收方提供了透明的传输通道。本程序使用套接字socket编程,将网受流经网卡的所有类型的数据包。首先,初始化套接字,然后监听数据包,解析数据包。
关键字:TCP/IP协议,数据包,套接字,解析
一 设计内容及任务
利用C/C++/VC/VB/JAVA语言,根据所学知识,设计程序,功能为捕获网络中的IP数据包,接续数据包的内容,将结果显示在标准输出上,并同时写入日志文件。
具体:
以命令行形式运行,ipparse logfile,其中ipparse是程序命,而logfile则代表记录记过的日志文件。
在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。
当程序接收到键盘输入Ctrl+C时推出。
二 设计思想
IP数据报的格式说明IP协议都具有什么功能。其首部,版本目前广泛使用的版本号为4;首部长度站4bit;服务类型占8bit,其中服务类型TOS子域占4位,优先级子域占3位,另一位为保留位;总长度字段为2B,IP数据包的最大长度是65535B;标识占16bit,它是一个计数器,用来产生数据报的标识;标志占3bit,其中最低为为MF,MF=1时为后面“还有分片”,MF=0表示这是数据报片中的最后一个,DF=0时,表示允许分片;片偏移以8个字节为偏移单位;生存时间字段记为TTL,单位为秒;协议段占8bit,用于指出次数据是使用何种协议,典型的协议号有6:TCP,17:UDP,1:ICMP。
本程序使用套接字socket编程,将网受流经网卡的所有类型的数据包。首先,初始化套接字,然后监听数据包,解析数据包。卡设为能够接
SOCKET sock=socket(AF_INET,SOCK_RAW,IPPROTO_IP)用来创建套接字,其参数为通信发生的区字段和套接字的类型。
WSAIoctl(sock , IO_RCVALL ,dwBufferInLen , sizeof(dwBufferInLen)函数用来把网卡设置为混杂模式。
recv(sock,buffer,65535,0)函数用来接收经过的IP包,其参数分别是套接字描述符,缓冲区的地址,缓冲区的大小。
typedef struct IP_HEAD
{
}}ip_head;用来定义IP头部数据。
setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char *)函数用来获取本机IP地址
htons()函数将无符号短整型转换为网络字节顺序的数据
本程序在windows环境下利用C++语言编写。
三 程序流程
四 具体程序代码
#includeiostream
#includewinsock2.h
#includews2tcpip.h
#includefstream
#include windows.h
#pragma comment(lib,ws2_32) //指定连接到网络应用和internet#define IO_RCVALL _WSAIOW(IOC_VENDOR,1)
typedef struct IP_HEAD
{
union //定义联合
{
unsigned char Version;
unsigned char HeadLen;
};
unsigned char ServiceType;
unsigned short TotalLen;
unsigned short Identifier;
union
{
unsigne
您可能关注的文档
- 数学建模论文-基于神经网络和因子分析法的城市表层土壤金属污染分析精选.doc
- 数学建模论文-帆板控制系统精选.doc
- 数学建模论文-旅游线路的优化设计精选.doc
- 数学建模论文-水资源短缺风险综合评价精选.doc
- 数学建模论文-眼科病床的合理安排精选.doc
- 数学建模论文-统计分析下的病床分配优化模型精选.doc
- 数学建模论文-电力市场的输电阻塞管理精选.doc
- 数学建模论文-送货路线设计问题精选.doc
- 数学德萨格定理及其应用精选.doc
- 数学系网络的最短路径算法研究精选.doc
- 食品饮料深度研究:破局与重构:中国软饮行业的发展新纪元.pdf
- AI智慧校园建设综合解决方案(45页PPT).pptx
- App浪潮下的数据安全和个人信息保护监管解决方案(33页PPT).pptx
- K3WISE智能制造解决方案(39页PPT).pptx
- 122工业互联网基本概念及关键技术(294页PPT).pptx
- PeopleSoft概述组织架构和人事管理(124页PPT).ppt
- 72智慧工业园区环境监测一体化解决方案(53页PPT).ppt
- AWS数据湖和大数据服务介绍(45页PPT).pptx
- 城市规建管一体化平台建设方案(43页PPT).pptx
- 96科技园区规划设计方案智慧科技园规划设计方案(43页PPT).pptx
文档评论(0)