9

生のTCPパケットを受信し、同じワークロードで送り返したい。

次のようになります。

void OnPacketReceived(TcpPacket p)
{
    byte [] body = p.GetBody();
}

注:イーサネットフレームではなく、TCPパケットが必要です。

4

3 に答える 3

7

ソケットをrawソケットとして実装すると、パケット全体にアクセスできます(実際、パケットに関するすべてを自分で処理する必要があります)。

ソケットを作成するときは、SocketType.RawとProtocolType.Rawを使用します。

この方法でソケットを実装する場合は、TCPの詳細を処理する必要があることに注意してください。

参考までに、Socketクラスに関するMSDNドキュメントは次のとおりです。http: //msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx

于 2012-06-15T08:13:29.713 に答える
2

pcapDotNetライブラリを使用できます。

https://pcapdotnet.codeplex.com/

于 2015-07-28T08:52:05.030 に答える
0

パケットスニファを使用する必要があります。ここでは、選択したフィルタを配置でき、それに基づいて応答することもできます。

WinPcapの.Netラッパーが役立つことがわかります。

于 2012-06-15T12:03:42.697 に答える