WireShark系列: 使用WireShark过滤条件抓取特定数据流(zz)
应用抓包过滤,选择Capture | Options,扩展窗口查看到Capture Filter栏。双击选定的接口,如下图所示,弹出Edit Interface Settints窗口。

下图显示了Edit Interface Settings窗口,这里可以设置抓包过滤条件。如果你确知抓包过滤条件的语法,直接在Capture Filter区域输入。在输入错误时,Wireshark通过红色背景区域表明无法处理过滤条件。最有可能的情况是,过滤条件中含有输入错误,或是使用了display filter的语法。
点击Capture Filter按钮查看并选择已保存的抓包过滤条件。

更多信息
抓取指定IP地址的数据流:
如果你的抓包环境下有很多主机正在通讯,可以考虑使用所观察主机的IP地址来进行过滤。以下为IP地址抓包过滤示例:
- host 10.3.1.1:抓取发到/来自10.3.1.1的数据流
- host 2406:da00:ff00::6b16:f02d:抓取发到/来自IPv6地址2406:da00:ff00::6b16:f02d的数据流
- not host 10.3.1.1:抓取除了发到/来自10.3.1.1以外的所有数据流
- src host 10.3.1.1:抓取来自10.3.1.1的数据流
- dst host 10.3.1.1:抓取发到10.3.1.1的数据流
- host 10.3.1.1 or 10.3.1.2:抓取发到/来自10.3.1.1,以及与之通讯的所有数据流,与10.3.1.2,以及与之通讯的所有数据流
- host www.espn.com:抓取发到/来自所有解析为www.espn.com的IP地址的数据流
抓取指定IP地址范围的数据流:
当你需要抓取来自/发到一组地址的数据流,可以采用CIDR(无类别域间路由,Classless Interdomain Routing)格式或使用mask参数。
- net 10.3.0.0/16:抓取网络10.3.0.0上发到/来自所有主机的数据流(16表示长度)
- net 10.3.0.0 mask 255.255.0.0:与之前的过滤结果相同
- ip6 net 2406:da00:ff00::/64:抓取网络2406:da00:ff00:0000(IPv6)上发到/来自所有主机的数据流
- not dst net 10.3.0.0/16:抓取除了发到以10.3开头的IP地址以外的所有数据流
- not src net 10.3.0.0/16:抓取除了来自以10.3开头的IP地址以外的所有数据流
- ip proto <protocol code>:抓取ip协议字段等于<protocol code>值的报文。如TCP(code 6), UDP(code 17), ICMP(code 1)。
- ip[2:2]==<number>:ip报文大小
- ip[8]==<number>:TTL(Time to Live)值
- ip[9]==<number>:协议值
- icmp[icmptype]==<identifier>: 抓取 ICMP代码等于identifier的ICMP报文, 如icmp-echo 以及 icmp-request。
方括号中第一个数字表示从协议头开始的偏移量,第二个数字表示需要观察多少位。

