古い方法とその欠点
Yotaが、ある人が電話をモデムモードで使用するかアクセスポイントモードで使用するかをどのように判断するかについて、
2度目 (または
3度目 )を読むことに興味がある人はいないと思います。 「なぜ別の記事が必要なのですか?」とあなたは尋ねます。
実際には、リンクによって提供される回避策では電話機を設定できないため、後でデバイスを接続したときに再度設定する必要はありません。 さらに、ユーザーが複数のデバイスを異なるTTLで接続すると、深刻な不便を経験します。 少なくともそれらの1つのTTLを変更する必要があります。
これらの理由から、「インターネットをオフィス全体に無料で配布するにはどうすればよいですか?」という永遠の質問に対する答えを探してさらに掘り下げようと思いました。 そして、私はそのような答えを見つけることができました(アンドロイドの場合のみ、リンゴはありません)。
終了したプログラム
YotaがTTLを監視していることがわかったとき、おそらく他の国にも同じことをしているプロバイダーがいると思いました。 Playマーケットの検索でTTLを入力しようとしています。
私は正しかった:
TTLEditorプログラムは
すぐそこに見つかりまし
た 。 無料であるだけでなく、
オープンソースであることは非常に素晴らしいことです。
使用方法は非常に簡単です。インターフェイスを選択し(電話がプロバイダーに接続されるインターフェイスを選択するのが最善です
。rmnet0があります)、[OK]をクリックします。 電話の起動時にプログラムを動作させることもできます。

問題が1つだけ発生しました。プログラムが「
TTL更新に失敗しました 」エラーを
スローしました。 コメントで著者をscり、Play Marketを差し引く前に、ソースコードを読むことにしました。
ご注意 おそらく、プログラムはお使いの携帯電話モデルですぐに動作します。 あなたはとても幸運で、この記事を閉じて、人生を楽しんでください。
エラーの原因
プログラムの主なアクションは、次のコマンドをルートとして実行することです。
iptables -t mangle -A POSTROUTING -o <インターフェイス> -j TTL --ttl-set <TTL値>このコマンドが何をするのかを理解するのに多くの頭脳は必要ありません(プログラムでこれについても記述されています):特定のインターフェイスを通過するすべてのパケットにTTL値を設定します(つまり、必要なものだけです)。
コマンドを手動で実行しようとすると、次のエラーが表示されました:
iptables:No chain / target / match by that name 。 数分間のグーグル検索では、
iptablesがほとんどすべての不正なパラメーターでこのエラーを出す準備
ができていることが示されました。 GoogleはTTLに関連して、まだ
何かを見つけ
ます 。 見つけた情報がどれほど適切かを調べます。
cat /proc/net/ip_tables_matches
は、
ttlがあるリストを生成します。つまり、カーネルはTTLをチェックできます。 しかし、コマンド
cat /proc/net/ip_tables_targets
で指定されたリストには
TTLがないため
、カーネルはTTLを変更できません 。 モバイルプロバイダーとメーカーのこのような厚かましい陰謀をあきらめることはありません。そのため、不足しているカーネルモジュールを組み立てます。
この段階では、CyanogenModユーザーはすでに笑っていますが、通常のシステムをそれほど簡単に放棄したくはありませんでしたが、カーネルを交換することなく、新しい機能を追加したかったのです。
リトリート
さらに、読者はLinuxの使用方法を知っており、カーネルとカーネルモジュールが何であるかを理解しており、adbを使用してファイルを転送する方法(adbプッシュ/プル)とコンピューターの電話端末(adbシェル)を開く方法も知っていると思います。 そうでない場合-緊急にグーグルに! その場合は、USBデバッグを有効にしてください。
収集するものとその方法
これが最も難しいステップです。適切なクロスコンパイラとカーネルソースを見つける必要があります。 それ以外の場合は、おそらくそれが機能しないので(そして、これは最後のステップでのみ知られているので)、あなたの電話を特に検索してみてください。 この段階でいくつか失敗し、ミスを犯しました。
携帯電話のモデルはSony Xperia Z1 Compactで、コンピューターのオペレーティングシステムはUbuntu 14.04です。 以下の例では、どのように行動できるかを示します。
cat /proc/version
は、電話でカーネルをビルドするために使用されたgccのバージョンを知ることができます(私の場合: 4.7 )。

