【问题标题】:Sniffing SIP packet with Wireshark from another PC使用 Wireshark 从另一台 PC 嗅探 SIP 数据包
【发布时间】:2017-08-29 12:08:25
【问题描述】:

我正在尝试嗅探两台 PC 之间的 SIP 数据包。

网络拓扑就是这样的(希望你不介意一些韩语)。所以为了解释这个图像,客户端 A 试图通过 VoIP 呼叫客户端 B,并且通过虚拟集线器连接到同一网络的 Snipper PC 试图使用 Wireshark 嗅探 SIP 数据包。使用 X-Lite 的客户端 A 和 B 之间的呼叫成功,并且来自客户端 A 和 B,可以使用 Wireshark 嗅探 SIP 数据包,但是当我从连接到同一网络但未包含在呼叫中的其他 PC 尝试时,Wireshark不显示 SIP 或 RTP 数据包。 如何从其他PC嗅探两台通信PC的SIP数据包?

【问题讨论】:

    标签: wireshark sniffing


    【解决方案1】:

    根据方案,客户端A和B使用L2交换机连接,嗅探PC通过集线器连接到同一个L2网段。 L2 交换机尝试根据 MA​​C 地址将数据包直接路由到目的地,因此连接到同一 L2 交换机的其他设备不会收到数据包的副本,因此嗅探失败。

    您可以通过两种方式解决此问题:

    1. 将客户端 A 或客户端 B 直接插入与嗅探 PC 相同的集线器。
    2. 在 L2 交换机上设置端口镜像,明确指示它将所有必要的数据包转发到端口,供嗅探 PC 使用。在这种情况下,不需要集线器。

    detailed tutorial 介绍了这些方法和其他方法,可以使用非常有用的图片设置捕获。

    【讨论】:

      【解决方案2】:

      您 PC 上的 Wireshark 将捕获其网络接口看到的数据包。

      您的虚拟集线器拓扑是否没有将 A 和 B 之间的数据包镜像到 PC?

      以下是一些替代解决方案:

      1。 对于 MS Windows PC,您可以使用 RPCAP 远程捕获数据包,如此处所述。
      但它需要在这些服务器上运行 RPCAP。

      https://www.wireshark.org/docs/wsug_html_chunked/ChCapInterfaceRemoteSection.html

      2。 如果你想远程捕获 Linux 服务器的流量,并且如果你有运行 tcpdump 的权限,你可以在你的 Windows PC 上安装 plink.exe
      (它是腻子包的一部分),并运行为:

      plink.exe -ssh -pw "你的密码" root@ip "tcpdump -ni eth0 -s 0 -w -not port 22" | “本地wireshark.exe的路径” -k -i -

      1. #2 的替代方案,对于 sudo 用户: 创建一个命名管道,并在该服务器上运行 tcpdump,而 plink 只会“捕获”管道数据。

        mkfifo /tmp/test.fifo

        chmod +r /tmp/test.fifo

        sudo tcpdump -i eth0 -w /tmp/test.fifo -s 0

        plink.exe -ssh -pw "passwd" user@ip "cat /tmp/test.fifo" | “本地wireshark.exe的路径” -k -i -

      【讨论】:

        猜你喜欢
        • 2019-10-03
        • 1970-01-01
        • 2017-11-24
        • 2012-01-08
        • 2023-04-03
        • 2016-08-08
        • 2023-03-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多