wireshark捕获过滤器语法使用解析

作者:nwatch 时间:2022-04-24 04:52:53 

指定捕获过滤器

wireshark捕获过滤器语法使用解析

捕获过滤器的语法格式为:

<Protocol> <Direction> <Host> <Value> <Logical Operation> <other expression>

以上语法解析:

Protocol (协议) :该选项用来指定协议。可使用的值有ether、fddi、 wlan、 ip、arprarp、decnet、 lat、 sca、 moproc、 mopdl、 tcp 和udp.如果没有特别指明是什么
议,则默认使用所有支持的协议。

Direction (方向) :该选项用来指定来源或目的地,默认使用src or dst作为关键该选项可使用的值有src、dst、 sre and dst和src or dst。

Host(s): 指定主机地址。如果没有指定,默认使用host 关键字。可能使用的值有
net、port、 host 和portrange.

Logical Operations (逻辑运算):该选项用来指定逻辑运算符。可能使用的值有and和or.其中,not (否)具有最高的优先级; or (或)和and (与)具有
优先级,运算时从左至右进行。

Other expression (其他表达式) :使用其他表达式捕获过滤器。

例如:

指定捕获tcp协议且端口为80 的数据包:

wireshark捕获过滤器语法使用解析

基于类型过滤

Wireshark可以基于类型进行捕获过滤。其中可能使用的类型有主机host,网段net,端口port,端口范围portrange和特殊类型。

主机host

语法格式: host host

解析:第一个host表示过滤器类型为host:第二个host表示主机地址,可以是ipv4或Ipv6地址。

例:捕获主机192.168.1.10 的数据包。

host 192.168.1.10

网段net

net用来指定捕获那个网段的数据包,其中网络类型的过滤器有三种形式。分别是:

net net
net mask
net CIDR

net net

net 192.168.1.0 //对应掩码 255.255.255.255
net 192.168.1 //对应掩码 255.255.255.0
net 192.168 //对应掩码 255.255.0.0
net 192 //对应掩码255.0.0.0

net mask形式

net 192.168.1.0 mask 255.255.255.0

net CIDR形式

net 192.168.1.0/24

端口port

语法格式: port port

例: port 80

端口范围

语法:portrange port1-port2

例: portrange 1-100

特殊类型

gateway host

基于传输方向的过滤

1. 源src

可以在host,net,port,portrange类型前面田间src;

src host host //仅捕获地址为指定主机的数据包
src net net //仅捕获源地址为指定网段的数据包
src port port //仅捕获源端口为指定端口的数据包
src portrange port1-port2 //仅捕获端口范围为指定端口范围的数据包

2. 目标dst

dst host host //仅捕获地址为指定主机的数据包
dst net net //仅捕获源地址为指定网段的数据包
dst port port //仅捕获源端口为指定端口的数据包
dst portrange port1-port2 //仅捕获端口范围为指定端口范围的数据包

3. 源或者目标

src or dst host
src or dst net
src or dst port
src or dst portrange port1-port2

4. 源和目标

src and dst host
src and dst net
src and dst port
src and dst portrange port1-port2

5. 特殊方向

除了上述还有两种特殊方向捕获过滤器,分别是:
广播:broadcast
多播:multicast

ether broadcast //捕获以太网广播流量
ip broadcast //捕获ip广播流量
ether multicast //捕获哦以太网多播流量

广播和多播的区别

主机之间一对所有的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机。

广播的优点:

1)网络设备简单,维护简单,布网成本低廉

2)由于服务器不用向每个客户机单独发送数据,所以服务器流量负载极低。

广播的缺点:

1)无法针对每个客户的要求和时间及时提供个性化服务。

2)网络允许服务器提供数据的带宽有限,客户端的最大带宽=服务总带宽。例如有线电视的客户端的线路支持100个频道(如果采用数字压缩技术,理论上可以提供500个频道),即使服务商有更大的财力配置更多的发送设备、改成光纤主干,也无法超过此极限。也就是说无法向众多客户提供更多样化、更加个性化的服务。

3)广播禁止允许在Internet宽带网上传输。

组播:

主机之间一对一组的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯。

组播的优点:

1)需要相同数据流的客户端加入相同的组共享一条数据流,节省了服务器的负载。具备广播所具备的优点。

2)由于组播协议是根据接受者的需要对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。IP协议允许有2亿6千多万个组播,所以其提供的服务可以非常丰富。

