Wireshark常用技巧

本节主要讲解wireshark使用的一些常用的技巧,其实主要是使用过程中,用的最为频繁的一些包的筛选规则。

Wireshark中有两种过滤器:

(1).捕获过滤器:告诉wireshark我们只需要捕获满足什么条件的包,而不满足条件的包则不需要捕获。由于捕获过滤器是在wireshark在捕获过程中采用的,所以捕获过滤器的过滤条件最多局限在传输层的协议,也就是可以通过ip和端口指定规则,而更加上层的应用层协议则不能用在捕获过滤器中。

语法: Protocol  Direction  Host(s)   Value  LogicalOperations  Other  expression

例子: tcp       dst              10.1.1.1  80     or             tcp   dst  10.2.2.2 3128

解释:Protocol表示协议,Direction表示方向,Host指定IP地址,Value一般指定端口,可以使用逻辑操作连接其他的表达式来生成复合表达式。例如:

tcp.dstport==8888

捕获目的tcp端口为8888的包

ip.src == 10.1.1.1

捕获来源地址为10.1.1.1的包

ip.addr == 10.1.1.1

捕获目的或者来源地址为10.1.1.1的包

not icmp

捕获除了icmp包的所有包

有关更多的捕获过滤器请参考wireshark的文档

(2).显示过滤器:该过滤器是在已经抓到的包中筛选出自己想分析的数据包,也就是说该过滤器是在捕获工作已经完成之后做的,其数据基础就是已经捕获到的那些数据包,该过滤器支持的协议就是wireshark能够识别的所有协议,由于是在已经捕获下来的包中进行筛选,所以该过滤器中的条件表达式可以支持所有的上层协议,其筛选条件也可以根据每个协议的不同部分进行筛选。下面以HTTP协议为例子:

3

查看所有http请求的数据包(包括GET,POST等等的请求,只要是web请求都算)

4

所有POST请求的数据包

5

所有请求的URL中包含字符串”.jpg”的包

6

所有http响应状态码为200的包

7

可以看到HTTP协议有很多字段提供筛选,wireshark还支持matches操作符,进行正则筛选

1

查找所有http请求URL中包含 /mvc/字符串并且请求的是带参数的aspx页面的包

关于各种协议的字段文档可以查阅wireshark的文档,都有详细说明,包括协议的每个字段部分的含义。其实对于做app或者是web开发的来说常见的http筛选字段已经足够用了

此外wireshark除了可以根据协议的每个字段的内容值进行筛选之外,还可以指定数据包中的第几个字节的二进制数据值进行筛选,这种通过包中二进制数据进行筛选的方法一般在socket的私有二进制协议中比较有用,这些协议一般是私有定义的,并且是基于二进制的协议,例如第几个字节表示什么意思,wireshark肯定是不能识别这些包的,那么我们可以自己根据二进制数据进行筛选

1

筛选出ip源或目标地址为172.16.1.126 并且udp端口为50798 并且rtp包的第2个字节的值是0xE0的包,这样的包是rtp数据包一帧结束的包。

当然上面的例子我们是可以通过rtp协议的字段rtp.marker==1为条件来进行筛选的,举上面的例子是为了说明如何根据包中的二进制数据值进行筛选。

Wireshark有非常强大的抓包与过滤功能,本节也仅仅列举了其中最常用的筛选规则,在显示过滤器的规则中wireshark可以根据每一层的协议进行筛选,例如网络层(IP,ARP,ICMP等协议),传输层(TCP,UDP)等协议,应用层(HTTP,RTMP,RTSP等协议),各层协议的字段可以通过逻辑与(&&,and),或(||,or),非(|,not)等运算符连接成复合表达式进行过滤

转载于:https://www.cnblogs.com/lijiangjie-1006/p/6370145.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值