Wireshark系列之4 捕获过滤器

在Wireshark中往往会抓到很多数据,这时我们就需要用到过滤器Filter来筛选出我们所关心的数据包。

Wireshark提供了两种过滤器:

  • 捕获过滤器:在抓包之前就设定好过滤条件,然后只抓取符合条件的数据包。
  • 显示过滤器:在已捕获的数据包集合中设置过滤条件,隐藏不想显示的数据包,只显示符合条件的数据包。

需要注意的是,这两种过滤器所使用的语法是完全不同的,在本篇博文中将介绍捕获过滤器。



使用捕获过滤器的主要原因就是性能。如果你知道并不需要分析某个类型的流量,那么可以简单地使用捕获过滤器过滤掉它,从而节省那些会被用来捕获这些数据包的处理器资源。当处理大量数据的时候,使用捕获过滤器是相当好用的。

新版Wireshark的初始界面非常简洁,主要就提供了两项功能:先设置捕获过滤器,然后再选择负责抓包的网卡。由此可见捕获过滤器的重要性。

比如我们希望只抓取与80端口之间的通信,那么可以设置过滤规则“port 80”。

捕获过滤器应用于Winpcap,并使用Berkeley Packet Filter(BPF)语法,其语法规则如下:


协议 方向 类型 数据

  • 协议,可能的值:ether、ip、arp、tcp、udp、http、ftp……,如果没有特别指明是什么协议,则默认使用所有支持的协议。
  • 方向,可能的值:src、dst,如果没有特别指明来源或目的地,则默认使用“src or dst”作为关键字。例如,“host 10.2.2.2”与“src or dst host 10.2.2.2”是一样的。
  • 类型,可能的值:net、port、host,如果没有指定此值,则默认使用”host”关键字。例如,“src 10.1.1.1”与“src host 10.1.1.1”相同。

我们还可以使用以下三种逻辑运算符,对表达式进行组合,从而创建更高级的表达式。


逻辑与&&,逻辑或||,逻辑非!

比如下面这个表达式,只捕获源地址是192.168.0.10并且源端口或目的端口是80的数据包。


src 192.168.0.10 && port 80

应用示例

如果我们希望抓取某台特定主机或设备的数据包,那么可以根据设备的IP地址或MAC地址来设置过滤规则。

比如只抓取IP地址为192.168.0.10的数据包。


host 192.168.0.10

如果考虑到主机的IP地址可能会变化,那么可以指定MAC地址进行过滤。


ether host 00-50-56-C0-00-01

也可以根据数据的流向来过滤:


src host 192.168.0.10 //从192.168.0.10发出的数据包

dst host 192.168.0.10 //发往192.168.0.10的数据包

ether src host 00-50-56-C0-00-01 //从00-50-56-C0-00-01发出的数据包

ether dst host 00-50-56-C0-00-01 //发往00-50-56-C0-00-01的数据包

需要注意的是,host在表达式中是默认选项,因而上面的这几个表达式无论是否加上host都是表达相同含义。

再比如通过端口进行过滤:


port 8080 //只捕获8080端口的流量

!port 8080 //捕获8080端口外的所有流量

dst port 8080 //只捕获前往8080端口的流量

通过协议或通信方式进行过滤:


icmp //只捕获ICMP流量

!broadcast //不要抓取广播包

时间: 2024-09-29 08:53:45

Wireshark系列之4 捕获过滤器的相关文章

Servlet过滤器——异常捕获过滤器

1.概述 介绍如何实现异常捕获过滤器. 2.技术要点 本实例主要是在过滤器Filter的doFilter()方法中,对执行过滤器链的chain的doFilter()语句处添加try…catch异常捕获语句,然后在chach语句中,循环异常对象,直到找出根异常为止. 3.具体实现 (1)创建Filter实现类ExceptionFilter.java,利用throwable抛出异常,去捕捉异常原因并转到相应的页面中主要代码为: public class ExceptionFilter impleme

[转]wireshark找不到捕获接口问题的解决办法