3)此协议和单播协议一样允许在Internet宽带网上传输。

组播的缺点:

1)与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制和QOS加以弥补。

2)现行网络虽然都支持组播的传输,但在客户认证、QOS等方面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。

实例:捕获IPV4多播数据包

wireshark捕获过滤器语法使用解析

wireshark捕获过滤器语法使用解析

基于协议过滤

1. 协议
支持的协议过滤器

捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中。

显示过滤器(DisplayFilters):用于在捕捉结果中进行详细查找。

这些可以搭配前面所讲的过滤方式达到更加巧妙的过滤方式

例子:过滤源主机为192.168.1.100并且为tcp协议端口80的数据

wireshark捕获过滤器语法使用解析

基于数据过滤

1. 长度过滤
可以使用 less ,greater关键字

less 12 也可写成 len <=12
greater 12 也可写成 len>=12

2. 基于内容过滤

语法格式: proto[expr:size] relop express

参数解析:

proto:支持的协议,有ether,fddi,tr,wlan,ppp,slip,link,ip,arp,rarp,tcp,udp,icmp,ip6或radio

expr :指定协议的偏移地址

size:指定数据长度其中,单位bit

relop:指定使用的运算符,关系运算符有,>,<,>=,<=.=,!=,二进制运算符有,+,-,*,/,%,&,|,^,<<,>>

例如:捕获所有ipv4地址包,

ip[0] & 0xf !=5

使用多个捕获过滤器

通过结合逻辑运算符可以同时使用多个捕获过滤器。

有: not (!) ,and(&&),or(||) ,

例如:捕获主机192.168.1.100,而且tcp端口为80的数据包

host 192.168.1.100 and tcp port 80

注意: not(!) 具有最高优先级,and(&&)和 or(||)优先级相等。

使用预置表达式

wireshark捕获过滤器语法使用解析

wireshark捕获过滤器语法使用解析

可以将平时常用,或者,想到骚操作记录下来,下次就可以直接使用了。

ok,捕获过滤器的内容到这里就结束了,接下来会持续更新,显示过滤器,数据的处理与分析,等内容,更多关于wireshark捕获过滤器语法的资料请关注脚本之家其它相关文章!

来源:https://zhuanlan.zhihu.com/p/272685665

标签:wireshark,捕获过滤器,语法
0
投稿

猜你喜欢

  • python实现从ftp服务器下载文件的方法

    2023-08-02 20:50:54
  • 通过Python pyecharts输出保存图片代码实例

    2021-09-14 22:26:11
  • Python提示[Errno 32]Broken pipe导致线程crash错误解决方法

    2022-12-02 02:20:42
  • Keras中的两种模型:Sequential和Model用法

    2021-10-16 07:04:32
  • pytorch实现用Resnet提取特征并保存为txt文件的方法

    2023-04-10 17:21:09
  • 解决Pycharm界面的子窗口不见了的问题

    2022-03-06 15:21:15
  • PHP的HTTP客户端Guzzle简单使用方法分析

    2023-07-16 05:58:56
  • Ubuntu16.04/树莓派Python3+opencv配置教程(分享)

    2023-03-30 12:38:59
  • 使用sublime text3搭建Python编辑环境的实现

    2023-01-20 21:01:56
  • Python中如何将Tqdm与Asyncio结合使用呢

    2021-06-13 11:18:40
  • php+mysqli数据库连接的两种方式

    2023-10-08 22:15:16
  • python 将对象设置为可迭代的两种实现方法

    2023-08-24 18:01:39
  • 详解Python的Django框架中inclusion_tag的使用

    2021-05-19 13:10:26
  • TensorFlow人工智能学习数据类型信息及转换

    2022-11-02 09:12:55
  • 用pandas按列合并两个文件的实例

    2022-05-31 22:21:04
  • Python基于更相减损术实现求解最大公约数的方法

    2022-10-31 16:13:24
  • asp如何将产生的密码记录并发送给用户?

    2009-11-26 20:50:00
  • 对python3 Serial 串口助手的接收读取数据方法详解

    2023-05-31 17:39:01
  • asp如何判断偶数和奇数?

    2010-01-12 20:16:00
  • Go如何实现HTTP请求限流示例

    2023-07-21 00:40:27
  • asp之家 网络编程 m.aspxhome.com