Wireshark的过滤器的使用
过滤器的规则可以帮我们进行迅速定位到想要分析的报文
常见的过滤命令
过滤IP
ip.src eq x.x.x.x or ip.dst eq x.x.x.x
过滤端口
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80 只回显tcp协议的目标端口为80的包
tcp.srcport == 80 只回显tcp协议的源端口为80的包
tcp.port >= 1 and tcp.port <=80 只回显端口1到80的包
过滤协议
直接输入tcp/udp/arp/icmp/http/ftp.......
过滤MAC
eth.dst == xx.xx.xx.xx.xx.xx 过滤目标MAC
报的长度的过滤
udp.length == 26 这个长度是指udp本身固定长度8 再加上udp下面的数据包之和
tcp.len >= 7 指ip数据包(tcp下面那块数据),不包括tcp本身
frame.len ==119 整个数据包的长度,从eth开始到最后
HTTP模式过滤
request
http.request.method =="GET" 只看GET请求包
http.request.method == "POST" 只看POST请求包
http.request.uri == "/img/logo-edu.gif" 过滤请求的uri,取值是域名后面的部分
http.request.method == "GET" && http 过滤出HTTP请求方法为GET且包含特定字段的HTTP流量。改表达式检查每一个http请求中的请求行是狗包含字符串GET,并且还检查是否包含特定的字段
contains
http contains "GET" 是一个更通用的过滤器表达式,它可以匹配任何包含字符串"GET"的字段。例如,它可以用来过滤出包含"GET"的URL、请求头或响应头等。
http contains "HTTP/1." 是一个显示过滤器表达式。它用于过滤出HTTP协议版本为1.x的HTTP流量。该表达式检查每个HTTP请求或响应中的协议行是否包含字符串"HTTP/1.",如果包含,则将该HTTP流量显示在Wireshark捕获的分析窗口中。
tcp contains "flag" 过滤tcp包中含有flag字段的包
request.method和contains的区别
在Wireshark中,"request.method"和"contains"是两种不同的过滤器表达式,它们有着各自的用途。
具体来说 ,"request.method"被用于过滤出HTTP请求方法为特定类型的流量。
例如,如果你想查看所有的GET请求,你可以使用"http.request.method == "GET"这个表达式。
另一方面,“contains”则可以用于匹配包含指定字符串的数据包。例如,“http.request.uri contains “/dll/test.htm”这个表达式会过滤出所有URI中包含 "/dll/test.htm"的HTTP请求。
协议分析
根据数据包的特征进行筛选
比如查看数据包时,有的数据包有某种特征,比如有http(80),就可以筛选出来
右键>作为过滤器应用>选中
wireshark流汇聚(跟踪流)
在关注的http.数据包或cp数据包中选择流汇聚,可以将HTTP 流或TCP流汇聚或还原成数据,在弹出的框中可以看到数据内容
常见的HTTP流关键内容:
1、HTML中直接包含重要信息
2、上传或下载文件内容,通常包含文件名、hash等,常用POST传参
3、一句话木马,POST请求,内容包含eval,内容使用bese64加密
例题:先找到getshell流再找到flag.
先用wireshark筛选http的流量,假如没有则筛选tcp的流量,因为getshell是在命令行中执行的,可以用tcp contains “command”
点开一个包后发现:有C:\ >
表示在命令行中进行过shell
在鼠标右键点开追踪流
出现的内容为:图所示,为base64的编码,在对其进行解码,得到flag
wireshark数据提取
I.使用wireshark可以自动提取通过http传输的文件内容。
文件 -----> 导出对象 ------> HTTP
将文件全部保存,也就可以只保存一个
2、手动提取文件内容
点击想要的数据包,如下图选定media type的位置
右键>导出分组字节流或者点击菜单栏文件>导出分组字节流,快捷方式:ctrl+H在弹出的框中将文件保存成二进制文件
无线流量包/密码
802.11是无线的协议
协议分析发i西安只有wireless LAN协议,很有可能是WPA或者WEP加密的无线数据包
使用aircrack-ng工具进行WiFi密码破解
1、用aircrack-ng检查流量包:
aircrack-ng xxx.pcap
2、用aircrack-ng跑字典进行握手破包破解
aircrack-ng xxx.pacp -w pass.txt
USB流量包文件分析
USB流量
一般考察键盘击键、鼠标移动与点击、存储设备的明文传输通信,USB无线网卡网络传输内容等。
USB协议的数据布分在Leftover Capture Data中
右键Leftover Capture Data> 应用为列
USB键盘流量抓取分析
Leftover Capture Data中值与具体键位的对应关系
使用Wireshark提供的命令行工具tshark,可以将Leftover capture data 中的数据单独复制出来,修改流量包的名字和导出txt的名字
用上述命令生成txt后,再用py简本运行得出
USB鼠标协议
鼠标流量与键盘流量不同,鼠标移动时为连续性,键盘是离散型,但实际上鼠标产生的数据时离散的,所以同样可以把数据抓取出来,构成二维坐标然后画图
工具:https://github.com/WangYihang/UsbMiceDataHacker
HTTPS
HTTPS流量是经过TLS协议加密过的,需要导入key才能看到原始的HTTP流量。
导入完成后出现了HTTP