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.使用显示过滤器(持续学习中。。。)

相关推荐
十五年专注C++开发24 分钟前
async_simple:一个轻量级C++异步协程框架
开发语言·网络·c++·boost·asio
qq_4856689931 分钟前
前端基础入门学习
前端·学习
子夜江寒33 分钟前
HTML 基础知识
前端·学习·html
hnlq1 小时前
基于dpdk的用户态协议栈的实现(三)—— TCP的三次握手实现
网络·网络协议·tcp/ip
桌角的眼镜1 小时前
Transformer学习笔记
笔记·学习
思成不止于此2 小时前
MySQL 基础核心知识点全梳理:从入门到实战
数据库·笔记·学习·mysql
我要升天!2 小时前
QT -- 网络编程
c语言·开发语言·网络·c++·qt
Felven2 小时前
盛科工业千兆网交换机端口计数查看
运维·网络·盛科交换机
崇山峻岭之间2 小时前
C++ Prime Plus 学习笔记028
c++·笔记·学习
我的xiaodoujiao2 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 31--开源电商商城系统项目实战--加入购物车、提交订单测试场景
python·学习·测试工具·pytest