抓取发到广播或多播地址的数据流:
只需侦听广播或多播数据流,就可以掌握网络上主机的许多信息。
- ip broadcast:抓取广播报文
- ip multicast:抓取多播报文
- dst host ff02::1:抓取到IPv6多播地址所有主机的数据流
- dst host ff02::2:抓取到IPv6多播地址所有路由器的数据流
小贴士:
Wireshark包含了一些默认的抓包过滤条件。点击主工具栏的Edit Capture Filters,跳转到已保存抓包过滤列表。你会发现一些常见抓包过滤的示例。
抓取基于MAC地址的数据流:
当你需要抓取发到/来自某一主机的IPv4或IPv6数据流,可创建基于主机MAC地址的抓包过滤条件。
应用MAC地址时,需确保与目标主机处于同一网段。
- ether host 00:08:15:00:08:15:抓取发到/来自00:08:15:00:08:15的数据流
- ether src 02:0A:42:23:41:AC:抓取来自02:0A:42:23:41:AC的数据流
- ether dst 02:0A:42:23:41:AC:抓取发到02:0A:42:23:41:AC的数据流
- not ether host 00:08:15:00:08:15:抓取除了发到/来自00:08:15:00:08:15以外的所有数据流
- ether broadcast或ether dst ff:ff:ff:ff:ff:ff:抓取广播报文
- ether multicast:多播报文
- 抓取指定以太网类型的报文:ether proto 0800
- 抓取指定VLAN:vlan <vlan number>
- 抓取指定几个VLAN:vlan <vlan number> and vlan <vlan number>
抓取基于指定应用的数据流:
你可能需要查看基于一个或几个应用的数据流。抓包过滤器语法无法识别应用名,因此需要根据端口号来定义应用。通过目标应用的TCP或UDP端口号,将不相关的报文过滤掉。
- port 53:抓取发到/来自端口53的UDP/TCP数据流(典型是DNS数据流)
- not port 53:抓取除了发到/来自端口53以外的UDP/TCP数据流
- port 80:抓取发到/来自端口80的UDP/TCP数据流(典型是HTTP数据流)
- udp port 67:抓取发到/来自端口67的UDP数据流(典型是DHCP据流)
- tcp port 21:抓取发到/来自端口21的TCP数据流(典型是FTP命令通道)
- portrange 1-80:抓取发到/来自端口1-80的所有UDP/TCP数据流
- tcp portrange 1-80:抓取发到/来自端口1-80的所有TCP数据流
抓取结合端口的数据流:
当你需要抓取多个不连续端口号的数据流,将它们通过逻辑符号连接起来,如下图所示:
- port 20 or port 21:抓取发到/来自端口20或21的UDP/TCP数据流(典型是FTP数据和命令端口)
- host 10.3.1.1 and port 80:抓取发到/来自10.3.1.1端口80的数据流
- host 10.3.1.1 and not port 80:抓取发到/来自10.3.1.1除了端口80以外的数据流
- udp src port 68 and udp dst port 67:抓取从端口68到端口67的所有UDP数据流(典型是从DHCP客户端到DHCP服务器)
- udp src port 67 and udp dst port 68:抓取从端口67到端口68的所有UDP数据流(典型是从DHCP服务器到DHCP客户端)
- 抓取TCP连接的开始(SYN)和结束(FIN)报文,配置tcp[tcpflags] & (tcp-syn|tcp-fin)!=0
- 抓取所有RST(Reset)标志位为1的TCP报文,配置tcp[tcpflags] & (tcp-rst)!=0
- less <length>:抓取小于等于某一长度的报文,等同于len <=<length>
- greater <length>:抓取大于等于某一长度的报文,等同于len >=<length>
SYN: 简历连接的信号
FIN: 关闭连接的信号
ACK: 确认接收数据的信号
RST: 立即关闭连接的信号
PSH: 推信号,尽快将数据转由应用处理
- tcp[13] & 0×00 = 0: No flags set (null scan)
- tcp[13] & 0×01 = 1: FIN set and ACK not set
- tcp[13] & 0×03 = 3: SYN set and FIN set
- tcp[13] & 0×05 = 5: RST set and FIN set
- tcp[13] & 0×06 = 6: SYN set and RST set
- tcp[13] & 0×08 = 8: PSH set and ACK not set
tcp[13]是从协议头开始的偏移量,0,1,3,5,6,8是标识位

