数据通信与网络课程设计实践报告- 解析ip数据包

数据通信与网络课程设计实践报告- 解析ip数据包

ID:6810614

大小:125.00 KB

页数:12页

时间:2018-01-26

数据通信与网络课程设计实践报告- 解析ip数据包_第1页
数据通信与网络课程设计实践报告- 解析ip数据包_第2页
数据通信与网络课程设计实践报告- 解析ip数据包_第3页
数据通信与网络课程设计实践报告- 解析ip数据包_第4页
数据通信与网络课程设计实践报告- 解析ip数据包_第5页
资源描述:

《数据通信与网络课程设计实践报告- 解析ip数据包》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据通信与网络课程设计实践报告题目:解析IP数据包姓名:学院:信息科技学院专业:计算机科学技术系班级:计科73学号:指导教师:职称:2010年9月15日摘要:互联网络层是TCP/IP协议参考模型中的关键部分.IP协议把传输层送来的消息组装成IP数据包,并把IP数据包传送给数据链层.IP协议在TCP/IP协议族中处于核心地位,IP协议制定了统一的IP数据包格式,以消除个通信子网中的差异,从而为信息发送方和接收方提供了透明的传输通道。本程序使用套接字socket编程,将网受流经网卡的所有类型的数据包。首先,初始化套接字,然后监听数据包,解析数据包。关键字:TCP/IP协议

2、,数据包,套接字,解析一设计内容及任务利用C/C++/VC/VB/JAVA语言,根据所学知识,设计程序,功能为捕获网络中的IP数据包,接续数据包的内容,将结果显示在标准输出上,并同时写入日志文件。具体:1.以命令行形式运行,ipparselogfile,其中ipparse是程序命,而logfile则代表记录记过的日志文件。2.在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。3.当程序接收到键盘输入Ctrl+C时推出。二设计思想IP数据报的格

3、式说明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。

4、本程序使用套接字socket编程,将网受流经网卡的所有类型的数据包。首先,初始化套接字,然后监听数据包,解析数据包。卡设为能够接SOCKETsock=socket(AF_INET,SOCK_RAW,IPPROTO_IP)用来创建套接字,其参数为通信发生的区字段和套接字的类型。WSAIoctl(sock,IO_RCVALL,&dwBufferInLen,sizeof(dwBufferInLen)函数用来把网卡设置为混杂模式。recv(sock,buffer,65535,0)函数用来接收经过的IP包,其参数分别是套接字描述符,缓冲区的地址,缓冲区的大小。typedefst

5、ructIP_HEAD{}}ip_head;用来定义IP头部数据。setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char*)函数用来获取本机IP地址htons()函数将无符号短整型转换为网络字节顺序的数据本程序在windows环境下利用C++语言编写。三程序流程四具体程序代码#include#include#include#include#include#pragmacomment(lib,"ws2_32")//指定连接到网络应用

6、和internet#defineIO_RCVALL_WSAIOW(IOC_VENDOR,1)typedefstructIP_HEAD{union//定义联合{unsignedcharVersion;unsignedcharHeadLen;};unsignedcharServiceType;unsignedshortTotalLen;unsignedshortIdentifier;union{unsignedshortFlags;unsignedshortFragOffset;};unsignedcharTimeToLive;unsignedcharProtocol;u

7、nsignedshortHeadChecksum;unsignedintSourceAddr;unsignedintDestinAddr;unsignedcharOptions;}ip_head;//定义IP头部的数据结构voidmain(intargc,char*argv[]){usingnamespacestd;ofstreamoutfile("C:\logfile.txt",ios::out);if(argc!=2){cout<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。