提取GET的URI或Wireshark的他们的反应捕捉分离文件(S)(Extract GET URI

2019-06-25 13:53发布

问题

我使用Wireshark捕捉HTTP视频流,我已经使用下面的过滤器过滤出相关的GET请求。

http.request.uri contains "identifier" && http.request.method == "GET" && ip.addr == xxx.xxx.xxx.xxx

问题

  1. 是否可以提取所有获得GET网址分离.txt文件?

  2. 或有可能使得我有一堆单个视频文件的最终以提取原始响应数据包(不带报头)相匹配的上方单独的文件的过滤器,其?

我希望我自己很清楚;-)

谢谢

Answer 1:

虽然这可能是可行的使用Wireshark,这是数量级更容易弟兄 。

提取的URI

只需使用您的跟踪文件运行它:

bro -r <trace>

这个调用生成在当前目录下一堆的日志文件。 一个你感兴趣的是http.log 。 您可以过滤输出只获得GET请求:

bro-cut id.orig_h id.resp_h method host uri < http.log | awk '$3 == "GET"'

示例输出:

192.168.1.104   212.96.161.238  GET update.avg.com  /softw/90/update/avg9infowin.ctf
192.168.1.104   77.67.44.206    GET backup.avg.cz   /softw/90/update/u7avi1777u1705ff.bin
192.168.1.104   198.189.255.75  GET aa.avg.com  /softw/90/update/u7iavi2511u2510ff.bin
192.168.1.104   77.67.44.206    GET backup.avg.cz   /softw/90/update/x8xplsb2_118c8.bin

正如你所看到的,最后两列组成完整的URL。 要删除的空间之间,你可以使用awk来串连最后两个字段。

解压文件

注:即将到来的弟兄2.1版本将有文件提取重大改进。 在那之前,你可以通过指定的MIME类型的文件存储中提取从HTTP流中的所有文件:

bro -r <trace> 'HTTP::extract_file_type = /video\/avi/'

BRO嗅探MIME类型一个HTTP主体的,如果它的正则表达式匹配/video\/avi/时,它创建与所述前缀的文件http-item 。 您可以通过重新定义更改前缀名HTTP::extraction_prefix变量。



Answer 2:

解决方案问题1: -

使用tshark的效用。 安装简单,只需“ 命令和apt-get安装tshark的

我用同样的命令是: -

tshark  -R 'tcp.port==80 && (http.request.method == "GET" || http.request.method=="HEAD" || http.request.method=="POST" )'  -r eth2uplink_00001    -Tfields -e ip.dst -e http.request.method -e http.request.full_uri > requests_eth2_00001

指所有Wireshark的显示滤镜功能: - https://www.wireshark.org/docs/dfref/

这是更好的方式方法比使用兄弟,因为,兄弟是非常复杂的安装,因为它有特定的依赖性,他们很难得到满足。

我目前没有问题2解决办法,但我相信它可以构造类似的东西线。 下列选项可能是你想什么有用的。

-O只显示这些协议的数据包细节,以逗号分隔

-x增加十六进制和ASCII转储(包字节),你可以参考tshark的--help获得更多信息的输出

希望这可以帮助。 谢谢。



文章来源: Extract GET URIs or their responses from Wireshark capture to separate file(s)