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)表示模糊匹配
等等等等。。。