过滤通过HTTP发送到80以外的端口的数据包?


3

我有一个数据库通过HTTP(叹息)在端口7474上进行通信,我想调试发送到它/从它发送的查询。但是,过滤器如

http.request.method == "POST"

过滤掉发送到其他端口的每条发布消息。


最初,我认为过滤语法在tcpdump和中共享Wireshark,但是对我来说无关紧要使用哪个工具,只要它有效:)


我不确定tcpdump的捕获过滤器根本解析HTTP。如果您询问Wireshark / tshark的读取过滤器,那就有点不同了。
grawity 2013年

@grawity嗯......我以为它们是一样的:)好吧,Wireshark然后,那就是我正在使用的。但是如果有一些方法可以通过tcpdump来做到这一点,那也很好,无论哪个让我在那里。
wvxvw 2013年

有两个地方可以进行过滤,它们有不同的语法 - “捕获过滤器”(Wireshark和tcpdump都相同)确定捕获的内容,“读取过滤器”(仅在Wireshark中)确定浏览时显示的内容现有的或正在运行的捕获。
grawity 2013年

@grawity好,tcpdump可以检查特定的字节值,所以也许理论上可以检查http请求是否是POST,即使tcpdump在其'指令集'中没有'HTTP相关关键字'。
barlop 2013年

Answers:


3

由于连接没有使用任何标准HTTP端口,因此您必须手动告诉Wireshark将其解析为HTTP。

右键单击发送到端口7474的任何数据包,选择“解码为”,然后在“传输”选项卡中选择“目标(→7474)”。在协议列表中选择HTTP。


是的,你的答案加上@nik过滤器就可以了。谢谢你!
wvxvw 2013年

5

您需要添加TCP端口过滤器,

tcp.dstport == 7474 and http.request.method == "POST" 

更多在wireshark手册页


-1他的主题是tcpdump。如果他想要除了tcpdump(正如他的评论所暗示的那样),那么你或他或某人应该纠正这个问题。但是写一个与主题不符的答案对我来说似乎是一个糟糕的答案。
barlop 2013年

不,这没有做到。抱歉。
wvxvw 2013年

@barlop,OP已经标记了这个问题wireshark
nik 2013年

@nik好了,现在也好了,-1删除了。
barlop 2013年

@wxvw,你能告诉我们你用这个过滤器做了什么吗?它应该将所有POST数据包过滤到TCP目标端口7474.如果您手头有一个特定的目标IP地址,也可以添加它 - and ip.dst == a.b.c.d请参阅手册链接。
nik 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.