TCPパケット作成

c# tcp
TCPパケット作成

誰でもC#を使用してTCPパケットを作成する方法を教えてもらえますか????

  -1  0


ベストアンサー

TCP Clientクラスを探しているようです。

詳細については、MSDNを参照し、http://msdn.microsoft.com/en-us/library/system.net.sockets.aspx [System.Net.Sockets]名前空間のドキュメントを読んでください。

3


TCPパケットを作成しません。 TCPは、ストリームベースの抽象化を提供します。ネットワークソケットとの間でバイトストリームを読み書きします。 ネットワークがおそらくこれらをある時点でパケットとして扱うという事実は、アプリケーションレベルで気にする必要があるものではありません。

気にする必要がある場合は、http://netcat.sourceforge.net/ [GNU netcat]などのツールを使用してトラフィックを送信できます。

2


カスタムTCPパケットを送信するためのコードは次のとおりです。

//Create a list for the interfaces
List wpcInterfaces = new List();

//Get all local interfaces
WinPcapInterface[] arWpc = EthernetInterface.GetAllPcapInterfaces();

//Create a router
Router rRouter = new Router();

//Foreach WinPcapInterface of this host
foreach (WinPcapInterface wpc in arWpc)
{
    //Create a new interface handler and start it
    EthernetInterface ipInterface = new EthernetInterface(wpc);
    ipInterface.Start();

    //Then add it to the router and to our list
    wpcInterfaces.Add(ipInterface);
    rRouter.AddInterface(ipInterface);
}

//Create a TCP frame
TCPFrame tcpFrame = new TCPFrame();
tcpFrame.DestinationPort = 80;
tcpFrame.SourcePort = 12345;
tcpFrame.AcknowledgementFlagSet = true;

//Create an IP frame and put the TCP frame into it
IPv4Frame ipFrame = new IPv4Frame();
ipFrame.DestinationAddress = IPAddress.Parse("192.168.0.1");
ipFrame.SourceAddress = IPAddress.Parse("192.168.1.254");

ipFrame.EncapsulatedFrame = tcpFrame;

//Send the frame
rRouter.PushTraffic(tcpFrame);

//Cleanup resources
rRouter.Cleanup();

//Start the cleanup process for all interfaces
foreach (EthernetInterface ipInterface in wpcInterfaces)
{
    ipInterface.Cleanup();
}

//Stop all handlers
rRouter.Stop();

//Stop all interfaces
foreach (EthernetInterface ipInterface in wpcInterfaces)
{
    ipInterface.Stop();
}

うまくいけば、それは役立ちます。 🙂

1


System.Net.Sockets名前空間をご覧ください。 特に、http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx [System.Net.Sockets.Socket]クラスで。

0


タイトルとURLをコピーしました