下面的代码
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);
s.Bind(new System.Net.IPEndPoint(IPAddress.Parse("127.0.0.1"),0));
s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, true);
byte[] bin = new byte[4]{1, 0, 0, 0};
byte[] bout = new byte[4];
s.IOControl(IOControlCode.ReceiveAll, bin, bout);
我收到以下异常:
Socket Exception: An invalid argument was supplied
在下面一行
s.IOControl(IOControlCode.ReceiveAll, in, out);
但我不明白为什么我提供了错误的论点。
最佳答案
好的,我找到了。
127.0.0.1 不是一个正确的 IP 地址注释。我必须使用本地的(192.168.0.100);
天哪,事情总是那么容易。
关于c# - 数据包嗅探器套接字异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4013217/