背景
Wireshark,又被称为网络封包分析软件,是一种开源且功能十分强大的工具。该工具的主要功能是截取各种网络封包,并尽可能显示出最为详细的网络封包资料。它使用WinPCAP作为接口,直接与网卡进行数据报文交换。
Wireshark支持Windows和Mac OS等多种操作系统,并且也提供了丰富的使用教程和示例,使得用户可以方便地进行网络数据的抓取、分析和过滤。无论是对于专业的网络工程师,还是对于普通用户来说,Wireshark都是一款非常实用的网络工具。
一、WireShark过滤操作
1.1 过滤器运算符
过滤器运算符使用举例
思路总结
1、如果有http流优先过滤http流,然后找到请求返回200的正常请求
2、选中200的正常请求流,然后进行TCP流追踪
1.2 过滤IP
过滤ip,如源IP或者目标 x.x.x.x
ip.src eq x.x.x.x or ip.dst eq x.x.x.x
或者
ip.addr eq x.x.x.x
1.3 过滤端口
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80 只显示tcp协议的目标端口为80
tcp.srcport == 80 只显示tcp协议的源端口为80
过滤tcp端口范围
tcp.port >=1 and tcp.port <= 80
1.4 过滤协议
tcp/upd/arp/icmp/http/ftp/dns/ip 。。。。
1.5过滤mac
eth.dst == A0:00:00:00:C3:87 过滤目标mac
1.6包长度过滤
upd.length == 26 过滤长度是udp本身固定长度8 机上udp数据包之和等于26
tcp.len >= 7 过滤 ip数据包大于等于7 ,不包括tcp本身
ip.len == 94 过滤除以太网固定长度14,其他长度等于94
frame.len == 119 过滤整个数据包长度为119,从eth开始到最后
1.7.HTTP模式过滤
http.request.method == "GET"
http.request.method == "POST"
http.request.uri == "/img/logo-edu.gif"
http contains "GET"
http contains "HTTP/1.0"
http contains "flag"
http contains "key"
tcp contains "flag"
二、WireShark协议分析
2.1 协议分级
协议分析(协议分级)
英文版: Statistics -> Protocol Hierarchy
中文版: 统计 -> 协议分级
这里面,我们主要关注IP4 下面的TCP中的HTTP请求,如果的mediaType,可能文件被分片了,需要将文件弄下来,然后进行合并。
2.2 协议分析(筛选某种特征)
根据数据包特征进行筛选,比如查看数据包的时候,我们需要将存在的某种特征筛选出来
右键->作为过滤器应用->选中
2.2流汇聚
流汇聚,可以将HTTP流或TCP流汇聚或还原成数据,在弹出框可以看到数据内容(还原请求发送/接收的内容)
2.3 文件分离(获取传输文件(图片/压缩包))
使用wireshark可以自动提取通过HTTP传输的文件内容
先过滤相关协议,然后到处对象,关注里面最大的文件
有可能最大文件中,就是一些压缩包的上传(关注压缩包的头),我们需要把压缩包的十六进制拷贝出来,然后通过010Editor导入,然后保存为对应的压缩包文件。
这种对上传文件进行上传的,需要 “导出分组字节流”
常见的HTTP流关键内容:
1、HTML中直接包含重要信息。
2、上传或下载文件内容,通常包含文件名、hash值等关键信息,常用POST请求上传。
3、一句话木马,POST请求,内容包含eval,内容使用base64加密。
三、总结
今天分享了wireshark常见ctf中基本操作,wireshark的使用还有很多,比如监控网卡,实时获取网络传输数据。
- 网络管理员会使用Wireshark来检查网络问题,定位和解决网络故障。
- 软件测试工程师使用Wireshark抓包,来分析自己测试的软件,通过分析数据包来寻找软件的性能瓶颈或者错误。
- 从事socket编程的工程师会用Wireshark来调试,通过观察数据包来检查网络通信是否正常。
- 运维人员在日常工作中也会用到Wireshark,例如应急响应等。
其实wireshark的使用还有很多,常学常进步