文章首发于先知:https://xz.aliyun.com/t/4527
1 | 做misc类题,巧妙运用tshark提取数据包数据提取时可以节约大量的时间,最近做到misc类题目,正好学习记录一下 |
官方文档:https://www.wireshark.org/docs/man-pages/tshark.html
常用操作
1 | -r 提取如wireshark表格中显示的封包摘要信息 |
1 | -Y 使用filter过滤器 |
注意:需要加引号否则&&后面语句没用
1 | -T 指出解析时输出的格式 |
1 | -e 指定一个字段 |
字段名可以在wireshark表达式里面找,例如usb包的Leftover Capture Data
字段
那么就可以用usb capdata
提取这个字段
1 | tshark …… >1.txt |
将提取结果重定向输出到文本文件里
提取练习:
2018 红帽杯 Not only Wireshark
过滤http流,发现name参数后面的参数有端倪
利用tshark提取,配合linux的命令
字段名为http.request.uri
1 | tshark -r Not\ Only\ Wireshark -Y http -T fields -e http.request.uri |
发现有我们需要的url,但是也有不需要的,这时候需要用linux的grep命令进行过滤
1 | tshark -r Not\ Only\ Wireshark -Y http -T fields -e http.request.uri | grep "/sqli/example2.php?name=" |
再用awk
命令提取name=
后面的值,再用tr
删掉换行符,使得输出成一行
1 | tshark -r Not\ Only\ Wireshark.pcapng -Y http -T fields -e http.request.uri | grep "/sqli/example2.php?name="| awk -F '=' '{print $2}'|tr -d "\n" |
2017厦门邀请赛 traffic
比较难以捉摸,直接说步骤,要先发现开始icmp包中大量充斥的a字符串及heiheiehei!的提示
然后提取icmp data字段的长度值
字段名查询到是Frame.len
提取命令:
1 | tshark -r 2.pcapng -Y "icmp "-T fields -e frame.len | tr "\n" "," |