指定されたポートのリッスンに問題があります。次のコードがあります。
Socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Unspecified);
Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1);
Socket.Bind(new IPEndPoint(localAddr, 80));
Socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, true);
Socket.IOControl(IOControlCode.ReceiveAll, BitConverter.GetBytes(1), BitConverter.GetBytes(0));
Socket.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, new AsyncCallback(ReadCallback), null);
そして、すべてがうまく機能しているようです。着信パケットと発信パケットをキャプチャします。必要な情報はすべてありますが、1 つの例外があります。Bind() メソッドで指定した 80 だけでなく、すべてのポートをリッスンします。ポート80でこれらだけを読み取る方法を知っている人はいますか?