尽量避免使用抓包过滤。即便多看几个报文,也比漏看一个报文要好。当你抓取了大量报文的时候,用显示过滤(过滤选项也更多)来重点查看某一数据流。
小贴士:
如果你需要查看TCP帧中的某一ASCII字符串,用Wireshark String-Matching Capture Filter Generator(http://www.wireshark.org/tools/string-cf.html)。例如,想要抓取HTTP GET报文,输入GET并将TCP偏移量设置为0。
WireShark系列: 使用WireShark过滤条件抓取特定数据流(zz)的更多相关文章
- 一站式学习Wireshark(八):应用Wireshark过滤条件抓取特定数据流
应用抓包过滤,选择Capture | Options,扩展窗口查看到Capture Filter栏.双击选定的接口,如下图所示,弹出Edit Interface Settints窗口. 下图显示了Ed ...
- scrapy爬虫学习系列五:图片的抓取和下载
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- 【JAVA系列】Google爬虫如何抓取JavaScript的?
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[JAVA系列]Google爬虫如何抓取Java ...
- wireshark系列之wireshark简介
前言:为什么要学wireshark?工欲善其事必先利其器,wireshark是一款工具软件,主要作用是抓取数据封包,可以帮助我们更加直观更加具象的学习各种网路协议(http.TLS.TCP.UDP.I ...
- Java爬虫系列二:使用HttpClient抓取页面HTML
爬虫要想爬取需要的信息,首先第一步就要抓取到页面html内容,然后对html进行分析,获取想要的内容.上一篇随笔<Java爬虫系列一:写在开始前>中提到了HttpClient可以抓取页面内 ...
- Python爬虫系列-分析Ajax请求并抓取今日头条街拍图片
1.抓取索引页内容 利用requests请求目标站点,得到索引网页HTML代码,返回结果. 2.抓取详情页内容 解析返回结果,得到详情页的链接,并进一步抓取详情页的信息. 3.下载图片与保存数据库 将 ...
- 用Jpush极光推送实现抓取特定某个用户Log到七牛云服务器
场景 我们的app常常会出现某个特定用户的手机出现异常情况,(注意不是所有用户,特定机型特定用户)如果用友盟,那么多log你也抓不完 ,看不到log就无法解决问题. 那么问题来了,如何实现对特定某个用 ...
- wireshark系列之wireshark过滤器
一:过滤器 使用wireshark工具抓包,如果使用默认配置,会得到大量的数据,所以我们就很难找到我们要分析的封包数据.所以使用wireshark过滤器就显得尤为重要. wireshark过滤器分为两 ...
- ADB logcat 过滤方法(抓取日志)
1. Log信息级别 Log.v- VERBOSE : 黑色 Log.d- DEBUG : 蓝色 Log.i- INFO : 绿色 Log.w- WARN : 橙色 Log.e- ERROR ...
随机推荐
- PL/SQL之--包
一.包 包是一组相关过程.函数.常量.变量.游标.异常等PL/SQL程序设计元素的组合.它类似于C++和Java中的类,其中变量相当于类中的成员变量,过程和函数相当于类中的方法.通过使用包,可以使开发 ...
- Linux gcc命令
一.简介 GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言.C++ 语言.Java 语言.Objectiv ...
- 微信支付.NET版开发总结(JS API),好多坑,适当精简
前2天,做一个手机网页的微信支付的项目,费了好些周折,记录一下.接下来,按照开发步骤,细数一下,我遇到的那些坑. [坑1]官方邮件中下载的demo只有PHP版本,其他版本没有给链接.可能让人误以为只有 ...
- Linux ethtool命令
一.简介 ethtool 是用于查询及设置网卡参数的命令. 二.常用选项 ethtool ethx //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0.eth1等等 ethtool ...
- xargs -n1 -t
杀掉删除没有释放空间的进程 可以用如下命令,当然也可以写一个循环,不过这一条命令比循环简单 lsof |grep deleted |awk '{print $2}' |xargs -n1 -t ...
- SSAS-many 2 many one simple sample
基本业务:一个事件发生后,影响到多个国家,这个事件也会被定一个事件类型(这里简化为type1,2,3),处理这个事件花费多长时间. 我们的事实表就记录这个事情,相对应的我们设计两个维表,一个是国家,一 ...
- [转]Ionic – Mobile UI Framework for PhoneGap/Cordova Developers
本文转自:http://devgirl.org/2014/01/20/ionic-mobile-ui-framework-for-phonegapcordova-developers/ Ionic i ...
- 【MVC 4】5.SportsSore —— 一个真实的应用程序
作者:[美]Adam Freeman 来源:<精通ASP.NET MVC 4> 前面建立的都是简单的MVC程序,现在到了吧所有事情综合在一起,以建立一个简单但真实的电子商务应用 ...
- codeforces 101C C. Vectors(数学)
题目链接: C. Vectors time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- 安装StarUML 及使用时序图(Sequence Diagram)和用例图(use case diagram)
时序图 用例图