在Wireshark中过滤数据包

介绍

数据包过滤可让你专注于你感兴趣的确定数据集。如你所见,Wireshark 默认会抓取所有数据包。这可能会妨碍你寻找具体的数据。 Wireshark 提供了两个功能强大的过滤工具,让你简单而无痛地获得精确的数据。

Wireshark 可以通过两种方式过滤数据包。它可以通过只收集某些数据包来过滤,或者在抓取数据包后进行过滤。当然,这些可以彼此结合使用,并且它们各自的用处取决于收集的数据和信息的多少。

布尔表达式和比较运算符

Wireshark 有很多很棒的内置过滤器。当开始输入任何一个过滤器字段时,你将看到它们会自动补完。这些过滤器大多数对应于用户对数据包的常见分组方式,比如仅过滤 HTTP 请求就是一个很好的例子。

对于其他的,Wireshark 使用布尔表达式和/或比较运算符。如果你曾经做过任何编程,你应该熟悉布尔表达式。他们是使用 and、or、not 来验证声明或表达式的真假。比较运算符要简单得多,它们只是确定两件或更多件事情是否彼此相等、大于或小于。

过滤抓包

在深入自定义抓包过滤器之前,请先查看 Wireshark 已经内置的内容。单击顶部菜单上的 “Capture” 选项卡,然后点击 “Options”。可用接口下面是可以编写抓包过滤器的行。直接移到左边一个标有 “Capture Filter” 的按钮上。点击它,你将看到一个新的对话框,其中包含内置的抓包过滤器列表。看看里面有些什么。

Wireshark dialog for creating a capture filter

在对话框的底部,有一个用于创建并保存抓包过滤器的表单。按左边的 “New” 按钮。它将创建一个填充有默认数据的新的抓包过滤器。要保存新的过滤器,只需将实际需要的名称和表达式替换原来的默认值,然后单击“Ok”。过滤器将被保存并应用。使用此工具,你可以编写并保存多个不同的过滤器,以便它们将来可以再次使用。

抓包有自己的过滤语法。对于比较,它不使用等于号,并使用 > 和 < 来用于大于或小于。对于布尔值来说,它使用 and、or 和 not。

例如,如果你只想监听 80 端口的流量,你可以使用这样的表达式:port 80。如果你只想从特定的 IP 监听端口 80,你可以使用 port 80 and host 192.168.1.20。如你所见,抓包过滤器有特定的关键字。这些关键字用于告诉 Wireshark 如何监控数据包以及哪一个数据是要找的。例如,host 用于查看来自 IP 的所有流量。src 用于查看源自该 IP 的流量。与之相反,dst 只监听目标到这个 IP 的流量。要查看一组 IP 或网络上的流量,请使用 net。

过滤结果

界面的底部菜单栏是专门用于过滤结果的菜单栏。此过滤器不会更改 Wireshark 收集的数据,它只允许你更轻松地对其进行排序。有一个文本字段用于输入新的过滤器表达式,并带有一个下拉箭头以查看以前输入的过滤器。旁边是一个标为 “Expression” 的按钮,另外还有一些用于清除和保存当前表达式的按钮。

点击 “Expression” 按钮。你将看到一个小窗口,其中包含多个选项。左边一栏有大量的条目,每个都有附加的折叠子列表。你可以用这些来过滤所有不同的协议、字段和信息。你不可能看完所有,所以最好是大概看下。你应该注意到了一些熟悉的选项,如 HTTP、SSL 和 TCP。

Wireshark dailog for creating a results filter

子列表包含可以过滤的不同部分和请求方法。你可以看到通过 GET 和 POST 请求过滤 HTTP 请求。

你还可以在中间看到运算符列表。通过从每列中选择条目,你可以使用此窗口创建过滤器,而不用记住 Wireshark 可以过滤的每个条目。对于过滤结果,比较运算符使用一组特定的符号。 == 用于确定是否相等。> 用于确定一件东西是否大于另一个东西,< 找出是否小一些。 >= 和 <= 分别用于大于等于和小于等于。它们可用于确定数据包是否包含正确的值或按大小过滤。使用 == 仅过滤 HTTP GET 请求的示例如下:http.request.method == "GET"。

布尔运算符基于多个条件将小的表达式串到一起。不像是抓包所使用的单词,它使用三个基本的符号来做到这一点。&& 代表 “与”。当使用时,&& 两边的两个语句都必须为真值才行,以便 Wireshark 来过滤这些包。|| 表示 “或”。只要两个表达式任何一个为真值,它就会被过滤。如果你正在查找所有的 GET 和 POST 请求,你可以这样使用 ||:(http.request.method == "GET") || (http.request.method == "POST")。! 是 “非” 运算符。它会寻找除了指定的东西之外的所有东西。例如,!http 将展示除了 HTTP 请求之外的所有东西。

总结思考

过滤 Wireshark 可以让你有效监控网络流量。熟悉可以使用的选项并习惯你可以创建过滤器的强大表达式需要一些时间。然而一旦你学会了,你将能够快速收集和查找你要的网络数据,而无需梳理长长的数据包或进行大量的工作。

作者:Nick Congleton

来源:51CTO

