关于wireshark的过滤器规则学习小结

前言

这两天一直在熟悉wireshark的过滤器语法规则,以前也接触过这个工具,但只是学校老师教的如何去选择一个接口进行抓取,以及如何去分析一个包的数据。可惜当时对此也没有过多深入。对于我当前,并未接触太多的功能,现在只是对这两天学到的一些简单的过滤规则做一个总结。

1. 测试环境说明

2. 过滤器规则说明

目前网络上对于wireshark的流程使用实在太多,在此也就不再赘述,现只针对过滤器的一些简单使用规则进行一些举例说明。

要注意的是wireshark中,分为两种过滤器:捕获过滤器和显示过滤器。

捕获过滤器】是指wireshark一开始在抓包时,就确定要抓取哪些类型的包;对于不需要的,不进行抓取;

显示过滤器】是指wireshark对所有的包都进行抓取,当用户分析数据包的信息,便于筛选出需要的数据包。

总结来说,捕获过滤器是在用户开始任务之前就要使用的规则;而显示过滤器是任务开始之后(无论是否已完成)要使用的规则。

两种过滤器语法规则不尽相同,下面做出一些示例:

a)捕获过滤器

1)语法结构

  Protocols

ether,fddi,ip,arp,rarp,decnet,lat,sca,moprc,mopdl,tcp and udp

注:若不指定,默认使用所有支持的协议

  Direction

src,dst,src and dst,src or dst

注:若不指定,默认使用双向(src or host)

  Host

net,port,host,portrange

注:若不指定,默认所有(host)

  Logical Operations

and,or,not

注:not优先级最高,or和not优先级相等,从左至右依次运算

  Other expression

其他的过滤条件,当有多重表达条件时与Logica Operatios 一起连用

2)使用示例

过滤地址

host 192.168.1.1  //只抓取源/目的IP为192.168.1.1的数据包

src host 192.168.1.1 && dst host 192.168.1.2  //只抓取源IP为192.168.1.1,目的IP为192.168.1.2的数据包

net 192.168.1.0/24 net  //用于表示一个网段

过滤端口

!port 80  //不抓取端口为80的数据包

tcp portrange 1-1024  //只抓取使用tcp协议的1-1024端口的数据包

dst port 80  //只抓取目标端口为80的所有数据包

src host 192.168.1.5 && port 443   //抓取所有源IP为192.168.1.5,并且与443端口有关的数据包

过滤协议

tcp,udp,icmp,arp  //直接输入某一个协议,则只抓取该协议的数据包

!brocast  //使用逻辑非运算符,不抓取广播包

b) 显示过滤器

1)使用示例

可使用连接符

==(eq)  //等于,equal

!=(ne)  //不等于,no equal

<(lt)  //小于,less than

>(gt)  //大于,great than

>=(ge)  //大于等于,great equal

<=(le)  //小于等于,less equal

&&  //逻辑“与”运算

||  //逻辑“或”运算

!  //逻辑“非”运算

过滤IP地址

ip.addr==192.168.1.3  //只显示源/目的IP为192.168.1.3的数据包

not ip.src==1.1.1.1  //不显示源IP为1.1.1.1的数据包

ip.src==1.1.1.1 or ip.dst==1.1.1.2  //只显示源IP为1.1.1.1或目的IP为1.1.1.2的数据包

过滤端口

tcp.port eq 80  //只显示源/目的端口为80的数据包

tcp.dstport==80  //只显示目的端口为80的数据包

tcp.srcport

tcp.port >=1 and tcp.port<=80  //只显示源/目的端口大于等于1,小于等于80的数据包

过滤MAC地址

eth.dst==A0:00:00:04:C5:84  //只显示目的MAC为A0:00:00:04:C5:84 的数据包

eth.addr eq A0:00:00:04:C5:84  //作用同上

过滤协议类别

tcp、ip、dhcp、oicq、ftp、ssl等等

udp || icmp || dns  //只显示udp、icmp、dns相关协议的数据包

not arp 等于 !arp  //不显示arp协议的数据包

过滤协议参数

tcp.flags.syn == 0x02  //显示包含syn标志位的数据包

frame.len==119  //整个数据包长度,从eth开始到最后

http.request.method=="get"  //显示http请求中method值为get的包

tips:如图所示,在显示过滤器中输入规则时,会出现提示信息,可据此了解更多的协议过滤规则

c) 注意事项

1)捕获过滤器对于一个选项的参数之间使用空格进行连接

2)显示过滤器对于一个选项的参数之间使用点”.”进行连接

3) 输入过滤器规则时,如果语法正确,底色显示为绿色;如果语法错误,显示为红色。

4) 使用捕获过滤器时,要先选择要捕获的接口,再填写过滤器规则

