0

我有一个 SMPP 服务器和客户端在同一台机器的不同端口上运行,我想捕获 pcap 以查看 smpp 消息。由于是同一台机器,在tshark命令中没有捕获到。

如果客户端和服务器都在同一台机器上,是否有任何选项可以捕获消息?

4

3 回答 3

2

某些版本的 UN*X 支持在“环回”接口上捕获,该接口是服务器和客户端之间的流量将出现的接口。(Alpesh Gediya 在这里弄错了;流量可能没有为实际的网络接口控制器排队,但它环回接口排队。)其他人没有。

尝试tshark -D以与尝试捕获流量时运行 tshark 相同的方式运行;如果它报告一个名称为lo(Linux) 或lo0(*BSD, OS X, some other UN*Xes) 的接口,请尝试在该接口上捕获。如果它没有报告这样的接口,那么您正在运行的 UN*X 不支持在环回接口上捕获,例如 Solaris 10 或更早版本。

于 2013-04-23T21:48:12.817 回答
0

当您在同一台机器上拥有服务器和 Clinet 时,由于这个原因,您无法在同一台机器上捕获数据包,因此操作系统不会将数据包放入 NIC 队列中。

您可以使用 TCPMON 实用程序通过路由来捕获包。

于 2013-04-23T12:53:11.900 回答
0

-i请注意,通过多次使用该选项,您可以使用 tshark 同时捕获多个接口。所以解决这个问题的一种方法是从输出中获取所有接口,tshark -D并将所有这些接口放在你的 tshark 命令行中,如下所示:

tshark -i <iface0> -i <iface1> -i <iface2> ... <other options>

如果您列出了所有接口并且没有找到您想要的流量,那么 tshark 可能无法捕获它。

于 2013-04-24T06:32:15.170 回答