1 / 11
文档名称:

TCP数据包的抓取与分析.doc

格式:doc   大小:821KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

TCP数据包的抓取与分析.doc

上传人:260933426 2017/8/8 文件大小:821 KB

下载得到文件列表

TCP数据包的抓取与分析.doc

相关文档

文档介绍

文档介绍:计算机网络
课程设计报告
课程设计题目:TCP数据包的抓取与分析

专业:
班级:
姓名:
学号:
指导教师:
年月日
目录
摘要.........................................................................................3
引言.........................................................................................4
目录.........................................................................................2
TCP数据包抓取....................................................................5
TCP数据包分析....................................................................7
程序设计.................................................................................8
出现的错误和解决方法.........................................................12
结束语.....................................................................................13
参考文献.................................................................................14
摘要
本课程设计通过Ethereal捕捉实时网络数据包,并根据网络协议分析流程对数据包在TCP/IP各层协议中进行实际解包分析,让网络研究人员对数据包的认识上升到一个感性的层面,为网络协议分析提供技术手段。最后根据Ethereal的工作原理,用Visual C++编写一个简单的数据包捕获与分析软件。
引言
本课程设计通过技术手段捕获数据包并加以分析,追踪数据包在TCP/IP各层的封装过程,对于网络协议的研究具有重要的意义。 
Wireshark是当前较为流行的图形用户接口的抓包软件,是一个可以用来监视所有在网络上被传送的包,并分析其内容的程序。它通常被用来检查网络工作情况,或是用来发现网络程序的bugs。通过 Wireshark对TCP、UDP、SMTP、和FTP等常用协议进行分析,非常有助于网络故障修复、分析以及软件和协议开发。,它以开源、免费、操作界面友好等优点广为世界各地网络研究人员使用为网络协议分析搭建了一个良好的研究平台。
TCP数据包的抓取
首先运行 Wireshark抓包软件
然后选取一个接口进行抓包
对TCP 包进行过滤
选取其中一个TCP数据包进行查看
获取TCP包的基本数据结构和组成
TCP数据包的分析
28 2c b2 55 18 de 24 0a 64 4e 95 47 08 00 45 00
00 28 0d 10 40 00 40 06 43 77 c0 a8 01 65 3f d9
e8 62 0a fa 00 50 4f bd 55 7c ba 66 1c 0d 50 10
fd 20 41 73 00 00
获得以上信息后,结合她的结构,设计分析程序,主要通过调用该文件,然后进行分析并输出
程序设计
源代码:
#include ""
#include ""
#include ""
int a_all[10000];
int nIndex;
void PrintSomeUdp(int nStart,int nEnd)
{
for(int i=nStart;i<=nEnd;i++)
{
printf("%.2x ",a_all[i]);
}
printf("\n");
}
void PrintSomeUdpData(int nStart,int nEnd)
{
for(int i=nStart;i<=nEnd;i++)
{
printf("%.2x ",a_all[i]);
if((i-nStart+1)%16==0)
printf("\n");
}
prin