問題タブ [ndis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
window - DDK サンプル パススルーが win7 にロードされない
ddk サンプル「passthru」に基づいてドライバーを開発していますが、このドライバーを win7 (x86 または x64) にロードするのに問題があります。winxp (x86 および x64) でドライバーをテストしましたが、かなりうまく動作しますが、このドライバーを win7 にロードしようとすると (F8->ドライバー署名の強制を無効にする)、失敗したように見えました。次に、ネイティブのパススルー コードを試しましたが、これも失敗しました。失敗したと思ったから
- Windbg から KdPrint を使用した出力が表示されません。
- システム イベントから有用な情報が表示されません。
- passthru!DriverEntry にブレークポイントを設定しましたが、DriverEntry が呼び出されていないようです。
私のWDKは7600.16385.1で、パススルーはwin7と互換性があるはずです。コマンド「build -cZ」を使用してパススルーをコンパイルします。この問題を理解するのを手伝ってくれますか、またはパススルーが win7 にロードされない理由についての手がかりを教えてください。
このドライバーは、win7 x86 チェック ビルド環境でビルドし、win7 x86 でテストしました。
解決済み: 実際にはドライバーはロードされていますが、KdPrint の出力はデフォルトで win7 に表示されません。KdPrintEx を使用してメッセージ レベルを指定するか、レジストリを変更してデバッグ メッセージを表示する必要があります。bp が失敗した理由もわかりません。
c - NDIS フック sendPacketsHandler
私NdisRegisterProtocol()
はプロトコル ドライバーを登録し、構造体を使用_NDIS_OPEN_BLOCK
し_NDIS_PROTOCOL_BLOCK
て成功をフックReceivePacketHandler
し、NDIS の代わりに MyRecivePacket() を使用して、Web サイトを開いたときにパケット関数を受信しMyRecievePacket()
ます。
私の質問は:www.stackoverflow.com
を使用して Web サイト ( など) を開くときIE
、 をフックしSendPacketsHandler
てこのパケットを取得し、URLwww.stackoverflow.com
文字列を取得するにはどうすればよいですか。つまり、カーネル モードで URL をキャプチャする方法です。ありがとう
c++ - Windows NDIS のパススルーの例で、特定のアダプターで NDIS_PACKET を送信する方法は?
Windows WDK の元のパススルーの例を変更して、Windows プラットフォームで NAT のようなソフトウェアに取り組んでいます。
私のマシンにはいくつかのネットワーク アダプタがあり、受信したすべてのパケットを分析して、どのアダプタにパケットを転送するかを決定したいと考えています。問題があります。NdisSend 関数を呼び出すときに、送信用のアダプターを指定する方法がわかりません。
次のように、NdisSend には BindingHandle 引数がありますが、私の理解では、パススルー内のすべてのアダプターを表す必要があります (正しくない場合があります:)
NdisSend(&Status, pAdapt->BindingHandle, MyPacket);
では、NdisSend を呼び出すときに {62E9DB05-88D3-479D-A194-22D6A591DB96} のようなアダプターを指定するにはどうすればよいでしょうか。
とてもthx..
windows - Windowsドライバー開発
私はWindowsドライバーの開発に慣れていないので、私の質問があまりにも愚かである場合は、我慢してください。そうですね、MSDNが示唆しているように、また私が認識しているように、ホストコンピューター(ドライバーの開発など)とターゲットコンピューター(ドライバーのデバッグなど)が2つの別々のコンピューターである必要がある理由はわかりません。なぜそのような分離?私は、ドライバーを開発しているホストコンピューターにドライバーを展開してデバッグすることにより、これら2つをマージしようとしましたが、Windowsからの異議なしに機能しているように見えました。ありがとう。
PS。このようなソースhttp://msdn.microsoft.com/en-us/library/windows/hardware/hh698272(v=vs.85).aspxは私にそう思わせました。
driver - ネットワーク監視に使用するテクノロジ/API/テクニックは何ですか?
さて、私はファイルシステム、レジストリ、およびネットワークアクティビティを監視するユーティリティを構築しています(プロセスごとに、選択したプロセスによるアクティビティのみ)。ミニフィルター ドライバーを開発することで、ファイル システムとレジストリ アクティビティの部分を完成させました。ただし、ネットワークに対してどのようにすればよいかわかりません。私がやりたいことは、sysinternal の TCPView が行うこととよく似ていますが、選択したプロセスによって ESTABLISHED 接続を監視したいだけです。接続ごとにリアルタイムで取得したいものは次のとおりです。
-プロトコル (TCP または UDP)
-送信元ポート
-リモート IP とポート
-[オプション] 監視が開始されてから特定の接続で転送されたバイト数
何を使えばいいですか?LSP について聞いたことがありますが、もう少し詳しく読んでみると、適切に機能する LSP を作成するのは非常に難しいことに気付きました。また、それらが時代遅れになっていること。問題は、このモジュールを学習して書くのに約 2 ~ 3 週間しかないことです。時間制限があるため、WFP のようなものには行きたくありません。ただし、非常に優れたチュートリアルがない限り、MSDN のドキュメントについて話しているわけではありません。これが NDIS などを使用して「簡単に」実行できるかどうかはわかりません。
とにかく、どうしよう、どこに力を注げばいいのか。LSP について学ぶことでリスクを負うべきか、それとも NDIS がタスクを達成するか、または何か他のことを行うべきでしょうか。私は今、ちょっと無知です。ここで私を助けて!
driver - pcapnet とパケットのリダイレクト
あるイーサネット インターフェイスのパケットを別のインターフェイスにミラーリング (リダイレクト/転送ではなく) することはできますか? いずれにせよ、ホスト マシンはパケットを処理します。winpcap はフィルターとして介在しないため、パケットをドロップすることはできません。しかし、Winpcap または pcap.net を使用してパケット ミラーリングが可能かどうか疑問に思っていました。
インターフェイス ブリッジに似ています。カスタム NDIS 5/6 フィルター ドライバーを使用することはオプションですが、現在は追求していません。私はこれを厳密にユーザーモードで実行しようとしています.C#を使用できれば幸いです.
Win7x64を使用。
c++ - NDIS プロト サンプルとイーサネット ブリッジ
Win 7 用の WDK で提供されている NDIS proto の例を使用して、2 つのイーサネット アダプター間のテスト ブリッジを作成しようとしていました。今、私はどのように進むべきか疑問に思っていましたか?一度にいくつかのアダプターのみにバインドする方法はありますか?
driver - NDIS 6.x イーサネット ブリッジ ドライバー
NDIS 6.x を使用してイーサネット ブリッジを構築するための最良の選択と方法は何かと考えていました。ミニポート、IM、プロトコル、フィルター ドライバーのどれを使用すればよいですか?
WDK で利用可能なプロトコル ドライバーのサンプルをカスタマイズしようとしたところ、イーサネット アダプターに正常に接続されました。次は何?
どんな助けでも大歓迎です。
Windows 7x64 の使用
windows - NDIS プロトコル ドライバーでループバック パケットを無効にする方法
プロトコル ドライバーでループバック パケットの受信を無効にするにはどうすればよいですか? シナリオは、プロトコル ドライバーが 1 つのアダプターからパケットを受信し、それを別のアダプターに送信するというものです。(のようにeth0 -> eth1
)。
IPv4だけに興味があり、
フィルタは次のように定義されます。
受信側は、以下に示すようにループバック パケットをチェックしています。
また、パケットを道路に送信すると、SendFlags
MSDN に従ってループバックを回避するために がゼロに設定されます。
これらすべてのハードルを上げた後でも、wireshark から明らかなように、私の抗議はループバック パケットを受信しています。
何か案が?
NDIS6.0、ndisprot60、開発者: Win7、テスト VM: Win2008 R2 を使用