• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:iフィルターの実現方法って?)

iフィルターの実現方法について

このQ&Aのポイント
  • iフィルターは、不適切なサイトをフィルタリングするソフトウェアです。
  • iフィルターは、パケットの中継を行っているブラウザーにプロキシー登録する必要がありません。
  • iフィルターは、ブラウザーからの要求をフックする方法によって動作しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.2

> もう少し詳しく知りたいのですが、解説ページや実現するためのコード例等、どこかにありませんでしょうか?  うううん。やっぱり企業のノウハウですからね。そうカンタンにはネット上に転がってないかと。  ANo.1では透過プロキシーと書きましたが、正確には違うもの(透過プロキシーのプロキシー機能自体は一般的に応用層で行う)です。・・・・ところで、ご存知の通りTCP/IPはソフトウェアで実現しています。Windowsでもよほどの事が無い限りMicrosoft製のTCP/IPスタックを使用しています。それと、LANカード(普通のIEEE802.3?やIEEE802.11?を実装するもの)もNDISミニポートドライバなどのソフトウェアで制御している事でしょう。これが何を意味しているかというと、「全ての通信はあるレイヤのソフトウェアが完全に掌握している」という事です。それらのソフトウェアを丹念にホジホジしてやる事(完全に置き換えても良いし、フックしてバイパスするものでも良い)で理論上あらゆる通信を制御できる事になりますよね。  他にも、OpenVPNなんかはレイヤ2 over レイヤ3の典型例ですね。ソースは公開されていませんがSoftEtherもレイヤ2 over レイヤ3です。すなわち、ソフトウェアで完全にイーサネットの動作を構築します。PPTP(L2TP)のようにレイヤ2 over レイヤ2の技術もあります。ADSLなんかもPPPoAやPPPoEという名称でレイヤ2 over レイヤ2の実装で実現しています。  まとめると、パーソナルファイアウォールに代表される通信制御は下位のレイヤをなんとかしているというのが一つのヒントになりそうですね。私もOpenVPNのソースを見た事はないのですが、見てみると何か分かるかも知れません。

harumi0619
質問者

お礼

お礼が大変遅くなり申し訳ありませんでした。 教えて頂いた内容をヒントにもう少し色々と調べてみます。

その他の回答 (1)

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 ごくごく普通のパーソナル透過プロキシーですよね。特に難しい技術を使っている訳ではないと思います。  Windowsでは出る・入る問わずIP通信をあるプログラムが全て横取りする事ができますので、当然それを別の場所にリダイレクトすることも可能です。この時、特定のイメージ(フルパスを覗いたファイル名(iexplore.exeなど))やプロセスIDを元にフィルタの内容を切り替える事もできます。  Windows XP標準のパーソナルファイアウォールもEXE名によるフィルタが行えますよね。それと技術的にはほぼ同じようなものです。

harumi0619
質問者

お礼

>IP通信をあるプログラムが全て横取りする事ができます WIRESHARK等、横から覗くことができるのは知ってましたが透過プロキシーとして間に割り込むことができるのは知りませんでした。 そういえばウイルスバスターでメールのチェックをする時、以前のバージョンではメールボックスの指定画面でメールサーバーとしてウイルスバスターのサービスを指定していましたが、最近のバージョンでは本来のメールサーバーを指定してもチェックされるのでどうやって実現しているのか不思議に思っていました。 もう少し詳しく知りたいのですが、解説ページや実現するためのコード例等、どこかにありませんでしょうか?