- ファームウェアアセンブリ番号は、電話の[電話について]設定で確認できます。 14.4.A.0.108を持っています。
ここの対応するアーカイブとリポジトリの必要なカーネルソースを何とか見つけました 。 以前に見つけたので、アーカイブから取得しました。
ライセンスの世界で何かを理解している場合、製造業者は、Androidフォンで実行されているカーネルのソースコードを提供する必要があります。
セットアップと組み立て
カーネルを初めて組み立てるプロセスに直面している人は、パニックに屈しないでください。Googleでは、私たちは常に
神のような存在です。
- そして、Androidのカーネルアセンブリの説明には通常記載されていない手順を実行する必要があります。
make menuconfig
カーネルコンフィギュレーターが開きます。
「 / 」を押して、検索に「 TARGET_TTL 」と入力します。

ええ、今、必要なコア機能がどこにあるかが明らかになりました。 コンフィギュレーターでそれに行き、「 M 」ボタンを押してください。 これは、この機能をカーネルモジュールとしてコンパイルすることを意味します。

コンフィギュレーターを終了し、変更を保存します。
- カーネルとモジュールを組み立てます:
make -j8 make modules
エラーが発生した場合、間違ったカーネルソースまたはクロスコンパイラを見つけた可能性が高いことを意味します。
- 必要なアセンブルされたモジュールは、
net/netfilter/xt_HL.ko
電話でモジュールを使用する
xt_HL.koモジュール
xt_HL.ko
電話機に投げて、
insmod
コマンドでカーネルに接続しようとします。
このコマンドでエラーが発生した場合は、
dmesg
出力で詳細を確認できます(おそらく、カーネルとモジュールのバージョンまたは同様のものとの競合です-これは、誤ったカーネルソースまたはクロスコンパイラが使用されたことを意味します)。
insmod
コマンドが成功した場合、モジュールがカーネルに接続できたことを意味します(
lsmod
コマンドで確認できます)。
その後、TTLEditorが失敗したコマンドを実行しようとします。 エラーは発生しませんか? そのため、ルールがリストに追加されました。
iptables -t mangle -L
確認できます:

私たちは、あらゆるデバイスにインターネットを配布し、喜ぶよう努めています。
スタートアップセットアップ
最後の手順は残ります。必要なときにいつでもインターネットを配布できるようにすることです。
次の内容で
setup_ttl_editing.sh
ファイルを作成します。
電話にドロップし、
Script Managerプログラムをインストールして、システムの起動時にrootとしてスクリプトを実行するように設定します。
すべての設定が完了したら、携帯電話からインターネットを配布する問題を忘れることができます!ご注意 TTLEditorプログラムは必要ありません。 必要なものはすべてスクリプトに既に記述されています。
おわりに
他の多くのモバイルプロバイダーと比較して、まだかなり寛大なので
、 「
イオタ、貪欲にならないでください 」とは書き
ません 。 私は言った方がいいです:イオタ、あなたと同じまま。
このリンクから、Xperia Z1 Compact用に入手し
たxt_HL.ko
ファイルを
ダウンロードでき
ます 。
おそらく、同様の電話モデルに適しています。
2015年3月13日からUPD。 Xperia V Android 4.3、ファームウェアバージョン9.2.A.2.5の
xt_HL.ko ファイルのユーザー
CTE6EJIbに感謝し
ます 。
2015年8月1日からUPD。 Xperia Z1 Compact for Android 5、ファームウェアバージョン14.5.A.0.270用にコンパイルされています。
ダウンロード