この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 499|答える: 0

[出典] .NET/C#はWindows上でパケットのキャプチャや変更にWinDivertを使用しています

[リンクをコピー]
2025年9月26日 10:53:00 に投稿 | | | |
要件:TCPパケットはWindows上でキャプチャされる必要があり、ネットワークセキュリティにおける中間者攻撃に似た変更が可能です。

復習:
.netはパケットキャプチャツールであるSharpPcapによって書かれています
https://www.itsvse.com/thread-2914-1-1.html

Linuxにおける.NET Coreトラフィックキャプチャ
https://www.itsvse.com/thread-9524-1-1.html

WinDivert: Windows Packet Divert

Windows Packet Divert(WinDivert)は、Windows 10、Windows 11、Windows Server向けのユーザーモードパケットキャプチャおよび転送パッケージです。

公式ウェブサイト:ハイパーリンクのログインが見えます。

WinDivertは、ユーザーモードアプリケーションがWindowsネットワークスタックに送信されるネットワークパケットをキャプチャ、修正、削除できるようにします。 まとめると、WinDivertは以下のことができます:

  • ネットワークパケットのキャプチャ
  • ネットワークパケットのフィルタ/ドロップ
  • ネットワークパケットのスニッフィング
  • ネットワークパケットの(再)注入
  • ネットワークパケットの修正


WinDivertはユーザーモードのパケットフィルター、パケットスニッファー、ファイアウォール、NAT、VPN、トンネリングアプリケーションなどを実装するために使用できます。

WinDivertの主な特徴は以下の通りです:

  • パケット傍受、スニッフィング、またはドロップパターン
  • ループバック(localhost)トラフィックをサポートしています
  • 完全なIPv6サポート
  • ネットワーク層
  • シンプルながら強力なAPI
  • 高度なフィルタリング言語
  • フィルターの優先度
  • サイレントインスタレーション
  • GNUのブロード・パブリック・ライセンス(LGPL)の条件に基づき、無料で提供されています。


httpbinをビルドしてください

httpbin(1):HTTPリクエストおよびレスポンスサービス。HTTPサービスを構築し、WinDivertを通じてリクエストされたパケット内容を修正します。これにより、パケットが応答内容を通じて変更されていることが直感的に確認でき、サーバーは仲介者によって傍受・修正されたパケットの内容を受け取ります。

源:ハイパーリンクのログインが見えます。

Docker build httpbinコマンドは以下の通りです:
以下に示すように:



.NET コンソール

まず、新しい.NET 8コンソールアプリケーションを作成し、nuget参照は以下の通りです:
コードは以下の通りです:

データベースをブロック・修正する前に、以下の図に示すように:



以下の図のようにパケットのインターセプトと修正を開始します。



(終わり)




先の:Gitはプライマリリポジトリのブランチコードをプライベートリポジトリブランチに同期します
次に:Discuz optis loading home.php?mod=misc&ac=sendmail&rand=1759095001
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com