proxychains 配下のプログラムが通常のホスト名を解決すると、見慣れないアドレス範囲が返ることがあります。そのアドレスはインターネットからの DNS 応答ではなく、ラッパー内部の管理用の値である可能性があります。

proxy-DNS モードでは、proxychains-ng はホスト名を記憶し、アプリケーションに合成アドレスを返し、横取りした接続がプロキシ経由で開かれるときにその値をホスト名へ戻すことができます。

プレースホルダーは出口 IP ではない

サンプル設定は proxy_dns と remote_dns_subnet を記載しています。予約されたマッピング範囲は設定可能です。これは ping したり、プロキシの公開送信元として公表したりすることを想定したアドレスではありません。

これは、該当する名前解決と接続の呼び出しが意図したプロセス内で横取りされることに依存します。別の仕組みで独自の DNS を行うプログラム、プレースホルダーを後日の無関係な用途のために保存するプログラム、フックされたソケット経路を回避するプログラムは、異なる動作をすることがあります。

この制限は、ログにある合成アドレスだけでは、アプリケーション全体がリモート DNS を正しく使っている証拠にならない理由を説明します。同様に、ラップされたプロセスの外にある別の DNS ツールは、アプリケーションのマッピングされた接続を検証しません。

アプリケーションのプレースホルダー、プロキシ側で選ばれる実際の宛先アドレス、そしてウェブサイトが観測する公開出口を区別してください。それぞれ役割が異なり、一致する必要はありません。

デバッグ時はホスト名をメモに残し、ラップされた正確なプロセスと設定を特定してください。疑わしいプレースホルダーを手作業で置き換えると、ラッパーがそのホスト名を復元するために必要だったマッピングを失い、理解できる間接指定が誤った宛先への接続に変わりかねません。

関連記事