WireShark抓包学习

1.数据包结构解析

下图中,即为一条条数据包。

点击某一条数据包后可看见该数据的详细信息,包含了物理层、IP层和TCP协议的相关信息。

2.使用捕获过滤器筛选相应的数据包

想要抓包的话,首先第一步就需要使用捕获过滤器找到相应的数据包。WireShark有多种筛选过滤方式------按ip地址筛选和按协议类型筛选和按报文长度与内容筛选。

2.1按IP地址筛选过滤数据包

通过下面的命令,即可筛选出ip包含xxxx的数据包,无论这个数据包的源ip为xxxx或者是目的ip为xxxx都能被筛选出来,剩下不包含ip地址为xxxx的数据包将会被过滤。

复制代码
ip.addr==xxxx(ip地址)

当然,如果我们想更精确的通过IP地址筛选数据包,假如说我们只想筛选源IP为xxxx的数据包或者是目的IP为xxxx的数据包我们可以分别通过以下命令实现:

复制代码
ip.src == xxxx

ip.dst == xxxx 

2.2按照协议类型筛选过滤数据包

此时我们这需要输入协议类型即可完成筛选:

复制代码
aaaa(协议类型)

2.3按照报文内容长度与内容抓包

(1)针对长度的过虑(这里的长度指定的是数据段的长度):

复制代码
udp.length < 30  
http.content_length <=20

(2)针对数据包内容的过滤

复制代码
http.request.uri matches "vipscu" 

2.4多条件联合抓包

如果我们希望在按ip筛选过滤数据包的基础上,即筛选完包含ip地址为xxxx的数据包后,进一步筛选出使用了aaaa协议的数据包。即此时该数据包ip地址既包含xxxx且协议类型也为aaaa。可以通过下述命令进行实现。

复制代码
ip.addr==xxxx(ip地址)&&aaaa(协议类型)

2.5逻辑符号的使用

(== 或者 eq)表示等于

(! 或者 not)表示取反,一般可以用为!=

(&& 或者 and)表示并且

(|| 或者 or)表示或者

(contains)表示模糊匹配

等等等等。。。

3.使用显示过滤器(持续学习中。。。)

相关推荐
Codefengfeng12 小时前
分辨压缩包的真加密与伪加密
linux·运维·网络
白太岁12 小时前
通信:(3) 高并发网络通信:epoll + 边沿触发 + 非阻塞 IO + tcp
c语言·网络·c++·网络协议·tcp/ip
楼田莉子12 小时前
C++项目:日志&&线程池
linux·c++·学习·visual studio code
weixin_4215850112 小时前
表示学习发展历程
学习
EmbedLinX13 小时前
嵌入式Linux之U-Boot
linux·服务器·笔记·学习
duration~13 小时前
DHCP 协议详解
网络·网络协议·tcp/ip
今儿敲了吗15 小时前
23| 画展
c++·笔记·学习·算法
代码改善世界16 小时前
【C语言】线性表之顺序表、单链表、双向链表详解及实现
c语言·网络·链表
我 see your eyes16 小时前
工作软件学习
学习
嵌入式×边缘AI:打怪升级日志19 小时前
9.2.1 分析 Write File Record 功能(保姆级讲解)
java·开发语言·网络