wireshark http POST

我想有一个HTTP POST请求方法CAPTUREfilter。

我知道很容易做到这一点显示filterhttp.request.method==POST但我需要tcpdump兼容。

我写了tcp dst port 80 and (tcp[13] = 0x18)
但这并不完美…

tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)
效果更好,但…包不被视为一个HTTP包,所以我不能做我的进一步显示filter…

有什么办法可以不显示frame,tcp,ip和http头信息,只有data-text-lines的字段值(POST的内容)?

或在tcpdump同样的事情,只有倾销张贴HTML表单内容?

不能保证所有发布的数据都与POST命令string本身在同一个数据包中。 事实上,如果发布的数据超过了大约1500字节(由于其他HTTP头的存在可能会less一些),实际上可以保证它们不会全部在同一个数据包中。 因此,为了获得最佳效果,您需要一种能够理解多包HTTP事务的过滤方法,而libpcap的过滤语言(这是tcpdump使用的和wireshark用于捕获filter的)不是它。

什么操作系统?

如果是linux,你可以使用tcpdump -s 0 -A -i <if> port 80以及其他你需要捕获和打印你感兴趣的http数据包的filter,然后把它pipe到perl / bash / awk /无论脚本来过滤那里的内容。

它很难理解你的问题,但我的猜测是,你只需要在你的Wireshark捕获中find数据包,右键单击它,然后从菜单中select“Follow Stream”。 它只是一个猜测…只是想帮助?