介绍

数据包过滤可让你专注于你感兴趣的确定数据集。如你所见,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

在Wireshark中过滤数据包相关推荐

  1. 在Wireshark中查找数据包

    捕获完成之后可以查找需要的包: 先看一下查找对话框:可以有四种查找方式,显示过滤器.十六进制值.字符串.正则表达式: 看一下当前Wireshark版本是3.0.0:不同版本可能查找对话框有所区别: 输 ...

  2. 渗透测试攻击(二)——wireshark过滤数据包语法详解

    目录 Wireshark过滤语句中常用的操作符 Wireshark捕获UDP数据包 UDP协议分析常用过滤条件 UDP校验和过滤条件

  3. python怎么编写wireshark抓的包_使用Wireshark 抓取数据包

    Wireshark 是一个网络封包分析软件.网络封包分析软件的功能是获取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换. 一  ...

  4. linux过滤数据包,用Tcpdump过滤数据包

    对于网络管理人员来说,使用嗅探器可以随时掌握网络的实际情况,在网络性能急剧下降的时候,可以通过嗅探器来分析原因,找出造成网络阻塞的根源.Tcpdump就是Linux平台下一个以命令行方式运行的网络流量 ...

  5. wireshark应用和数据包简析

    前言:wireshark是一款强大抓包工具,使用它可以抓取不同的协议数据包,包括TCP.HTTP.UDP等,在使用wireshark之前要学习一下计算机网络的知识: (1)TCP/IP协议 应用层:应 ...

  6. 网卡驱动和队列层中的数据包接收

    一.从网卡说起 这并非是一个网卡驱动分析的专门文档,只是对网卡处理数据包的流程进行一个重点的分析.这里以Intel的e100驱动为例进行分析. 大多数网卡都是一个PCI设备,PCI设备都包含了一个标准 ...

  7. 数据包过滤 系统 linux,Ubuntu16.04安装libpcap开发库对pcap文件中的数据包进行过滤...

    Ubuntu16.04下安装了Wireshark的话,应该是已经安装了libpcap0.8的包,如下图: 使用sudo apt-get install libpcap-dev安装开发包,安装后系统显示 ...

  8. 在Wireshark中过滤UDS和OBD诊断ISO13400(DoIP)数据

    目录 0 WireShark简介 1如何在WireShark中添加诊断数据的"源地址"和"目标地址"列信息 2过滤诊断数据 3 解析以太网诊断DoIP数据 4 ...

  9. Linux中如何使用Wireshark来分析数据包?

    学习分析网络数据包是一项强大的技能. 当连接到网络后,大多数情况下我们不会去考虑实现这一切的底层网络协议.现在,当你阅读本文时,计算机正在交换大量数据包并通过Internet进行传输. 要了解这些协议 ...

最新文章

  1. Linux大文件传输(转)
  2. linux自动异地备份,Linux本地加异地自动备份方案
  3. 聊聊zxing的qrcode
  4. hibernate访问效率相关
  5. 2021江西高考成绩小分查询,2021江西高考成绩查分时间
  6. java中html5表格_java:HTML(table表格,ul列表)和CSS(导入.css文件,三种定义颜色方式,三种样式选择器,a标签属性顺序,)...
  7. 计算机网络参数怎么看,电脑显示器参数详解 看完秒懂! 显示器参数怎么看?...
  8. 创建java类并实例化类对象
  9. ubuntu怎么设置linux的ip地址,linux,ubuntu设置ip
  10. 第一个python程序-判断登陆用户名和密码是否正确
  11. 雾里看花之 Python Asyncio
  12. Chisel:基于HTTP的快速稳定TCPUDP隧道工具
  13. 黄国酬老师的ExtPB.Net
  14. 视频音频剪辑合并软件 免费强大 LosslessCut
  15. 《俞军产品方法论》阅读笔记2020-08-07
  16. 怎么给ChemDraw反应式添加分数系数
  17. PCB板子焊接注意事项及小技巧
  18. [整理][VBA]Excel合并表格
  19. python能否取代excel_行,Python玩大了!​取代Excel,程序员:太牛!你怎么看?...
  20. fastjson:json数组遍历

热门文章

  1. 生成指定大小的空文件
  2. #1406 data too long for column '' at row 1
  3. post和get两种提交方式的区别
  4. 计算机寄存器及标志位详解
  5. springboot netty给特定客户端推送_Spring Boot 又升级了?2.0 你搞懂了吗?!
  6. SpringMVC异常处理 自定义异常
  7. cod16 服务器正在维护,使命召唤16玩不了怎么办 使命召唤16进不去解决方法
  8. c语言100阶乘的代码,求10000的阶乘(c语言代码实现)
  9. CentOS 7安装Development Tools 失败 报错 group tools does not exist. Maybe run: yum groups mark install
  10. 第一部分 Calendar介绍