论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > VC >

A450局域网的数据包监听及数据分析论文

5.3 系统主要功能介绍

从5.2中可以看出如何截获数据包和如何对数据包进行分析是此系统的核心成分下面对这2个部分进行介绍: paper51.com

(1)截获数据包

http://www.paper51.com

在进行监听之前要先加载sock,如果没连接网上就会显示加载失败,不能进行监听。 http://www.paper51.com

这里需要说明的是加载sock,建立原始套节字,设置套节字选项和把网卡置于混杂模式获取IO操作的相关信息是引用的固定代码。具体流程如图5-2所示。 内容来自www.paper51.com

(2)IP数据包分析

copyright paper51.com

先将截获到的数据包转为IP头结构,然后得到包中的协议,在对协议分析,得到源地址和目的地址,得到TTL,得到头长度,然后对其分析,判断出是TCP数据包,UDP数据包还是ICMP数据包,然后把判断的结果显示出来。

内容来自论文无忧网 www.paper51.com

分解这环节甚为重要。TCP,UDP和ICMP每个的首部格式都不一样,不加以 区分会很浑浊。也会使使用者对所截获的数据包认识不深。此工具一个主要目的就是使截获的结果明朗化。 内容来自www.paper51.com

下面是IP包分解流程图。如图5-3所示:注意是在接受到数据包以后开始分析 copyright paper51.com

为了让流程图直观些我把原本在得到包中协议就可以分出TCP,UDP和ICMP的部分放在了流程的末尾。 内容来自论文无忧网 www.paper51.com

需要指出在将协议int转字符串存m_szProtocol的这部分,有一个存放数组的函数叫ProtoMap。具体如表5-1所示。 copyright paper51.com

内容来自www.paper51.com

表5-1存放协议数组

http://www.paper51.com

0

内容来自论文无忧网 www.paper51.com

TCP

paper51.com

1

copyright paper51.com

UDP paper51.com

2 copyright paper51.com

ICMP

http://www.paper51.com

paper51.com

内容来自www.paper51.com

内容来自论文无忧网 www.paper51.com

                      

http://www.paper51.com

 假如现在接受到一个协议用CheckProtocol转化为字符串以后,然后在利用其算法在ProtoMap数组中找到与之相对应的协议,然后输出。其具体算法如图5-4所示。

paper51.com

内容来自www.paper51.com

                      http://www.paper51.com

paper51.com

下面列出主要功能实现所用到的类和方法:如表5-2所示: http://www.paper51.com

表5-2 主要功能用到的类与方法

内容来自论文无忧网 www.paper51.com

功能 http://www.paper51.com

用到的类与方法 paper51.com

接受IP包

内容来自论文无忧网 www.paper51.com

RecvIpPro

内容来自www.paper51.com

加载SOCK http://www.paper51.com

CListenDlg::InitSock

paper51.com

建立原始套接字

copyright paper51.com

CListenDlg::CreateSock

paper51.com

分解IP包 paper51.com

CListenDlg::SplitIpPack 内容来自论文无忧网 www.paper51.com

将协议int转为字符串 copyright paper51.com

CListenDlg::CheckProtocol 内容来自www.paper51.com

5.4 实例分析 copyright paper51.com

图5-5是此工具的主页面以及在某一时刻截获的数据包: 内容来自论文无忧网 www.paper51.com

图 5-5 某一时刻截获的数据包

paper51.com

所截获的是TCP数据包,它显示的是由202.108.42.190端口号是80向本机192.168.0.13端口号是3170所截获的并对其首部信息做了分析: 内容来自论文无忧网 www.paper51.com

前面的000000 000010 000020是标号。其中45 0000 28 71 E2 40 00 30 06 23 0ECA 6C 2A BEC0 A8 00 0D显示的是IP数据包的首部。可以对照表5-7进行分析,版本号4,以后依次类推。需要指出的是它的目的地址和源地址是先地位再高位,那么次IP数据包的源地址为BE 2A6C CA,目的地址为0D 00 A8C0。

内容来自www.paper51.com

后面显示的就是所需要的TCP数据包首部内容,对照表5-8进行分析:00 50为16为源端口,0C 62为16为目的端口,17 2C4C 35为32位序列号,14 B938 0F为32位确认号,50 11为4位首部长度+6位保留字+6位标志位总共为16为,后面的FF FF3D 18 00 00分别为16位校验和 ,16位紧急数据偏移量。 copyright paper51.com

UDP和ICMP都一样都是先接到IP数据包首部的内容,然后分解出相应的协议首部。 http://www.paper51.com

5.5 数据包首部解析

内容来自论文无忧网 www.paper51.com

表5-3  IP数据包首部解析表

copyright paper51.com

unsigned char h_lenver http://www.paper51.com

4位首部长度+4位IP版本号

内容来自论文无忧网 www.paper51.com

unsigned char tos paper51.com

8位服务类型TOS copyright paper51.com

unsigned short total_len

内容来自www.paper51.com

16位总长度(字节)

paper51.com

unsigned short ident

paper51.com

16位标识

http://www.paper51.com

unsigned short frag_and_flags

内容来自论文无忧网 www.paper51.com

3位标志位 内容来自www.paper51.com

unsigned char ttl copyright paper51.com

8位生存时间 TTL

内容来自论文无忧网 www.paper51.com

unsigned char proto

paper51.com

8位协议 (TCP, UDP 或其他)

内容来自www.paper51.com

unsigned short checksum

paper51.com

16位IP首部校验和 http://www.paper51.com

unsigned int sourceIP

内容来自www.paper51.com

32位源IP地址 paper51.com

unsigned int destIP

http://www.paper51.com

32位目的IP地址

copyright paper51.com

表5-4  TCP数据包首部解析表 paper51.com

USHORT th_sport 内容来自www.paper51.com

16位源端口

paper51.com

USHORT th_dport

http://www.paper51.com

16位目的端口

http://www.paper51.com

unsigned int  th_seq

paper51.com

32位序列号 copyright paper51.com

unsigned int  th_ack

paper51.com

32位确认号

http://www.paper51.com

unsigned char th_lenres

paper51.com

4位首部长度/6位保留字 内容来自www.paper51.com

unsigned char th_flag

http://www.paper51.com

6位标志位 copyright paper51.com

USHORT th_win http://www.paper51.com

16位窗口大小 内容来自www.paper51.com

USHORT th_sum

paper51.com

16位校验和 copyright paper51.com

USHORT th_urp 内容来自论文无忧网 www.paper51.com

16位紧急数据偏移量

http://www.paper51.com

                     

paper51.com

   

copyright paper51.com

------分隔线----------------------------
联系方式