Android 上の透過プロキシに基づいて APP パケットをキャプチャする

簡単な説明

iptables を使用して携帯電話のすべての TCP トラフィックを指定された透過プロキシに転送し、
次に redsocks を使用してトラフィックを Charles の Socks5 プロキシなどのフォワード プロキシに転送します。

iptables + redsocks2 + Charles に基づいて、Android APP は最終的にパケットをキャプチャするように実現されますが、APP は認識できません
。つまり、APP はシステム プロキシまたは VPN をチェックすることによってパケット キャプチャ動作があるかどうかを判断できません。

準備

ルート化された Android スマートフォン 1 台、コンピューター 1 台
redsocks2 ダウンロード アドレス: https://fh0.github.io/assets/android-redsocks2.tgz

ステップ

次の内容を含む redsocks.conf という名前の構成ファイルを作成します。

base {
    log_debug = off;
    log_info = on;
    log = stderr;
    daemon = off;
    redirector = iptables;
}

redsocks {
    bind = "127.0.0.1:8080";
    relay = "192.168.0.132:7777";
    type = socks5;
    autoproxy = 0;
    timeout = 10;
}

このうち、bind は透過プロキシ アドレス、relay は Charles のプロキシ アドレスです。

端末 adb シェルを開いて電話に接続します

  1. 既存の iptables ルールを保存する
iptables-save > /data/local/tmp/iptables.rules
  1. ルールを復元したい場合は、電話機を再起動するか、次のように入力する必要があります。
iptables-restore /data/local/tmp/iptables.rules
  1. ファイルをアップロードして透過プロキシを有効にする
adb push redsocks2_arm64 /data/local/tmp/redsocks
adb shell chmod +x /data/local/tmp/redsocks
adb shell
su
cd /data/local/tmp
iptables -t nat -A OUTPUT -p tcp ! -d 127.0.0.1 -m multiport --dports 80,443 -j DNAT --to-destination 127.0.0.1:8080
./redsocks
  1. Charles は Socks5 プロキシ ポート 7777 を設定します

指定ポート、アプリ

上記の手順が完了すると、認識されずにアプリをキャプチャするという目標が達成されます。
グローバル トラフィックがプロキシを通過したくない場合は、

  1. 指定ポート
    実際には上に書いてあります。現在は指定ポート 80、443 です。0 ~ 65535 を指定することもできます。これを --dports 0:65535 に変更するだけです。
  2. アプリが
    最初にアプリの uid を見つける必要があることを指定します

まず APP を開き、ps -ef コマンドを使用してアプリケーション パッケージ名の行を見つけます。最初の列は uid です。通常は
u0_a428 のようなものが表示されます。その後、次のコマンドを実行します。uid 関連は u0_a428 として記述できます。 10428 と書き込み
、コマンドを次のように置き換えます。

iptables -t nat -A OUTPUT -p tcp ! -d 127.0.0.1 -m owner --uid-owner 10428 --dports 80,443 -j DNAT --to-destination 127.0.0.1:8080

参考
https://blog.seeflower.dev/archives/207/
https://mp.weixin.qq.com/s/P0ESUUXBmq2aQnrqDHsDaw
https://blog.mythsman.com/post/62791fb4b5467000017d5c6e/

おすすめ

転載: blog.csdn.net/A_I_H_L/article/details/130795338