2011-10-26 2 views
0

私はちょうど私の最初の窓のドライバを書くことができました(haventはそれをまだ登録しましたが、私は創造されたものを手に入れました!)。ドライバを使用してネットワーク機能をフックします。

私は誰かが私に、私は次のことを実現することができる方法の高い概要与えることができればと思った:

を私は窓の前に、ネットワークパケットをコンピュータで受信したときに、いくつかの動作を実装しますドライバを書きたいですそれはパケットで何をしますか、私はこのデータを取って、CまたはC++プログラムのコンソールに出力したいと思います。

コンソールがあるC/C++プログラムが書かれていると仮定します。どのようにC/C++プログラムは、私が書いたドライバでネットワーク活動をフックしていると対話していますか?それは単純に私のドライバを呼び出すいくつかのCコードですか、関数は、オブジェクトとしてデータを返し、私はコンソールに表示するためにそのオブジェクトを使用することができますか?

は、任意の可能な応答

答えて

1

あなたは、このタスク用のドライバを必要としないため、事前にありがとうございます。 PCapのようなパケットスニファライブラリを使用してください(実際にはWinPCapが必要です)。パケットをキャプチャしてコンソールに出力するのは本当に簡単です。

代替方法はra​​wソケットです。しかし、デスクトップWindows(Windows Serverの反対)は、ローソケット機能を制限します。

+0

私は 'windows'の前にパケットに行きたいと思っていました。私は高周波取引に興味があったので、本当に低レベルで試してみたいと思っていました。今私はこれを言った、それはまだ運転手を書いて意味がありますか? – user997112

+0

あなたが実装しようとしているドライバとユーザモードのアプリケーションへのインタフェースを提供するので、PCapは本当に低レベルです。なぜこれをやり直すのですか? –

+0

私は気づいていませんでした、私はwinpcapが物事を遅くする余分な機能をたくさん持つラッパーだと思った。だからあなたは(彼らがCやC++で作業していると仮定して)HF取引プラットフォームを開発している人は、ドライバを書くのは無意味なので、Linuxでもpcapを使うだろうと思いますか?または、ドライバーを使用してパフォーマンスの男がいますか? – user997112

0

ドライバが本当に必要な場合、またはWindowsネットワークスタックにヒットする前にパケットを操作またはフィルタする必要がある場合は、フィルタドライバを調べる必要があります。

このフィルタドライバは、ユーザー空間アプリケーションが読み書きできるデバイスファイルを公開することができます。 Windows DDKには例があります。

関連する問題