首页 > 编程知识 正文

使用wireshark抓包(如何使用wireshark抓包)

时间:2023-05-06 06:21:30 阅读:71170 作者:4263

Wireshark (以前称为Ethereal )是网络数据包分析软件。 网络数据包分析软件的功能是剪切网络数据包,并显示尽可能详细的网络数据包数据。 Wireshark使用WinPCAP作为接口,与网卡直接进行数据消息交换。

网络管理员使用Wireshark检测网络问题,网络安全工程师使用Wireshark检测与信息安全相关的问题,开发人员使用Wireshark调试新协议,以及普通用户当然,也有人会使用“不舒服”来寻找敏感信息……。 与tcpdump相比,Wireshark的界面更友好,功能更强大。

在mac上安装wireshark

在windows上安装wireshark

在linux上安装wireshark

基本上,以下所有介绍都基于mac上的wireshark1. 12.2版。

了解接口

说明:

常见按钮的从左到右功能如下:

1、列出可用接口。

2、抓包时需要设置的几个选项。 通常保持最后的设定结果。

3、开始新包。

4、暂停包。

5、继续抓这次的包。

6、打开捕获文件。 可以捕获并打开以前保存的文件。 您不仅可以打开用wireshark软件保存的文件,还可以打开在tcpdump中使用-w参数保存的文件。

7、保存文件。 保存这次的包和分析的结果。

8、关闭打开的文件。 文件关闭后,将切换到初始接口。

9、重装包文件。

单击设置数据检索选项的常用按钮中的设置按钮,将出现“设置选项”对话框。 在此对话框中,可以选择要监听的接口、设置混合模式以及设置捕获包的过滤条件。 下图:

首先,检查需要接收数据包的接口。 接口列表区域列出了所有可用的接口。 如果选中了接口前面的复选框,则表明此接口正在接收捕获包。

然后,设置混合模式。 设置拥挤模式的作用是将网卡设置为拥挤模式。 如果不设置混合模式,您的计算机只能获取数据包发送到您的计算机和从您的计算机发出的数据包。 设置混合模式后,可以捕获LAN中的所有数据包。 如果选中了窗口中usepromiscuousmodeonallinterfaces前面的复选框,则所有接口都使用混合模式。 如果要单独设置,双击界面列表中的界面将显示以下对话框: 然后,选中或清除capturepacketsinpromiscuousmode前面的复选框。 然后点击确定按钮。

再次设置捕获过滤条件。 “捕捉过滤器”项既位于显示“点设置”按钮的“主设置”对话框中,也位于双击“界面”列表显示的对话框中。 可以在文本框中设置捕获过滤条件。 例如,如果只捕获与http相关的数据包,则可以将捕获条件设置为“端口80”。 因为http使用的是80个端口。

最后,在所有设置完成后,单击设置主窗口中的“Start”按钮开始捕获数据。 捕获数据后,可以单击常用按钮上的“保存”按钮来保存数据。

使用显示过滤器显示过滤器时,它将应用于捕获文件,用于指示wireshark仅显示满足过滤条件的数据包。 显示过滤器比捕获过滤器更常用。 他可以用来过滤他不想看的数据包,但不会删除数据。 如果想撤消,删除过滤条件就可以了。

可以轻松设置过滤器表达式对话框,是的,wireshark的过滤器表达式。 单击" Expression "按钮可打开此对话框。 下图:

对话框分为左中右三个部分。 左侧是所有可用的协议域。 右侧是与协议域相关的条件值。 中间是协议域和条件值的关系。 过滤式对初学者很方便。 如上图所示,我们创建了一个表达式,以便在http协议包中只显示包含关键字" bo56.com "的所有包。

字段名说明:

此列表列出了所有受支持的协议。 点击前面的三角标记,可以列出本合同的可过滤字段。 如果选择其中一个字段名称列表,则只需输入所需的协议域,即可自动导航到相应的协议域选项。

Relation说明:

如果选定的协议域存在,is present将显示相关的包。

contains确定协议,并且字段或片包含值

matches确定协议或字符串与特定的Perl表达式匹配。

value (协议)说明:

在此输入适当的值。 如果选定的协议域和此值满足Relation中指定的关系,则会显示相关的包。

预定义价值说明:

一些协议域包含预定义的值,类似于c语言的枚举类型。 如果选定的协议域包含这样的值,则可以从该列表中选择。

函数说明:

过滤器的语言还包含以下函数:

uper (字符串-字段) -将字符串转换为大写

lower (字符串-字段) -将字符串转换为小写

upper ()和lower () )处理大小写

感的字符串比较时很有用。例如:
upper(ncp.nds_stream_name) contains “BO56.COM”
lower(mount.dump.hostname) ==”BO56.COM”

如果你熟悉了这个规则之后你就会发现手动输入表达式更有效率。当时手动在flter文本框中输入表达时,如果输入的语法有问题,文本框的背景色会变成红色。这时候,你可以继续输入或者修改,知道文本框中的表达式正确后,文本框的背景色又会变成绿色。

使用着色规则

你经常会在数据包列表区域中看到不同的颜色。这就是wireshark做的很人性化的一方面。它可以让你指定条件,把符合条件的数据包按指定的颜色显示。这样你查找数据包会更方便些。下面我们说一下如何设置颜色规则。

