wireshark过滤器基本语法分析

Wireshark抓包过滤器语法设置

1. 抓包过滤器

BPF语法(Berkeley Packet Filter)——基于libpcap/wincap库,在抓包的过程中过滤掉某些类型的协议,不抓取过滤掉的协议。(建议在流量特别大的情况下使用)

1.1 语法说明

  1. 类型Type: host、net、port
  2. 方向Dir: src、dst
  3. 协议Proto: ether、ip、tcp、udp、http、ftp
  4. 逻辑运算符: &&与、||或、!非

1.2 例子

  • src host 192.168.1.1 && dst port 80 抓取源地址为192.168.1.1,目的端口为80的流量
  • host 192.168.1.1 || host 192.168.1.2 抓取192.168.1.1和192.168.1.2的流量
  • !broadcast 不要抓广播包

过滤MAC地址案例

  • ether host 00:88:ca:86:f8:od
  • ether src host 00:88:ca:86:f8:od
  • ether dst host 00:88:ca:86:f8:od

过滤IP地址案例

  • host 192.168.1.1
  • src host 192.168.1.1
  • dst host 192.168.1.1

过滤端口案例

  • port 80
  • ! port 80
  • dst port 80
  • src port 80

过滤协议案例

  • arp
  • icmp

综合过滤案例:

host 192.168.1.1 && port 8080

tcp dst port 3128 显示目的TCP端口为3128的封包。

ip src host 10.1.1.1 显示来源IP地址为10.1.1.1的封包。

host 10.1.2.3 显示目的或来源IP地址为10.1.2.3的封包。

src portrange 2000-2500 显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包。

not imcp 显示除了icmp以外的所有封包。(icmp通常被ping工具使用)

src host 10.7.2.12 and not dst net 10.200.0.0/16 显示来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。

(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8 显示来源IP为10.4.1.12或者来源网络为10.6.0.0/16,目的地TCP端口号在200至10000之间,并且目的位于网络10.0.0.0/8内的所有封包。

2. 显示过滤器

抓包的时候没有做任何过滤,抓完包后国女,抓包过滤器语法与显示过滤器语法是不一样的。只需要研究某一种协议,不需要全局流量的,可以使用抓包过滤器。在流量很小的时候建议使用显示过滤器。

2.1 语法说明

比较操作符

支持==、!=、<、>、>=、=等

==    eq   等于   ip.addr == 192.168.0.1  ip.addr eq 192.168.0.1      

!=     ne   不等于 !ip.addr==192.168.0.1 ip.addr!= 192.168.0.1 ip.addr ne 192.168.0.1      

>      gt   大于    frame.len>64  frame.len gt 64      

<      lt   小于   frame.len<1500 frame.len le 1500      

>=    ge   不大于 frame.len >= 64      

<=     le   不小于 frame.len <= 1500          

 is   present 符合某项参数,满足某个条件,或者出现某个现象 http.response          

contains 包含某个字符串   http.host contains cisco            

match   某串字符匹配某个条件 http.host matches www.cicso.com  逻辑关系操作符    

 针对长度的过虑(这里的长度指定的是数据段的长度)

 表达式为:udp.length < 30   http.content_length <=20

针对数据包内容的过滤

表达式为:http.request.uri matches "vipscu"  (匹配http请求中含有vipscu字段的请求信息)

Http模式过滤

http.request.method=="GET",   只显示HTTP GET方法的。

逻辑操作符

&&  and  逻辑与  ip.src==10.0.0.1 and tcp.flags.syn=1    

||  or  逻辑或 ip.addr==10.0.0.1 or ip.addr==10.0.0.2    

 !  not  逻辑非 not arp and not icmp 除了arp和icmp之外的包  

ip.addr != 192.168.0.1 这样的表达式语法正确但是并不起作用,原因是每个IP数据包必定包含两个IP地址,wireshark执行上边的过滤功能时,只要发现源和目的IP有一不为192.168.0.1,就会判定条件为真,正确的应该是 !(ip.addr eq 192.168.0.1)

IP地址

ip.addr、ip.src、ip.dst

端口过滤

tcp.port、tcp.srcport、tcp.dstport、tcp.flag.syn、tcp.flag.ack

协议过滤

arp、ip、icmp、udp、tcp、bootp、dns

2.2 示例

过滤IP地址案例

  • ip.addr == 192.168.1.1
  • ip.src == 192.168.1.1
  • ip.dst == 192.168.1.1

过滤端口案例

  • tcp.port == 80
  • tcp.srcport == 80
  • tcp.dstport == 80
  • tcp.flags.syn == 1

过滤协议案例

  • tcp
  • not http
  • not arp

综合过滤案例

  • ip.src == 192.168.1.100 and udp.port == 4000

wireshark简介:

wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。

点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包

WireShark 主要分为这几个界面

1. Display Filter(显示过滤器),  用于过滤

2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表

3. Packet Details Pane(封包详细信息), 显示封包中的字段

4. Dissector Pane(16进制数据)

5. Miscellanous(地址栏,杂项)

封包列表(Packet List Pane)

封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。

你也可以修改这些显示颜色的规则,  View ->Coloring Rules.

封包详细信息 (Packet Details Pane)

这个面板是我们最重要的,用来查看协议中的每一个字段。

各行信息分别为

Frame:   物理层的数据帧概况

Ethernet II: 数据链路层以太网帧头部信息

Internet Protocol Version 4: 互联网层IP包头部信息

Transmission Control Protocol:  传输层T的数据段头部信息,此处是TCP

Hypertext Transfer Protocol:  应用层的信息,此处是HTTP协议

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值