标注的博客| 安全研究| 渗透测试| APT

首页

raj chandel's博客

作者 krahenbuhl 时间 2020-03-30
all

在本文中,我们将学习TShark,它是一个著名的网络协议分析器。它允许我们从实时网络中捕获数据包。它还允许我们读取或分析先前捕获的保存文件的数据包。

目录

网络流量

如我们所知,网络流量或数据流量是在给定时间点通过网络传输的数据量。网络数据,在计算机网络中,是以网络数据包的形式存在的。分析这些网络数据包可以提供网络安全性,因为它可以帮助我们监视通信量。作为一个好处,如果网络中存在一些不寻常的数据流量,这可能是一个攻击的迹象,那么Tshark可以帮助我们在太迟之前知道,并且可以终止攻击,因为数据流量报告提供了防止一些良好攻击的见解。

流量是网络流量分析中的一个术语。网络流量是衡量总工作量的指标。它定义为其网络数据包研究的平均数据流量强度和时间周期。

茨哈克简介

Tshark是一个著名而强大的命令行工具,用作网络分析器。它是由Wireshark开发的。它的工作结构与Tcpdump非常相似,但它有一些强大的解码器和滤波器。TShark能够捕获不同网络层的数据包信息,并以不同的格式显示。

TShark用于分析实时网络流量,它可以读取.pcap文件来分析信息,挖掘这些连接的详细信息,帮助安全专业人员识别他们的网络问题。

TShark是一个基于命令行的工具,它可以做Wireshark做的任何事情。所以让我们从TShark开始我们的学习过程,因此启动这个工具并探索它的选项。要签出所有参数,请使用以下命令:

列出接口

TShark打印它可以捕获其流量的接口列表。每个接口都是由它们的序列号引用的,正如您所看到的,它后面跟着一个网络接口的文本描述。可以使用-i参数指定这些接口;该参数用于指定要捕获其流量的网络。要检查这些接口,可以使用参数-D,如下图所示:

捕获流量

现在让我们尝试捕获流量,我们有各种各样的接口来捕获流量,因此可以根据需要和需求来选择。但在我们的场景中,我们要使用的接口是“eth0”。为了捕获通信量,我们还需要在受控网络上测试时启动一个通信量,对于使用ping命令的通信量,我们只需使用-i参数指定接口名称,如下图所示:

ping www.hackingarticles.in

查克-i eth0

我们可以清楚地看到,它正在执行三方握手,然后开始ICMP请求和应答的过程。

滥交模式

在网络中,混杂模式用作接口控制器,使tshark将其接收到的所有通信量传递给CPU,而不是将帧传递给混杂模式,通常用于在路由器或连接到有线网络或局域网一部分的计算机上进行包嗅探。

在使用这种模式时,我们需要在ifconfig的帮助下对其进行配置,以便能够捕获整个网络的数据包。因此,我们将从ping一个网站开始,并尝试捕获其数据包。

现在,按照以下命令配置混杂模式并尝试捕获数据包:

ifconfig eth0滥交

查克-i eth0

数据包计数

Tshark有一些惊人的特性,我们可以更有效地使用这些特性,并且可以使用各种参数访问这些特性。其中一个参数是'-c',它允许我们捕获所需的确切数据量,并且只显示这些数据。此选项帮助我们优化捕获流量的结果。

从上图中我们可以清楚地看到,它在10次计数后停止。

读写文件

在Tshark中,我们可以写入和读取.pcap文件。Write选项(-w)允许我们将原始数据包数据输出写入标准的.pcap文件,而read选项(-r)帮助我们以所需的方式读取原始输出数据包。要将数据包写入.pcap文件,请使用以下命令:

tshark-i eth0-c 10-w包.pcap

要读取上述.pcap文件,请使用以下命令:

详细模式

详细模式为我们提供了流量中数据包的其他详细信息。使用verbose模式,我们可以看到每个包包含的信息,对于这个选项,我们可以使用参数-V。

