ユーザーがリスナーなどを使用して開こうとしているブラウザからアドレスを取得する方法はありますか?アドレスがデータベースにあり、アドレスが禁止されている場合は、そのアドレスをユーザーのブラウザにロードするのをやめますか?
2 に答える
Android は Linux オペレーティング システムのフレーバーであり、必要なことは基本的にファイアウォールを作成することです。Linux でファイアウォールを作成できるようにするために、Netfilterが提供されています。
Netfilter は、カーネル モジュールがコールバック関数をネットワーク スタックに登録できるようにする、Linux カーネル内の一連のフックです。
ただし、ファイアウォールを作成するためのより単純なインターフェイスを提供するために、Linux フレーバーは通常、iptables (基本的に Netfilter の上の別のレイヤー) を実装します。
iptables は、Linux カーネル ファイアウォール (さまざまな Netfilter モジュールとして実装) によって提供されるテーブルと、そこに格納されるチェーンとルールです。現在、さまざまなカーネル モジュールとプログラムがさまざまなプロトコルに使用されています。iptables は IPv4 に、ip6tables は IPv6 に、arptables は ARP に、ebtables はイーサネット フレームに適用されます。
Linux では、基本的に iptable チェーンを作成して、Web サイトへのアクセスを許可し、着信接続をブロックします。
しかし
iptables が Android に実装されていることを知りません。Android カーネルのソース コードを掘り下げる必要があります。次に、電話への root アクセスが必要です。
個人的には、Android カーネルに iptables/netfilter が実装されていない場合は、実装を検討します。はい、大変な作業ですが、なぜ車輪を再発明するのでしょうか?
ブラウザのようなアプリケーションを構築する場合は、それを制御できます。ブロックするか、ページが開かれていることを報告することができます。それ以外の場合は不可能です!