0%

tshark 使用小结

文章首发于先知:https://xz.aliyun.com/t/4527

1
做misc类题,巧妙运用tshark提取数据包数据提取时可以节约大量的时间,最近做到misc类题目,正好学习记录一下

官方文档:https://www.wireshark.org/docs/man-pages/tshark.html

常用操作

1
-r 提取如wireshark表格中显示的封包摘要信息

-r

1
-Y 使用filter过滤器

-Y

注意:需要加引号否则&&后面语句没用

-Y

-Y

1
2
3
4
-T 指出解析时输出的格式 
默认text
fields (需要增加-e参数)
其他选项 ek|json|jsonraw|pdml|ps|psml|tabs
1
-e 指定一个字段

字段名可以在wireshark表达式里面找,例如usb包的Leftover Capture Data字段
-e
-e
那么就可以用usb capdata提取这个字段
-e

1
tshark …… >1.txt

将提取结果重定向输出到文本文件里

提取练习:

2018 红帽杯 Not only Wireshark

链接:https://pan.baidu.com/s/1qI1wnVrfdIbpEXvwV0AmAg
提取码:yh5n

过滤http流,发现name参数后面的参数有端倪
http
利用tshark提取,配合linux的命令
字段名为http.request.uri
http

1
tshark -r Not\ Only\ Wireshark -Y http -T fields -e http.request.uri

http
http
发现有我们需要的url,但是也有不需要的,这时候需要用linux的grep命令进行过滤
http

1
tshark -r Not\ Only\ Wireshark -Y http -T fields -e http.request.uri | grep "/sqli/example2.php?name="

再用awk命令提取name=后面的值,再用tr删掉换行符,使得输出成一行

http

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

链接:https://pan.baidu.com/s/1s_zcwzUM_86mpVTT75PRpw
提取码:6jul

比较难以捉摸,直接说步骤,要先发现开始icmp包中大量充斥的a字符串及heiheiehei!的提示
icmp
然后提取icmp data字段的长度值
icmp
字段名查询到是Frame.len
icmp
提取命令:

1
tshark -r 2.pcapng -Y "icmp "-T fields -e frame.len | tr "\n" ","

icmp