时间: 2024-08-02 04:45:24

在Wireshark中过滤数据包的相关文章

tinyos-在tinyOS下写nec程序,在一组无线节点中进行数据包转发及打印

问题描述 在tinyOS下写nec程序,在一组无线节点中进行数据包转发及打印 10C 选取一个节点作为数据源节点,向网络中的其它节点进行数据包的转发,并将数据包中的内容打印出来. 解决方案 tiny OS第一次听说.有空去百度一下看看.先帮楼主顶下先!

wireshark c 文件读取-怎么用C语言读取WireShark捕获的数据包文件

问题描述 怎么用C语言读取WireShark捕获的数据包文件 怎么用C语言读取WireShark捕获的数据包文件,要求能分析出以太网头部,Ip头部,TCP头部,并提取出数据部分,下面是我写的一段代码,但是读的不对,希望高手指点//.pcap文件//#ifndef xiaohouzi//#define xiaohouzi#ifndef LITTLE_ENDIAN#define LITTLE_ENDIAN (1)#include typedef unsigned int bpf_u_int32;ty

通信-NS3仿真中统计数据包的丢包率、端到端延迟以及协议开销等相关问题?谢谢啦!!只有1C币了。。

问题描述 NS3仿真中统计数据包的丢包率.端到端延迟以及协议开销等相关问题?谢谢啦!!只有1C币了.. NS3仿真中如何实现对mesh通信中数据包的丢包率.端到端延迟以及协议开销等的统计? 最好有源码的,谢谢啦!! 只有1C币了.. 解决方案 只有一个C币不是问题,CSDN支持充值的! 这种通信统计如果 NS3 系统没有提供这样的功能,就只能自己写一个测试系统,发送测试数据.

《IP组播(第1卷)》一2.11 交换机中的数据包复制过程

2.11 交换机中的数据包复制过程 几乎所有设备上要求能够支持的组播转发都是开放标准的,由IETF之类的组织起草的标准.但网络设备中数据包的实际转发行为则没有对应的开放标准.对于单播数据包传输也是如此.每个厂商,或者有时是每条产品线,实施的转发机制是区分每个平台的标准. IP组播转发的核心内容是数据包复制过程.数据包复制指的是在物理上复制某个数据包,并把复制的数据包从转发路径上的目的接口发送出去. 在每个平台上,复制过程的区别在于网络设备是在哪里完成的复制.Cisco的每个网络平台在处理这个过程

linux中Wireshark使用技巧之按IP过滤数据包

(一) 按源ip进行过滤 表达式:ip.src==192.168.0.1    或者      ip.srceq192.168.0.1 可筛选出源IP是192.168.0.1的数据包. (二)按目的ip进行过滤 表达式:ip.dst==1.1.1.1    或者      ip.dsteq1.1.1.1 可筛选出目标IP是1.1.1.1的数据包. (三)直接按ip进行过滤 表达式:ip.addr==1.1.1.1    或者    ip.addreq1.1.1.1 可筛选出与1.1.1.1相关的

如何抓取网络中的数据包并转发

问题描述 我现在想将网络上所有的报文全部发到某台计算机上,这个用libpcap来抓,然后自己写算法,根据算法用libnet把抓来的包分别发到不同的目的计算机上去至于算法我现在是想用协议,但是我用协议将数据分开后怎么libnet来发呢?是要先存还是有别的更直接的办法?我记得是有一个转换的,libnet有一个函数可以读取libpcap截下来的包,但那个函数我忘记了,而且现在也查不到不知道哪位同志有好的方法,可以介绍下吗?最好是能提供开源代码的.谢谢了

GNU Radio中协议数据包的传递方式

All the blocks presented so far operate as "infinite stream" blocks, i.e., they simply continue working as long as items are fed into their inputs. The low pass filter is a good example: Every new item is interpreted as a new sample, and the out

《Linux防火墙(第4版)》——2.4 过滤传入的数据包

2.4 过滤传入的数据包 外部网卡I/O对中的输入端.输入规则集,对于保护您的站点而言,是更值得注意的.就像前面提到的那样,您能够基于源地址.目的地址.源端口.目的端口.TCP状态标志以及其他标准进行过滤. 您将在后面的章节中了解到所有这些信息. 2.4.1 远程源地址过滤 在数据包层面,唯一确定IP数据包发送者的方式便是数据包报头的源地址.这个事实为源地址欺骗(source address spoofing)提供了可能,发送者将一个并非他/她真实地址的错误地址放在报文的相应源地址域里.该地址可

《精通Wireshark》—第1章1.4节通过Wireshark进行数据包分析

1.4 通过Wireshark进行数据包分析 数据包分析(也称为数据包嗅探或协议分析)的作用是抓取在网络(以太网或WiFi)传输中的数据包,并且对其中的信息进行解答的过程,其目的在于了解网络中正在发生的情况.数据包分析需要借助像Wireshark这样的协议分析软件来实现,这些软件可以在互联网上进行下载.其中有些软件是免费的,也有一些软件需要付费才能用于商业目的.在本书中,我们会使用Wireshark来进行网络分析.Wireshark是一款开源软件,同时也是互联网上最优秀的免费网络分析软件. 在当