使用 pcap.net 在同一网络中捕获不同 PC 的网络数据包

Posted

技术标签:

【中文标题】使用 pcap.net 在同一网络中捕获不同 PC 的网络数据包【英文标题】:Capture network packet of a different PC within the same network with pcap.net 【发布时间】:2022-01-13 16:59:07 【问题描述】:

我正在尝试在 VOIP 电话响铃时获取详细信息。硬件电话连接到同一个网络。

使用软件电话,我可以根据给定的示例获取设备详细信息。

IList<LivePacketDevice> allDevices = LivePacketDevice.AllLocalMachine;

并获取 SIP 标头

private static void PacketHandler(Packet packet)
        
            IpV4Datagram ip = packet.Ethernet.IpV4;
            UdpDatagram udp = ip.Udp;9
            Datagram datagram = null;

            if (ip.Protocol == IpV4Protocol.Udp)
            
                datagram = udp.Payload;

                if (null != datagram)
                
                    var decoded = datagram.Decode(System.Text.Encoding.UTF8);
                    //i can get the SIP header here
                
            
        

如何在同一网络中使用另一个 IP?

【问题讨论】:

【参考方案1】:

使用带有端口镜像功能的交换机或集线器(我个人更喜欢后者)。许多手机还内置了从其网络服务器启动/停止的捕获功能。

【讨论】:

以上是关于使用 pcap.net 在同一网络中捕获不同 PC 的网络数据包的主要内容,如果未能解决你的问题,请参考以下文章

.net 数据包捕获:pcap.net 与 Sharppcap

Pcap.net vs Sharppcap

如何更改 PCap.Net 数据包数据?

使用 Pcap.net 获取样本周期内流量最大的网络接口

SIP 会话跟踪

如何拆分压缩包