2011-06-26 20 views
0

インターネットでいくつか読んだことがありますが、C#でTCP経由でパケットを送信する方法が不思議です。この私がこれまで何をやったかである:C#で、インターネット上でTCPパケットを送信する方法、または私のコードに問題があるWHAT:C#でパケットを送信するには?

 TcpClient client = new TcpClient("myipaddresssecret", 7172); 
     Byte[] data = "140049081141799b622d422fcd918d9fb1c55bc3f422"; 
     NetworkStream stream = client.GetStream(); 
     stream.Write(data, 0, data.Length); 
     client.Close(); 

(Wiresharkのからデータを得た)

そこで質問です?

+1

あなたの質問がありますか? –

+0

私はCでTCPを介してパケットを送信する方法が不思議だと言いましたか? – Marcus

+0

これはうまくいかないと信じる理由は何ですか?あなたはどのような結果を期待していましたか、実際に起こったこととどのように比較していますか? –

答えて

4

Windows上で細工したTCPパケットを送信するには、WinPcapのようなドライバが必要です。 WinPcapを使用する場合は、多数の.Netラッパーのいずれかを使用するか、独自のコードを作成できます。 Windows API(ソケットなど)によって提供されるオブジェクトのみで生フレームを送信することはできません。

ちょうどここを見て:http://msdn.microsoft.com/en-us/library/ms740548(VS.85).aspx

を唯一の選択肢は、独自のネットワーク監視ドライバを作成するために、またはインストールが必要ですが、あなたのプログラムにシームレスに統合されていないのWinPcapの商用版を購入するだろう。

に制限されているXPのService Pack 2(SP2)、およびサービスパック3(SP3)、 生 ソケット上のトラフィックを送信する機能を持つ のWindows XPとWindows 7は、Windows Vistaでは、Windows で

いくつか 方法:

ローソケットを介してTCPデータを送信することはできません。それはWinPcapのラッパーとパケットを作ると分析するための方法および多数のオブジェクトが含まれてhttp://www.eex-dev.net/fileadmin/user_upload/apidoc/NetworkLibrary/index.html

:あなたは多分あなたは、このライブラリに必要な何かを見つけることができ、あなたの心を変更する場合については

。それが役に立つかもしれない。

+0

Okインストール方法、データが長すぎる理由を知っていますか? wiresharkからコピーしました。 – Marcus

+0

彼はパケットヘッダーなどを作りたいと思っていますか?この男は標準のTCP経由で普通の普通のデータを送信したいと思っています。 –

関連する問題