抓取指定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.addr == 10.2.2.2

抓取指定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] & 0x00 = 0: No flags set (null scan)
  • tcp[13] & 0x01 = 1: FIN set and ACK not set
  • tcp[13] & 0x03 = 3: SYN set and FIN set
  • tcp[13] & 0x05 = 5: RST set and FIN set
  • tcp[13] & 0x06 = 6: SYN set and RST set
  • tcp[13] & 0x08 = 8: PSH set and ACK not set

tcp[13]是从协议头开始的偏移量,0,1,3,5,6,8是标识位。

尽量避免使用抓包过滤。即便多看几个报文,也比漏看一个报文要好。当你抓取了大量报文的时候,用显示过滤(过滤选项也更多)来重点查看某一数据流。

协议过滤器:

  • arp:显示所有包括ARP请求和回复在内的所有ARP数据流。
  • ip:显示内含IPv4头在内的(如ICMP目的地址不可达报文,在ICMP报文头之后返回到来方向的IPv4头)IP数据流。
  • ipv6:显示所有IPv6数据流,包括内含IPv6报文头的IPv4报文,如6to4,Teredo,以及ISATAP数据流。
  • tcp:显示所有基于TCP的数据流。

应用过滤器:

  • bootp:显示所有DHCP数据流(基于BOOTP)。
  • dns:显示包括TCP区域传输以及基于标准UDP的DNS请求和回复在内的所有DNS数据流。
  • tftp:显示所有TFTP(Trivial File Transfer Protocol)数据流。
  • http:显示所有HTTP命令,回复以及数据传输报文,但不显示TCP握手报文,TCP ACK报文以及TCP结束报文。
  • icmp:显示所有ICMP报文。

域过滤器:

  • boot.option.hostname:显示所有包含主机名的DHCP数据流(DHCP基于BOOTP)。
  • http:host:显示所有包含HTTP主机名字段的所有HTTP报文。此报文是客户端向网络服务器发送请求时发出的。
  • ftp.request.command:显示所有包含命令的FTP数据流,比如USER,PASS,或RETR命令。

字符过滤器:

  • tcp.analysis.flags:显示所有包含TCP分析标识的所有报文,包括报文丢失,重传,或零窗口标识。
  • tcp.analysis,zero_window:显示含有表明发送方的接收缓存用完标识的报文。

wireshark常用过滤条件的更多相关文章

  1. wireshark常用过滤规则

    wireshark常用过滤规则:(Filter中输入过滤规则)1.源ip过滤:ip.src==1.1.1.1               (过滤源ip为1.1.1.1的包) 2.目的ip过滤:ip.d ...

  2. Wireshark常用过滤使用方法

    过滤源ip.目的ip. 在wireshark的过滤规则框Filter中输入过滤条件.如查找目的地址为192.168.101.8的包,ip.dst==192.168.101.8:查找源地址为ip.src ...

  3. Wireshark常用过滤命令

    WireShark在我们网络编程中有非常重要的作用,可以帮我们抓取我们程序发送的数据包,大家常常说他是抓包工具,其实它是一款非常强大的网络数据包分析工具. 在WireShark的学习上,不想花费太多的 ...

  4. filter方法常用过滤条件

    #encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,Float,func,and_,or_ from ...

  5. magento addFieldToFilter()方法常用的过滤条件

    记录一下Magento模型集合Model Collection中addFieldToFilter()方法常用的过滤条件.以下参数也同样适用于产品实体的addAttributeToFilter()方法. ...

  6. 使用wireshark常用的过滤命令

    使用wireshark常用的过滤命令 方法/步骤 过滤源ip.目的ip.在wireshark的过滤规则框Filter中输入过滤条件.如查找目的地址为192.168.101.8的包,ip.dst==19 ...

  7. WireShark系列: 使用WireShark过滤条件抓取特定数据流(zz)

    应用抓包过滤,选择Capture | Options,扩展窗口查看到Capture Filter栏.双击选定的接口,如下图所示,弹出Edit Interface Settints窗口. 下图显示了Ed ...

  8. wireshark常用的过滤命令

    我们使用wireshark抓包,却不知道如何分析这些包,也无法从海量的包中提取自己需要的数据,下面简单介绍下wireshark的过滤规则. 过滤源ip.目的ip.在wireshark的过滤规则框Fil ...

  9. 一站式学习Wireshark(八):应用Wireshark过滤条件抓取特定数据流

    应用抓包过滤,选择Capture | Options,扩展窗口查看到Capture Filter栏.双击选定的接口,如下图所示,弹出Edit Interface Settints窗口. 下图显示了Ed ...

随机推荐

  1. Clang比 gcc/g++更人性化代码出错提示的C/C++编译器

    编译器方面的几个命令 gcc/g++ 一. 常用编译命令选项 常用用法 gcc -Wall test.c -o test gcc编译过程 .c ->(-E)-> .i[中间文件] -> ...

  2. Android Unable to instantiate activity: Didn't find class on path

    Android Unable to instantiate activity: Didn't find class on path After i spend a while on this prob ...

  3. iOS相关笔记

    #协议[1] [2] @property (nonatomic, assign) id<EveryFrameDelegate> delegate; 表明,这个delegate是一个需要实现 ...

  4. ThinPHP命名空间,连接数据库是要修改的配置文件,Model数据模型层,跨控制器调用,如何获取系统常量信息,

    一.命名空间(主要是为了实现自动加载类) *命名空间(相当于虚拟的目录),为了让类有一个统一的文件夹来管理(可以自动加载'类'),每个文件都要有命名空间*tp如何做命名空间:*TP框架下有一个初始命名 ...

  5. 常见的java类

    String System StringBuilder Thread Math ArrayList LinkedList HashMap HashSet Scanner Calendar Date F ...

  6. SPI总线

    一.概述. SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上是通过接在外围设备微控 ...

  7. Base64加密算法封装

    /// <summary>/// 实现Base64加密解密/// </summary>public sealed class Base64{/// <summary> ...

  8. 快速将一个表的数据生成SQL插入语句

    将一个表中的数据生成SQL插入语句,方便系统快速初始化,在数据库中执行创建以下过程就可以了. ) Drop Procedure GenerateData go CREATE PROCEDURE Gen ...

  9. [转]搬瓦工教程之九:通过Net-Speeder为搬瓦工提升网速

    搬瓦工教程之九:通过Net-Speeder为搬瓦工提升网速 有的同学反映自己的搬瓦工速度慢,丢包率高.这其实和你的网络服务提供商有关.据我所知一部分上海电信的同学就有这种问题.那么碰到了坑爹的网络服务 ...

  10. h5 与app交互

    http://www.jianshu.com/p/7151987f012d JSContext *context = [self.webView valueForKeyPath:@"docu ...