1 前言 有时候打开wireshark,会提示找不到可用网卡,此时是因为NetGroup Packet Filter Driver 服务没有开启. 环境:笔记本 系统:Win10 网络:WIFI 2 方案 只要开启NPF驱动服务即可,然后再重启wireshark. 启动NPF的方法:a. 以管理员身份运行命令行程序cmd.exe b. 输入net start npf命令,确定后就会提示服务启动成功,如图: 这样的方式只能在这一次启动NPF服务,电脑重启之后又要重新启动,如果希望电脑启动时自动启用

Wireshark系列之6 数据流追踪

以下内容主要是引用自合天网安中的一个实验案例:黑客A通过ARP欺骗,使用Wireshark获取了整个局域网内的网络流量信息.无意之中,他发现有人在某个网站上上传了一份文件.但是他不知道怎么样通过Wireshark去还原这份文件,没办法,他将监听到的数据包保存为了一份Wireshark的监听记录,打算去向你请教.你能帮助他找到那份上传的文件吗? 我们可以自己准备一张图片test.jpg,并随便找一个允许上传的网站,然后用Wireshark将上传的过程抓包,这里我已经将自己的抓包结果保存成文件cat

全局的异常捕获过滤器 区分ajax请求 与浏览器导航请求

建一个类ExceptionAttribute 继承 HandleErrorAttribute 重写OnException 方法 里面代码: //1.0日志记录(文本日志和数据库日志) //拿到日志 Exception exe= filterContext.Exception; //获取当前exe的最详细信息 Exception inexe = exe.InnerException==null ? exe:exe.InnerException; while (inexe.InnerExceptio

Wireshark系列之1 Wireshark介绍

凡是学网络的人对Wireshark必定都不陌生,但我之前对Wireshark也仅仅只是会用而已,技术层面非常浅.在2015年的信息安全管理与评估国赛试题中,对Wireshark的使用提出了很高的要求,另外国外有一份网络安全工具排行榜(http://sectools.org/),榜单中共包括了125个安全工具,其中稳居排行榜第一位的就是Wireshark.所有这些促使决心系统地学习一下Wireshark,并以其作为DVWA之后的下一个博客专题. Wireshark是目前使用最为广泛的开源抓包软件,

Wireshark命令行工具tshark

Wireshark命令行工具tshark 1.目的 写这篇博客的目的主要是为了方便查阅,使用wireshark可以分析数据包,可以通过编辑过滤表达式来达到对数据的分析:但我的需求是,怎么样把Data部分导出来,因为后续的工作主要针对数据包的Data部分,主要是对本地存储的.pcap文件进行解析.这时候就会使用到tshark命令行工具,可以通过命令提取自己想要的数据,可以重定向到文件,也可以结合上层语言比如Java,来调用命令行,实现对数据的处理! 下面我会从 相关实例.选项介绍.部分实例运行结果

Wireshark入门与进阶系列(二)

摘自http://blog.csdn.net/howeverpf/article/details/40743705 Wireshark入门与进阶系列(二) “君子生非异也,善假于物也”---荀子 本文由CSDN-蚍蜉撼青松 [主页:http://blog.csdn.net/howeverpf]原创,转载请注明出处! 上一篇文章我们讲了使用Wireshark进行数据包捕获与保存的最基本流程,更通常的情况下,我们对于要捕获的数据包及其展示.存储可能有一定要求,例如: 我们希望捕获的数据包中对我们有用

为什么在我停止网络协议捕获后Wireshark会挂起?

在使用Wireshark进行网络协议捕获和分析的完成停止的时候,Wireshark会自动挂起,你是否也遇到了这个问题?最可能的原因是Wireshark试图在捕获中查找IP地址以将其转换为名称(例如,它可以在源地址或目标地址列中显示名称),以及查找过程需要很长时间. Wireshark常见问题解决 Wireshark在运行它的机器的操作系统中调用例程,将IP地址转换为相应的名称.该例程可能会执行以下一项或多项操作: 1.搜索列出IP地址和名称的系统文件 2.使用DNS查找 如果在地址查找中使用的D

Wireshark

PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析 Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and Defense with Python>一书,为了解决很多同学对英文书的恐惧,解决看书之后实战过程中遇到的问题而作.由于原书很多地方过于简略,笔者根据实际测试情况和最新的技术发展对内容做了大量的变更,当然最重要的是个人