一、Wireshark
wireshark是非常流行的网络封包分析软件,可以截取各种网络封包,显示网络封包的详细信息,具有录制和检查网络数据包的功能,可以深入了解网络通信中的传输协议、数据格式以及通信行为。Wireshark可以捕获发送和接收的数据包,并将它们展示在用户友好的图形界面上,方便用户进行分析。
使用Wireshark,用户可以观察网络数据包中的各种细节信息,例如IP地址、端口号、数据内容等。Wireshark支持各种操作系统和协议,如果用户想要学习网络协议或解决网络问题,Wireshark是不可缺少的工具之一
网络封包是指数据包在网络中用指定的协议传输的过程。 数据包在网络中用指定的协议进行传输,这个过程被称为网络封包。例如,TCP/IP、HTTP等网络协议就是通过特定的格式将数据封装成网络封包进行传输。
二、Wireshark常用应用场景
1. 网络管理员会使用wireshark来检查网络问题
2. 软件测试工程师使用wireshark抓包,来分析自己测试的软件
3. 从事socket编程的工程师会用wireshark来调试
4. 运维人员用于日常工作,应急响应等等
总之跟网络相关的东西,都可能会用到wireshark
三、Wireshark工作原理
Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
Wireshark使用的环境大致分为两种,一种是电脑直连网络的单机环境,另外一种就是应用比较多的网络环境,即连接交换机的情况。
「单机情况」下,Wireshark直接抓取本机网卡的网络流量;
「交换机情况」下,Wireshark通过端口镜像、ARP欺骗等方式获取局域网中的网络流量。
端口镜像:利用交换机的接口,将局域网的网络流量转发到指定电脑的网卡上。
ARP欺骗:交换机根据MAC地址转发数据,伪装其他终端的MAC地址,从而获取局域网的网络流量。
通常比赛中会提供一个包含流量数据的 PCAP 文件,有时候也会需要选手们先进行修复或重构传输文件后,再进行分析
WinPCAP提供了一个底层的网络数据包捕获机制,而Wireshark则是一个基于WinPCAP开发的、用于分析和显示网络封包的图形化工具。这两者结合使用,可以为用户提供一个完整的网络监控和分析解决方案
流量包分析的步骤:流量包分析简介 - CTF Wiki (ctf-wiki.org)
四、Wireshark过滤器设置
初学者使用wireshark时,将会得到大量的冗余数据包列表,以至于很难找到自己需要抓取的数据包部分。wireshark工具中自带了两种类型的过滤器,学会使用这两种过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。
1.抓包过滤器
捕获过滤器的菜单栏路径为捕获-->捕获过滤器。用于在抓取数据包前设置。
2. 显示过滤器
显示过滤器是用于在抓取数据包后设置过滤条件进行过滤数据包。
通常是在抓取数据包时设置条件相对宽泛或者没有设置导致抓取的数据包内容较多时使用显示过滤器设置条件过滤以方便分析。
Wireshark 基本语法,基本使用方法,及包过虑规则_wireshark语法-CSDN博客
五、例题
NSSCTF
[陇剑杯 2021]日志分析(问1)
1.观察资料中的access.log文件, 发现存在请求码 200以及404
2.先找一下请求码为200的 发现了www.zip
3.所以flag为NSSCTF{www.zip}
[陇剑杯 2021]日志分析(问2)
1.根据往/tmp目录写入了一个文件,搜索tmp得到以下内容
2.url解码该内容可得,发现文件为sess_car
3.所以flag为NSSCTF{sess_car}
[陇剑杯 2021]日志分析(问3)
1.还是在上题的位置
2.所以类为"SplFileObject",flag为NSSCTF{SplFileObject}
[陇剑杯 2021]简单日志分析(问1)
1.看到user,发现base64编码
2.所以flag为NSSCTF{user}
[陇剑杯 2021]简单日志分析(问2)
1.打开文件,往下又发现base64
2.解码之后,找到路径
3.所以flag为NSSCTF{/Th4s_IS_VERY_Import_Fi1e}
[陇剑杯 2021]简单日志分析(问3)
1.在文件中发现第三个base64
2.解码可得,ip和端口号
3.所以flag为NSSCTF{192.168.2.197:8888}
[鹤城杯 2021]流量分析
考查http分析
1.发现是布尔盲注
2.这里使用到tshark命令
3.再次分析,需要取 http.request.uri
进一步分离
4.http.request.uri字段是我们需要的数据,使用命令tshark -r timu.pcapng -Y "http" -T json -e http.request.uri > 2.json,在文件发现以下内容
5.按字典依次取出数据即可,编写脚本处理即可
大佬的脚本:鹤城杯 2021 流量分析_[鹤城杯 2021]流量分析-CSDN博客
BUUCTF
[DDCTF2018]流量分析
1.先打开txt文件,发现有私钥
这里提一下tls协议 因为有这个协议所以会想到HTTP协议被加密了
TLS是一种加密协议,用于保护网络通信的安全性和隐私性。它使用公钥加密和对称密钥加密两种加密方式来保护通信的安全性,可以防止黑客窃取用户的敏感信息。TLS 1.0、TLS 1.1和TLS 1.2分别于1999年、2006年和2008年发布,进一步增强了安全性和性能。常用的加密算法包括AES、RSA、MD5等。
2.http流打开需要私钥以及私钥的格式,一般私钥就藏在tcp流中,在过滤窗输入tcp contains "KEY"
3.在第二个中追踪tcp流找到了一串base64编码
4.使用base64转图片来看看
5.把这个复制下来进行md5对比,在wireshark-编辑-首选项-Protocols-tls中打开
6.最后再追踪http数据流,找到flag
只是简单的了解了一下流量日志分析,以及做了一些题,后面会深入学习