TCP/IP协议数据包文件PCAP分析器

TCP/IP协议数据包文件PCAP分析器

一、设计原理

1.PCAP文件构成

 

参考http://blog.csdn.net/gulu_gulu_jp/article/details/50494909

 

PCAP文件由一个PCAP文件头和多个PCAP数据包组成,PCAP数据又由数据包头和数据包内容组成。数据包内容才是我们将要进行分析还原的TCP/IP协议数据。PCAP总体结构如图 11所示:

 

图 11 PCAP文件总体结构

以TCP协议为例,详细解析PCAP文件格式。PCAP前24个字节为文件头,包含了文件信息,其结构如图 11所示。接着16个字节为TCP协议数据包包头,记录这个包头的一些信息。再接着为协议数据包内容,长度不定,本例为TCP,其结构为:以太网帧、IP头、TCP头、数据域。如图 12所示:

 

图 12 PCAP文件举例

2.TCP/IP协议栈

计算机网络的各层及其协议的集合就构成了网络的体系结构,即计算机网络及其构成所完成的精确定义。OSI参考模型如图 13所示,其中每个实体通常定义两种不同的接口:一个是为同一计算机上使用它的通信服务的其他上层实体定义的服务接口,简称服务;另一个是为另一台计算机上对等实体定义的对等接口,即协议。

 

 

图 13 OSI参考模型

在实际应用中,OSI并没有被采用,TCP/IP协议族才是实际的标准,如图 14所示。链路层,TCP/IP协议族的最低层,也称为网络接口层,通常包含操作系统中的设备驱动程序和对应的网络接口卡,对应于OSI参考模型中的数据链路层和物理层。网络层,也称为互联网层,由于该层的主要协议为IP,通常也简称为IP层。传输层,通常所说的两台计算机之间的通信其实是指两台计算机上对应的应用程序之间的数据通信,传输层提供的就是应用程序间的通信,一般也称为端到端的通信。应用层向用户提供一组常用的应用程序。

 

图 14 TCP/IP协议族

3.各个协议格式

本设计将实现对ARP、IPv4、ICMP、UDP、DHCP等协议进行实际解包分析。

ARP数据包格式如图 15所示:

图 15 ARP数据包格式

IPv4数据包格式如图 16所示:

 图 16 IPv4数据包格式

ICMP数据包格式如图 17所示:

图 17 ICMP数据包格式

UDP数据包格式如图 18所示:

 图 18 UDP数据包格式

DHCP数据包格式如图 19、图 20所示:

图 19 DHCP数据包结构

图 20  DHCP数据包格式

二、设计方案及实现

1.整体框架

PCAP文件分析器由3个包实现,分别是com.qiusongde.packet、com.qiusongde.pacpparser、com.qiusongde.UI,如图 21所示:

 

图 21 PCAP文件分析器代码架构

在com.qiusongde.UI这个包中:MyUI类主要实现用户交互界面,实现选择文件,根据文件路径创建输入流InputStream,并展示分析结果;ExtensionFileFilter类实现文件过滤器,只能打开PCAP文件。

在com.qiusongde.pcapparser这个包中:Pcappparser类主要根据图 11、图 12实现读取PCAP文件并转换成相应的数据结构Pcap、PcapHeader、PcapData,方便后边进行分析,ProtocolJudge类根据图 14判断其协议类型。

com.qiusongde.packet这个包主要根据图 15、图 16、图 17、图 18、图 19、图 20、图 21,实现对转换后的PCAP等数据结构进行分析。

整体交互示意图 22如所示:

 

图 22 整体交互示意图

2.界面

主界面,如图 23所示,左边表格将用来显示PCAP文件中包含的网络数据简介,右边的两个文本框将分别用来展示原网络数据和分析后的详细信息。

图 23 主界面

文件选择器,如图 24所示,让用户自由浏览并选择要打开的PCAP文件。

图 24 文件选择器

打开相应的PCAP文件后,左边表格添加相应的项,用来显示PCAP文件中携带的网络数据,如图 25。

 

图 25  表格界面

选中相应的表格行之后,将在右边的文本框显示分析结果,并以16进制格式显示原网络数据,如图 26所示。

 

图 26 文本框界面

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
利用Wireshark分析IP协议的操作步骤如下: 1. 下载和安装Wireshark:首先,您需要从Wireshark官方网站(https://www.wireshark.org/)下载并安装Wireshark软件。 2. 打开Wireshark:安装完成后,打开Wireshark应用程序。 3. 选择网络接口:在Wireshark界面的主窗口中,选择用于捕获数据包的网络接口。您可以从列表中选择适当的接口,例如以太网、Wi-Fi等。 4. 启动捕获:点击“开始”按钮,Wireshark将开始捕获网络接口上的数据包。 5. 过滤数据包:如果您只关注特定的IP协议,您可以使用过滤器来筛选和分析感兴趣的数据包。在过滤栏中输入过滤条件,例如“ip.proto == 6”来筛选TCP协议数据包。 6. 分析数据包:Wireshark会实时显示捕获到的数据包。您可以通过单击每个数据包查看详细信息,如源IP地址、目标IP地址、协议类型等。 7. 分析IP头部信息:在每个数据包的详细信息中,您可以展开IP协议部分以查看IP头部信息。这包括源IP地址、目标IP地址、IP协议版本、TTL等。 8. 分析IP负载:如果感兴趣的IP协议有负载数据(如TCP和UDP),您可以查看和分析负载数据。在每个数据包的详细信息中,展开相应的协议部分以查看负载数据。 9. 停止捕获:当您完成分析后,可以点击Wireshark界面的“停止”按钮来停止捕获数据包。 10. 保存和导出:您可以将分析结果保存成文件,方便后续查看和分享。通过点击“文件”菜单中的“保存”选项,您可以选择保存为pcap文件格式。此外,还可以将特定数据包导出为其他格式,如CSV、XML等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值