wireshark 怎么搜索字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wireshark 怎么搜索字符串相关的知识,希望对你有一定的参考价值。

1.应该在Packet details中找,而且是找string,默认的是在Packet list中找,而且是找Display filter;

2.即可找到。

Wireshark 基本语法,基本使用方法,及包过虑规则:

    过滤IP,如来源IP或者目标IP等于某个IP。例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP。

    过滤端口。例子:tcp.port eq 80 // 不管端口是来源的还是目标的都显示tcp.port == 80tcp.port eq 2722tcp.port eq 80 or udp.port eq 80 tcp.dstport == 80 // 只显tcp协议的目标端口80 tcp.srcport == 80 // 只显tcp协议的来源端口80 udp.port eq 15000 过滤端口范围。

    过滤协议。例子:tcp  udp  arp  icmp  http  smtp  ftp  dns  msnms  ip  ssl  oicq  bootp。

参考技术A   contains 判断一个协议,字段或者分片包含一个值
  matches 判断一个协议或者字符串匹配一个给定的Perl表达式
  “contains”操作符允许一个过滤器搜索一串字符,其形式为字符串,或者字节,或者字节组。

Wireshark的搜索功能

参考技术A

在使用Wireshark的时候,通常都是先用“捕获过滤器”、“显示过滤器”来进行数据包的筛选。对于经过筛选后的数据包,再根据自己的需要进行单独分析。
但是有时候,我们只知道一些关键词,并不清楚这些关键字怎么在“捕获过滤器”或者“显示过滤器”中怎么输入。在这种情况下,搜索功能就体现出它的价值来。

第一步为什么是过滤呢?
因为通常在现场的环境中,我们抓到的包都非常多,但是我们关注的往往只是其中的一小部分数据包,所以往往第一步都是进行过滤。过滤的方法有两种,通过“捕获过滤器”过滤和“显示过滤”进行过滤。

本来搜索功能是一个简单的功能,并不需要写笔记的。但是Wireshark默认的设置并不怎么合理,导致相比于其他软件,有点不那么人性化。
Wireshark中的搜索包功能叫做“Find Packet”,可以在【Edit】->【Find Packet】中打开。
为了更方便的描述搜索功能该怎么用,我把操作步骤写在了下面的这张图中:

关于Wireshark中的正则表达式
由于正则表达式是一个较大的概念,不同软件中遵守的标准并不完全一致。根据Wireshark官方文档《Wireshark User’s Guide-Version 3.1.0》中的描述,Wireshark遵循的是PCRE(Perl-compatible regular expressions).
PCRE的语法比 POSIX正则表达式 和其他许多正则表达式库更加强大和灵活。

关于加密数据
对于采用了加密协议(例如HTTPS)的数据,如果采用搜索字节流的时候,很可能搜索不到内容。
但是对于采用非加密协议(例如HTTP)的数据,我们可以采用搜索字节流的方式,来搜索包里面的细节。

同时可以参考其他文档
--使用WireShark搜索想要的包(简约版)
Linux中国--关于BPF的介绍
永久读取/dev/bpf*这个路径

顺便说一句,“捕获过滤器”应该适量的少用,尤其是在你对你分析的协议不是很清楚的情况下。比如有的协议在进行数据交换之前先需要发送一个ARP数据包(以广播的形式),如果你通过“捕获过滤器”限制了目的地址,那么这个ARP包就肯定抓不到了。

以上是关于wireshark 怎么搜索字符串的主要内容,如果未能解决你的问题,请参考以下文章

wireshark 怎么搜索字符串

java怎么解析Wireshark抓包文件

Wireshark安装使用及报文分析(图文详解)

MAC Wireshark抓包IOS

计算机网络原理实验_使用网络协议分析仪Wireshark

TCP三次握手wireshark抓包分析