前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Wireshark过滤基础语法简析

Wireshark过滤基础语法简析

原创
作者头像
杜衡老师
发布2024-03-29 23:47:08
1420
发布2024-03-29 23:47:08

1.简介

Wireshark是一款强大的网络分析工具,它可以捕获和显示网络上的数据包,并提供多种过滤功能,让用户可以快速地找到自己感兴趣的数据包。 

Wireshark的过滤功能分为两种:捕获过滤和显示过滤。

  • 捕获过滤是在数据包进入Wireshark之前就对其进行筛选,只保留符合条件的数据包,从而减少捕获的数据量。
  • 显示过滤是在数据包已经进入Wireshark之后,对其进行再次筛选,只显示符合条件的数据包,从而方便用户分析。 

Wireshark的过滤语法有两种:BPF语法和Wireshark语法。

  • BPF语法是一种通用的数据包过滤语言,它可以用于多种网络分析工具,如tcpdump、libpcap等。
  • Wireshark语法是一种专门为Wireshark设计的过滤语言,它可以利用Wireshark的协议解析能力,对数据包的各个层次和字段进行过滤。 

本文是Wireshark部分的第一节,介绍两种过滤语法的基本写法。

2.BPF语法 

BPF语法的基本格式是: 

代码语言:python
复制
类型 方向 协议 地址 端口 

其中,

  • 类型-表示数据包的类型,可以是host、net、port、portrange等;
  • 方向-表示数据包的方向,可以是src、dst、src and dst、src or dst等;
  • 协议-表示数据包的协议,可以是ip、tcp、udp、icmp等;
  • 地址-表示数据包的主机地址,可以是IP地址或域名;
  • 端口-表示数据包的端口号,可以是数字或服务名。 

BPF语法的一些示例如下: 

  • host 192.168.1.1:过滤所有与192.168.1.1相关的数据包,无论是源地址还是目的地址。 
  • tcp port 80:过滤所有使用TCP协议并且端口号为80的数据包,无论是源端口还是目的端口。 
  • ip src 10.0.0.1 and udp dst port 53:过滤所有使用IP协议,源地址为10.0.0.1,目的端口为53的UDP数据包。 
  • net 172.16.0.0/16:过滤所有属于172.16.0.0/16网段的数据包。 

3.Wireshark语法 

Wireshark语法的基本格式是: 

代码语言:python
复制
字段 运算符 值 

字段-表示数据包的字段,可以是协议名、字段名或别名;

运算符-表示比较运算符,可以是\==、!=、>、<、>=、<=、contains、matches等;

值-表示字段的值,可以是数字、字符串、布尔值等。 

Wireshark基础语法的一些示例如下: 

  • ip.addr == 192.168.1.1:过滤所有IP地址等于192.168.1.1的数据包,无论是源地址还是目的地址。 
  • tcp.port == 80:过滤所有TCP端口等于80的数据包,无论是源端口还是目的端口。 
  • udp.srcport == 53 and dns.flags.response == 0:过滤所有源端口为53,且DNS标志位为请求的UDP数据包。 
  • http.request.method == "GET":过滤所有HTTP请求方法为GET的数据包。 
  • ssl.handshake.type == 1:过滤所有SSL握手类型为Client Hello的数据包。 
  • ip.addr matches "10\.0\.\d+\.\d+":过滤所有IP地址符合正则表达式10.0.\d+.\d+的数据包。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.简介
  • 2.BPF语法 
  • 3.Wireshark语法 
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档