关于wireshark的过滤器规则学习小结的更多相关文章

  1. 一站式学习Wireshark(十):应用Wireshark显示过滤器分析特定数据流(下)

    介绍 掌握显示过滤器对于网络分析者来说是一项必备的技能.这是一项大海捞针的技巧.学会构建,编辑,保存关键的显示过滤器能够节省数小时的时间. 与捕捉过滤器使用的BPF语法不同,显示过滤器使用的是Wire ...

  2. 一站式学习Wireshark(九):应用Wireshark显示过滤器分析特定数据流(上)

    介绍 掌握显示过滤器对于网络分析者来说是一项必备的技能.这是一项大海捞针的技巧.学会构建,编辑,保存关键的显示过滤器能够节省数小时的时间. 与捕捉过滤器使用的BPF语法不同,显示过滤器使用的是Wire ...

  3. wireshark基础学习—第三部分wireshark的过滤器语法

    我们都知道,wireshark可以实现本地抓包,同时Wireshark也支持remote packet capture protocol(rpcapd)协议远程抓包,只要在远程主机上安装相应的rpca ...

  4. wireshark显示过滤器的几种用法(转自他人博客)

    本文章转自:http://blog.51cto.com/houm01/1872652 几种条件操作符 ==   eq    等于    ip.addr == 192.168.0.1   ip.addr ...

  5. Wireshark 捕获过滤器的语法

    转自:http://blog.csdn.net/qq_29277155/article/details/52077239 前言 我们都知道,wireshark可以实现本地抓包,同时Wireshark也 ...

  6. wireshark基础学习—第四部分wireshark过滤器总结

    这两天一直在熟悉wireshark的过滤器语法规则,以前也接触过这个工具,但只是学校老师教的如何去选择一个接口进行抓取,以及如何去分析一个包的数据.可惜当时对此也没有过多深入.对于我当前,并未接触太多 ...

  7. Wireshark教程之过滤器设置

    实验目的 1.工具介绍 2.主要应用 实验原理 1.网络管理员用来解决网络问题 2.网络安全工程师用来检测安全隐患 3.开发人员用来测试执行情况 4.学习网络协议 实验内容 1.抓取特定数据流 2.显 ...

  8. Wireshark简单使用教程2——附视频

    视频链接https://www.bilibili.com/video/av35336089/ 目录 对抓取的流量包进行简单的说明 Wireshark的捕获过滤器和显示过滤器 内容 1.对抓取的流量包进 ...

  9. [Tools] Wireshark Primer Tutorials

    介绍就不说了,安装也没必要讲,关于如何使用,网上的辣鸡文过多,视频又太冗余. 我推荐看下面有条理的入门教程. 界面说明:http://openmaniak.com/cn/wireshark_use.p ...

随机推荐

  1. HTML meta pragma no-cache 页面缓存

    HTML meta pragma no-cache 页面缓存不缓存页面(为了提高速度一些浏览器会缓存浏览者浏览过的页面,通过下面的定义,浏览器一般不会缓存页面,而且浏览器无法脱机浏览.) <me ...

  2. Codeforces 876E National Property ——(2-SAT)

    在这题上不是标准的“a或b”这样的语句,因此需要进行一些转化来进行建边.同时在这题上点数较多,用lrj大白书上的做法会T,因此采用求强连通分量的方法来求解(对一个点,如果其拓扑序大于其为真的那个点,则 ...

  3. kubernetes 1.14安装部署ingress

    简单介绍: Ingress是Kubernetes API的标准资源类型之一,它其实就是一组基于DNS名称或URL路径把请求转发至指定的Service资源的规则,用来将集群外部的请求流量转发至集群内部. ...

  4. Nginx:fastcgi_param详解

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#脚本文件请求的路径 fastcgi_param QUERY_STRI ...

  5. centos 普通用户 和 root 相互切换方法

    root 用户切换为普通用户 :用 login -f username (加 -f 不用输入密码)例如普通用户的用户名为hadoop,这里就是 login -f hadoop 普通用户切换为root用 ...

  6. SQLServer 拼接列

    想把表里modified_by和source这两列拼接成一行

  7. git之删除untrack files

    退回版本 git reset --hard commit_id //不保留未提交的修改 git reset --soft commit_id //默认方式,保留未提交的修改 撤除本地没有提交的修改 g ...

  8. AS的常见问题

    版本问题 a.Gradle的版本 用于将代码和资源打包生成apk的编译脚本.此版本号究竟是啥得去studio的安装目录下查看b.Gradle插件的版本 com.android.tools.build: ...

  9. shell编程系列15--文本处理三剑客之awk格式化输出printf

    shell编程系列15--文本处理三剑客之awk格式化输出printf printf的格式说明符 格式符 含义 %s 打印字符串 %d 打印十进制数 %f 打印一个浮点数 %x 打印十六进制数 %o ...

  10. 【linux】Linux 运行进程实时监控pidstat命令详解

    简介 pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存.设备IO.任务切换.线程等.pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上 ...