2

Androidで低レベルのハッキングを行っています。

wifiを有効にしようとしています。つまり、ターミナル(adbシェル)を介してインターネット接続を確立しようとしています。Androidのバイオニックライブラリとlibnetutilsライブラリをハッキングして機能させることで、これを実現するCプログラムを作成しました。

すべて正常に動作します。dhcp リクエストで IP アドレスを取得できます。問題は、元のサイトを開こうとするたびに. ブラウザ経由で google.com にアクセスしても、開きません。しかし、サイト「74.125.228.66」(google.com) の IP アドレスを入力すると、ページが読み込まれます。

ファイル「resolv.conf」(/system/etc に存在) やファイル「20-dns.conf」(/system/etc/dhcpcd/dhcpcd-hooks) の DNS エントリを変更するなど、いくつかのオプションを試しました。また、「setprop」呼び出しを使用して、「dhcp.eth0.dns*」および「dhcp.wlan0.dns*」の dns 値を手動で設定しようとしました。

しかし、何も機能していないようです。私が気づいた興味深い動作もあります。「設定」メニューから手動でwifiをオンにしてからオフにしてからプログラムを実行すると、この問題に直面しなくなりました。私が理解できなかったいくつかの設定を使用しているようです。

私の推測では、これは DNS の問題ですが、別の問題である可能性があります。以前にこの問題に直面したことがある人がいたら教えてください。

Wi-Fiを有効にするために私が行うことは次のとおりです。

  1. wpa_supplicantを使用してデーモンを有効にしますset_prop()

  2. dhcpIP を取得する要求を送信しdhcpclient.cます( のコードlibnetutils)。

  3. dhcpcdを使用してデーモンを有効にしますset_prop()。(これがなくても、すべてが機能します。これを実行して、IPリースが自動的に更新されるようにしました。(dhcpcdデーモンがリースの更新を処理するかどうかはわかりませんが))。

4

1 に答える 1