点击“view”菜单,然后选择“Coloring Rules”选项就会弹出设置颜色规则设置对话框。你点击颜色规则设置的快捷按钮也可以打开颜色设置对话框。如下图:

打开的对话框中默认已经有一些规则。我们抓取的数据包中经常会看到一些不同的颜色,就是应用的这些默认的规则。点击“New”按钮可以添加规则。如下图:

name字段中填写规则的名称,方便记忆。

string字段中填写过滤规则。这里的语法和显示规则表达式一致。点击 上图中的“Expression”按钮,你就会看到熟悉的规则表达式对话。

Foreground Color按钮用于选择前景色。

Background Color按钮用于选择背景色。

Disabled按钮用于指示是否禁用这条规则。

点击ok按钮后,规则自动会添加到规则列表中的最前端。

注意:wireshark在应用规则的时候,是按自上而下的顺序去应用规则。因此刚添加的规则会优先应用。如果你想调整顺序,可以选中要调整顺序的规则,然后点击右边的“UP” 或则 “Down” 按钮。

颜色规则设置好后,只需要点apply按钮就可以应用规则了。规则效果应用如下图:

  使用图表

图形分析是数据分析中必不可少的一部分。也是wireshark的一大亮点。wireshark有不同的图形展现功能,以帮助你了解捕获的数据包。下面我们对经常使用的IO图,双向时间图做下介绍。

IO图

wireshark的IO图让你可以对网络上的吞吐量绘图。让你了解网络数据传输过程中的峰值和波动情况。通过“Statistics”菜单中的“IO Graphs”选项可以打开这个IO图对话框。如下图:

可以看到IO图表对话框中会分为三个区。

过滤器区:设置过滤条件,用于图形化展示过滤条件相关数据包的变化情况。而且可以为每个不同的条件指定不同的颜色。过滤条件的语法和之前介绍的显示过滤器的语法一致。过滤条件为空,此图形显示所有流量。

坐标区:在这里可以设置图表的x轴和y轴。x轴为时间,y轴为包的数量。如图,我们设置Y轴的单位是Bytes/Tick。

趋势图区:根据过滤器设置的条件和坐标区设置,数据分析后回在这个区域以图形化方式展示。点击图形中的点,会自动定位到相应的数据包。点击趋势图中的低谷点,你会发现大量的数据包重传。

IO图表还可以通过函数对数据进行聚合处理。

点击Y轴中Unit选项中的Advanced后,就会再过滤器区就会增加Calc选项。如下图:

相关函数说明:

MIN( ), AVG( ), MAX( ) 分别是统计协议域中数值的最小,平均和最大值。注意,这三个聚合函数只对协议域的值为数字的才有效。

Count( ) 此函数计算时间间隔内事件发生的次数,在查看TCP分析标识符时很有用,例如重传。

Sum( ) 该函数统计事件的累加值。和MIN()函数一样,这个也只有协议域的值为数字的情况下才有效。

双向时间图

wireshark还有一个功能就是可以对网络传输中的双向时间进行绘图。双向时间(round-trip time, RTT),就是一个数据包被确认正常接收所花费的时间。以tcp协议为例,就是你push一个数据到一台主机,主机回应一个ack给你的主机,你的主机并成功接收ack回应。这两个过程花费的时间总和就是双向时间。双向时间通常用来寻找网络传输过程中的慢点和瓶颈,用以判断网络传输是否有延迟。

通过“Statistics”菜单中的“Tcp  StreamGraph”中的“Round Trip Time Graph”选项可以打开这个双向时间图对话框。如下图:

这个图表中的每个点代表一个数据包的双向时间。你可以单机图表中的任何一点,然后在数据包列表区就会自动定位到相应的数据包。从数据表来看,我们下载压缩包还是比较稳定的。数据包的rtt时间大多数在0.05s以下,其他大多数在0.1s左右,少数超过了1.5s。

跟踪tcp流


Wireshark分析功能中最不错的一个功能是它能够将TCP流重组。重组后的数据格式更容易阅读。跟踪TCP流这个功能可以将接收到的数据排好顺序使之容易查看,而不需要一小块一小块地看。这在查看HTTP、FTP等纯文本应用层协议时非常有用。

我们以一个简单的HTTP请求举例来说明一下。打开wireshark_bo56_pcap.pcapng,并在显示过滤器中输入“http contains wireshark”,点击“apply”按钮后,在数据包列表框中就会只剩下一条记录。如下图。

右键单击这条记录并选择Follow TCP Stream。这时TCP流就会在一个单独的窗口中显示出来。如下图:

我们看到这个窗口中的文字会有两种颜色。其中红色用于表示从源地址到目标地址的流量。在我们的例子里面就是从我们本机到web服务器的流量。你可以看到最开始的红色部分是一个GET请求。蓝色部分是和红色部分相反的方向,也就是从目标地址到源地址的流量。在我们的例子中,蓝色部分的第一行是“HTTP/1.1 200 OK”,是来自服务器的一个http成功响应。

在这个窗口中除了能够看到这些原始数据,你还可以在文本间进行搜索,将其保存成一个文件、打印,或者以ASCII码、EBCDIC、十六进制或者C数组的格式去查看。这些选项都可以在跟踪TCP流窗口的下面找到。

转载自:http://www.bo56.com/%e8%b0%83%e8%af%95%e5%88%a9%e5%99%a8%e4%b9%8bwireshark/

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。