![通过Wireshark解析HTTP请求?](https://linux22.com/image/525286/%E9%80%9A%E8%BF%87Wireshark%E8%A7%A3%E6%9E%90HTTP%E8%AF%B7%E6%B1%82%EF%BC%9F.png)
有没有办法在 wireshark 中解析 HTTP 请求数据?例如,我可以在 HTTP GET 请求(由我的机器发送)时公开请求参数,这样我就不需要读取(有时)截断的 URL 并自己找到它们了?
我使用 Firefox 上的 Tamper Data 和 Firebug 来分析这些请求,但它们不像用于监控我的网络接口的独立工具那样可靠,但 wireshark 将有关 HTTP 流的数据保存得太原始了。
如果你们知道任何其他可以执行此操作的独立工具(必须与 Linux 兼容),请告诉我。
谢谢!
答案1
当然,你可以用 tshark 来做:
tshark -n -R http.request -s 2000
如果您在非标准端口上运行 http,比如代理的 8000,请确保添加“-d tcp.port==8000,http”,这样它就会知道将端口 8000 解码为 http 流量。
答案2
你有没有尝试过http://www.pcapr.net/xtractr? 它使用 tshark 来索引非常大的 pcaps 并具有 HTTP 内容提取功能
答案3
不清楚您最终想要实现什么目标(即,您想要做什么分析,或者这是一般的故障排除等)。
如果您正在寻找实时 HTTP 监视器(因为您正在反对 pcapr 答案),那么仅通过代理重定向请求就可以完成工作(例如,使用 Apache 或 Squid)吗?好的,在这种情况下它不是被动监视器(与 wireshark [et al] 不同),但会为您提供 URL。然后您应该能够从访问日志中提取查询字符串。
答案4
通常我建议使用 Fiddler2 来调试 HTTP,但它只适用于 Windows,所以一个好的替代方案是使用 Charles Proxyhttp://www.charlesproxy.com/download/
您可能会在 webmasters.stackexchange.com 和/或 stackoverflow.com 上找到此类问题的更好的答案,因为此类工具通常仅用于 Web 开发,而 WireShark 是专为网络工程师设计的。