8

我试图弄清楚为什么从我的手持设备(Windows CE / Compact Framework)发送的 REST 调用没有发送到我的服务器应用程序(在我的 PC 上运行的常规、成熟的 .NET 应用程序)。

手持设备和 PC 已连接 - 我知道因为我可以在 PC 的 Windows 资源管理器中看到手持设备,Windows Mobile 设备中心会验证两者之间的连接是否有效等。

当我通过 Postman 传递相同的 REST 调用时,我到达了在我的 PC 上运行的服务器应用程序的断点,即:

http://192.168.125.50:21609/api/inventory/sendXML/duckbill/platypus/poisontoe

...但不是从手持设备调用相同的。

因此,我想在wireshark 中查看邮递员发送的内容,以便在尝试从手持设备调用相同的REST 方法时查看要查找的内容。

我在wireshark中设置了一个过滤器,即“ ip.dst == 192.168.125.50”,并在通过邮递员调用该方法时得到了一些结果,但是我没有看到我期望的“端口21609”。如果我看到这个,我会知道我在看正确的数据包,但是......它在哪里?当我运行 Postman 并拨打电话时,Wireshark 捕获了四个数据包,并且没有一个将其作为“用户数据报协议”元素中的端口号。

如果忽略端口号,我如何确定哪个数据包是来自 Postman 的?

更新

Yoel 有一个好主意。我添加了“Dest port (unresolved)”和“Sourceport”作为要显示的列。

然后我在 Wireshark 中开始了一个新的实时捕获,并从 Postman 发送了 URL / REST 方法。

服务器应用程序中的断点确实被击中。我通过它 F5 并停止了 Wireshark 捕获。

“21609”在任何地方的 Dest Port 列中都看不到。

为什么?URL 是如何发送的,但 Wireshark 没有检测到它被定向到的端口?

此外,在 Wireshark 的“协议”列中,我看不到“HTTP”条目。

4

2 回答 2

4

要在数据包列表中查看目标端口,您必须通过右键单击列标题并选择来添加一列Column preferences...。然后点击+符号,选择一个列标题,然后放

tcp.dstport

作为Fields参数。

您也可以直接使用带有表达式的显示过滤器:

tcp.dstport == 21609

(使用 Wireshark 2.2.0 测试)

于 2016-10-02T14:26:47.167 回答
2

答案很简短:

tcp.port==53218

首先新的邮递员端口是 53218,其次原始答案是只跟踪请求而没有响应。因此,如果您想跟踪整个通信 - tcp.port==53218会做到这一点。

于 2018-04-02T13:55:15.820 回答