wireshark抓包如果吗没有条件限制总是会无差别抓包,因此能够筛选到我们想要的包的常用筛选命令需要我们掌握。该篇主要叙述最常用的命令和命令组合的方式。

ip筛选

我们输入筛选命令都在如图,筛选框输入的,ip筛选常用ip目的地址筛选和ip源地址筛选

wireshark dns 筛选 wireshark ip筛选_目的地址

上图为源地址筛选命令和效果图

wireshark dns 筛选 wireshark ip筛选_目的地址_02

目的地址筛选命令和效果图

另外有人可能会疑问那ip==xxx.xxx.xxx.xxx,用于筛选什么呢?这个是用于筛选源地址和目的地址都是该ip的包

协议筛选

我们想要筛选比如tcp、udp、http等相关协议的包

wireshark dns 筛选 wireshark ip筛选_抓包_03

wireshark dns 筛选 wireshark ip筛选_目的地址_04

很方便,就是打一个协议名字就可以筛选了,上图为tcp和udp的相关协议包

端口和方法

端口

端口其实一般我们用的比较少,因为协议一般都会有默认的端口号,但有些特殊情况要用到

wireshark dns 筛选 wireshark ip筛选_wireshark dns 筛选_05

wireshark dns 筛选 wireshark ip筛选_源地址_06

很显然上图就是tcp协议源端口和目的端口为80的相关协议。这是后又有人想问如果是tcp.port==80是不是就是源端口和目的端口都得是80的tcp协议包?不是的,这个是源端口或目的端口是80的tcp数据包,哈哈,别和ip混淆了,如下图。

wireshark dns 筛选 wireshark ip筛选_源地址_07

方法

这个方法就是指协议里面的一些方法,我测试了http的GET、PUT等这些方法,下图:

wireshark dns 筛选 wireshark ip筛选_源地址_08

综合筛选

那么给大家出个题,(http.request.method=="PUT" or http.request.method=="POST") and (ip.dst==10.15.112.61 or ip.src==10.15.112.61)什么意思?

运行结果如下:

wireshark dns 筛选 wireshark ip筛选_抓包_09

这样我们不难看出多个命令的组合就是or,and这些链接词,方便我们更加精准筛选到我们所需要的包

然后我们可以通过下图方式进行分析包的具体内容

wireshark dns 筛选 wireshark ip筛选_抓包_10

提示:如果你自己操作到这一步的话,进入查看该包的内容,就会发现一个比较奇特的现象。

wireshark dns 筛选 wireshark ip筛选_wireshark dns 筛选_11

怎么跳出内容框后内容筛选框的关键字变了,tcp.stream eq 6.这个是wireshark自动做的变化,每个包都属于不同的流,比如一个http链接客户端和服务器会有很多沟通,wireshark会将每个流顺序做一个编号,比如刚刚我打开的这个包就是wireshark标记为6的这个http协议流里面的一个包,wireshark会将捕获的该流的所有相关包都列出来,方便我们更好理解整个流的通讯内容。

而eq表示等于,gt大于,ge大于等于,ne不等,lt小于,le小于等于。所以通过现象我们就又学到一系列筛选流的命令。

总结

最后这是最基本,也是最常用的wireshark筛选命令,如果上述内容有不解和错误的欢迎大家留言指正。