通过TShark获取完整的HTTP请求描述
我需要使用TShark嗅探器获取HTTP请求的完整描述。我的意思是像Wireshark的GUI,你可以得到的东西:通过TShark获取完整的HTTP请求描述
- 原始请求数据(压缩/解压缩);
- 漂亮的打印提取HTTP字段:(主机,接受编码,饼干等)。
现在我能够剖析与HTTP:
tshark -i eth0 -f 'dst host xxx.xxx.xxx.xxx' -d tcp.port=80,http
它打印是这样的:(?或所有Cookie)
139389.228821 x.x.x.x -> y.y.y.y HTTP GET /test.html HTTP/1.1
或者我可以打印饼干,例如与:
tshark -i eth0 -f 'dst host xxx.xxx.xxx.xxx' -T fields -e http.cookie
但我想完整的HTTP请求描述与原始数据一个。可能吗?
注:见评论为接受答案。
Curl可能能够为您做到这一点。当您通过curl发布数据时,请使用-v
和-i
选项。您还可以使用-b
和-c
来读取/写入文件的cookie信息,以便查看它。
这可能不完全是你想要的,因为它听起来像你已经有一个程序多数民众赞成在做张贴,但如果你可以重新创建帖子和发送卷曲,你会看到所有的原始数据(何时使用正确的选项)。
卷曲文档是here
如果只是监视从自己的计算机的流量,不妨Fiddler
或使用Firefox的萤火虫,和/或现场HTTP头,和/或Web开发工具栏
这是一个带有控制台的Linux服务器。不要以为我可以使用提琴手。无论如何,如果我有GUI,我会使用Wireshark而不是TShark。 – Shcheklein
使用Firefox加载项 –
我确实需要嗅探器来调试特定程序的行为。 – Shcheklein
我猜如果你已经在使用tshark,你可以把所有的tcp流量都抓到一个特定的端口上,并保存在某个地方。您将能够重建对话并以这种方式获取原始数据 - 只要它的HTTP不是HTTPS即可! – ghostJago
啊,试试-V标志tshark。刚才看到它在这个http://linux.die.net/man/1/tshark – ghostJago