目录
前言
本篇文章是基于B站视频 CTF MISC杂项流量分析专题培训1 做的学习笔记,如有写得不到位的地方请多多指教~ ∠(°ゝ°)敬礼
1.简介和基础
流量分析是什么?
在CTF中,通常会有一些pcapng或者pcap文件后缀的数据包,不同的数据包有不同的协议,常见的有HTTP, TCP协议,当然CTF中考察的协议很多,我们需要从这类文件中进行分析,获取数据然后最终找到我们的答案flag
HTTP协议和TCP协议
- HTTP是应用层协议,定义的是传输数据的内容的规范,TCP是传输层,HITP是要基于TCP连接基础上的。简单的说,TCP就是单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输,HTTP是用来收发数据,即实际应用上来的
从上图中我们可以从wireshark中看出HTTP连接建立的三次握手,我们随便点击一个,可以看到HTTP请求建立过程中对应的链路层,网络层,物理层等相关层的详细信息
- 举个栗子:
打开wireshark,先选中这个波形有起伏的接口
然后点击左上角那个蓝色的鲨鱼背鳍,开始捕获分组
这个时候,打开浏览器,随便打开一个网页,即可进行流量抓取啦
在那个绿色框框里面输入tcp,就可以看到如下界面
- TCP协议的三次握手(了解即可)
- HTTP协议
在绿色栏栏那里输入http,回车即可
2.Wireshark 流量分析中的王者
Wireshark是什么
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
官方下载地址:
https://www.vireshark.org/download.html
Wireshark基本使用方法
wireshark的基本使用分为数据包筛选、数据包搜索、数据包还原、数据提取四个部分
数据包筛选
Wireshark的数据包筛选功能是wireshark的核心功能,比如需要筛选出特定的协议如HTTP, Telnet等,也可能需要筛选出ip地址,端口等,多条规则可以使用&&,||连接
很多的规则~
例如:我们要筛选ip地址为192.168.0.106(可以随便选)的流量包,只需在搜索栏内输入ip.src==192.168.0.106
#http请求筛选比较常用
例如搜索栏内输入http.request.method=="GET",即可得到GET方法的流量包
数据包搜索
在wireshark界面按【Ctrl+F】或者点击图标,可以进行关键字搜索
Wireshark的搜索功能支持正则表达式、字符串、十六进制等方式进行搜索,通常情况下直接使用字符串方式进行搜索
搜索栏的左边下拉,有分组列表、分组详情、分组字节流三个选项,分别对应wireshark界面的三个部分,搜索时选择不同的选项以指定搜索区域
数据包还原
在wireshark中,存在一个交追踪流的功能,可以将HTTP或TCP流量集合在一起并还原成原始数据,具体操作方式如下:选中想要还原的流量包,右键选中,选择追踪流-TCP流/UPD流/SSL流/HTTP流
数据提取
Wireshark支持提取通过http传输(上传/下载)的文件内容方法如下:
选中http文件传输流量包,在分组详情中找到data或者Line-based text data:text/html层,鼠标右键点击–选中导出分组字节流
鼠标右键点击–选中显示分组字节
可以选择导出到桌面,成功的话(反正我没成功导出),会在桌面看到一个.bin的文件,拖到010editor中,即可看到内容
流量包的修复
比赛过程中有可能会出现通过`wireshark`打开题目给的流量包后提示包异常的情况
通过在线pacp包修复工具进行修复: http://f0Ol.de/hacking/pcapfix.php
打开该网站后选择要修复发流量包,然后滑至页面最低端,下载修复好的流量包,再用wireshark打开即可
后面的暂时不学,等以后慢慢更