塞思克Cesc 2017-04-12 03:57 采纳率: 0%
浏览 964

C# SharpPcap抓包库的问题

var packet = PacketDotNet.Packet.ParsePacket(pPacket); //Raw基础包对象
在转换为基础包的时候报出如下错误:
“System.NotImplementedException”类型的未经处理的异常在 PacketDotNet.dll 中发生 其他信息: Protocol of 49185 is not implemented

请问这个要怎么解决,这个49185是什么协议

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 17:22
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题是由于PacketDotNet库中没有实现Protocol属性。这可能是因为你尝试了不支持的协议。

    为了修复这个问题,请确保你的PacketDotNet版本足够新,并且已经包含对新的Protocol属性的支持。你可以通过查看库的文档或安装最新版本的库来做到这一点。

    另外,如果你正在使用.NET Core或其他兼容.NET Framework的框架,则可以考虑使用SocketClient类和SocketServer类,它们提供了一个更简单的方法来与TCP/IP网络进行通信。这些类允许你在客户端和服务器之间建立连接并发送数据。

    以下是使用SocketClient类的例子:

    using System;
    using System.Net.Sockets;
    
    namespace PacketDotNetTest
    {
        class Program
        {
            static void Main(string[] args)
            {
                Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                client.Connect("localhost", 1234);
    
                byte[] data = Encoding.UTF8.GetBytes("Hello, world!");
                client.Send(data);
    
                byte[] receivedData = new byte[data.Length];
                int bytesReceived = client.Receive(receivedData);
    
                Console.WriteLine(Encoding.UTF8.GetString(receivedData, 0, bytesReceived));
                client.Close();
            }
        }
    }
    

    请注意,上述示例仅适用于IPv4 TCP连接。对于IPv6和UDP连接,你需要使用不同的库和方法。

    评论

报告相同问题?