0

REGEX を使用して特定のパケットのポートをリッスンするアプリケーションをプログラミングしています。元の TCP ストリームを確認できますが、パケット偽造ライブラリなしでこのストリームを傍受して停止できるかどうか疑問に思っています。

例: ユーザーが P*RN または "J*st** Bi*ber" という単語があるページをナビゲートすると、自動的にこの特定の接続が失われます。

それができない場合は、その場でいくつかの HTMLElements を置き換えるかもしれません。

4

1 に答える 1

1

プロキシ サーバーを実装して、ユーザーからインターネットへの (およびその逆の) すべてのトラフィックがプロキシを通過するようにすることができます。.NET ネットワーク API を使用してプロキシを実装できます (パケットの偽造なし)。接続を切断したい場合は、TCP ストリームを閉じるか、エラー応答を返すことができます。

このソリューションにもいくつかの問題があります。

  • フィルタリングするプロトコル (SMTP、IMAP、POP3) ごとに特定のプロキシを実装する必要があります。
  • インターネットに接続するときにユーザーにプロキシ サーバーを使用させる必要があります (これはネットワーク レベルで構成できます)。
  • トラフィックが暗号化されているため、SSL (HTTPS) では機能しません。

編集 .NET API を使用して TCP ストリームを傍受する方法はないと思います。ただし、 TCP ストリームを転送することはできます (クライアント接続を受け入れてから、クライアントとサーバー間のすべての通信を転送します)。クライアント TCP 接続を受け入れたので、それを終了することもできます。

于 2012-04-21T18:55:28.570 に答える