tshark-r packets.pcap-V包

输出格式

为了方便起见,在tshark中,我们有-T选项,它允许我们以各种输出格式保存解码的数据包。它可以以易于理解的方式设置输出的格式。要查看所有可用选项,请键入以下命令:

PDML

PDML代表基于XML的包细节标记语言。这个信息相当于我们前面使用的详细模式。要以这种格式输出,请键入以下命令:

tshark-r packets.pcap-T pdml

附言

PS代表PostScript。根据每个数据包规范,该输出以每个数据包的一行摘要或每个数据包的多行详细视图的形式出现。这一行很容易理解,也很可靠。为此,请使用以下命令:

tshark-r packets.pcap-T ps包

PSML语言

PSML代表包摘要标记语言。它也是一种基于XML的格式,如PDML,它总结了包的详细信息。对于此格式,请键入:

tshark-r packets.pcap-T psml

JSON格式

JSON代表Java脚本对象表示法。它是一种以可读形式显示文本的开放标准文件格式。此格式的信息在wolfram有完整的文档记录和参考。要查看此格式的数据包,请键入:

tshark-r packets.pcap-T json

埃克

它是一个换行分隔的JSON格式函数,用于批量导入到弹性搜索选项中。对于此格式,请使用以下命令:

tshark-r packets.pcap-T ek

文本

文本是每个包的一行摘要。这是最简单的格式。为此,请使用以下命令:

tshark-r packets.pcap-T文本

制表符

此选项与文本非常相似,只是在每列之间包含一个ASCII水平制表符(oxo9)字符作为分隔符。要尝试此操作,请键入:

tshark-r packets.pcap-T选项卡

 

解码包与编码包的区别

当我们试图在.pcap格式的文件中写入实时数据包时,我们将所有这些数据包压缩成更小的段。为了更好地理解这些数据包,我们需要对它们进行解码,从而导致文件大小的差异,并在给定时刻使用以下命令检查任何给定文件的大小:

正如我们所讨论的,这些文件有很大的不同,这就是为什么我们使用解码技术来提取这些信息。

转换PDML文件HTML页面

Wireshark和tshark的唯一区别是Wireshark是基于GUI的工具,tshark是基于命令行的工具。但是在一些外部资源的帮助下,我们也可以在HTML中查看我们的数据包。因此,首先,我们需要将数据包保存为PDML格式,然后使用以下命令将其转换为XML文件:

tshark-r packets.pcap-T pdml>packets.xml

XML文件将保存在/usr/share/wireshark/pdml2html.xsl位置。所以,我们将使用xsltproc工具来执行这个文件,它将帮助我们创建HTML页面。创建HTML页面将格式化所有不必要的信息,只允许我们查看可用的数据。使用以下命令创建HTML

xsltproc/usr/share/wireshark/pdml2html.xsl packets.xml>packets.html

要在浏览器中打开HTML页面,请参考上图并使用以下命令:

捕获特定端口的数据包

很多时候我们在专用端口上使用Wireshark。通过使用-f选项,我们可以捕获特定端口的数据包。它有助于我们更好地分析网络的数据包。我们使用此功能捕获TCP端口80,其命令为:

tshark-i eth0-c 5-f“tcp端口80”

显示筛选器

显示过滤器是Wireshark引入的。它帮助我们过滤捕获的数据包或实时数据包。有了这个过滤器的帮助,我们可以请求任何类型的过滤器,我们想捕捉在现场环境。

在我们的场景中,我们应用GET-request过滤器来只捕获来自流量的GET请求,对于,使用以下命令:

tshark-i eth0-c 5-f“tcp端口80”-Y“http.request.method==”获取“'

结论

本文重点介绍tshark的基本命令和功能,因为它是本系列的第一篇文章。因此,请熟悉它的特性,并在我们的下一篇文章中继续关注tshark的高级特性。

作者:Shubham Sharma是一位Pentester,网络安全研究者和爱好者,请联系这里。