web-dev-qa-db-ja.com

ChromeリモートデバッグはIPでは機能しません

Chromeのリモートデバッグオプションを使用して、chromeインスタンスをリモートデバッグしようとしています:

chrome.exe --remote-debugging-port=1337

グーグルページで説明されているように: http://code.google.com/chrome/devtools/docs/remote-debugging.html

問題は、IPを使用してアクセスしようとすると機能しないのに対し、localhost:1337でテストすると機能することです。

何か案が?

23
Amir

リモートでデバッグするためにSSHトンネルを設定できます。ソースマシンで以下を実行します。

ssh -L 0.0.0.0:9223:localhost:9222 localhost -N 

次に、他のマシンポイントChromeブラウザで http:// source-machine-ip9223

28
Adam V.

Chromeはローカルホストの外部からの接続を受け入れるとは思いません(セキュリティ上の理由から)。Chrome)と同じホスト上に小さなプロキシを構築する必要があることをお勧めします=です。

17
beefeather

Windows8でChromeリモートデバッグホストを実行すると、次のことがうまくいきました。

  1. インバウンドルールをWindowsファイアウォールに追加する
    • 「Windowsファイアウォール」を検索し、「Windowsファイアウォール」の結果を選択します
    • 「Windowsファイアウォール」コントロールパネルウィンドウの左側にある「詳細設定」をクリックします。これにより、「セキュリティが強化されたWindowsファイアウォール」が開きます。
    • 左側のツリービューで、[インバウンドルール]をクリックします
    • 右端の[新しいルール...]をクリックします。
    • 「ポート」を選択します(「次へ」をクリックします)
    • TCP)を選択し、[特定のローカルポート]を_9222_に設定します([次へ]をクリックします)
    • [接続を許可する]を選択します([次へ]をクリックします)
    • ニーズに合わせてプロファイルアクセス(ドメイン、プライベート、パブリック)を選択します([次へ]をクリックします)
    • Chrome Remote Debugging (9222)のような名前を付けます([完了]をクリックします)
  2. ポート転送に関するuser3445047の指示 :に従ってください。

WindowsホストでChromeを実行:

_chrome.exe --remote-debugging-port=9222
_

Windowsホストでポート転送を設定します。

cmdウィンドウを開きます。 「管理者として実行」する必要があります。

コマンドウィンドウに次のように入力します。

_netsh
interface
portproxy
add v4tov4 listenport=9222 connectaddress=127.0.0.1
_

クライアントで、_http://THE_Host_IP_ADDRESS:9222_に移動すると、「検査可能なページ」のリストが表示されます。

15
Philip Bulley

デバッグセッションを別のコンピューターと共有する最も簡単な方法は、 socat を使用することです。たとえば、ポート1337でリモートデバッグプロトコルを有効にした場合、

chromium --remote-debugging-port=1337

次に、socatを使用してトンネルを作成できます。

socat tcp-listen:5656,fork tcp:localhost:1337

これを行った後、誰でもhttp://<YOUR_IP_OR_HOSTNAME>:5656/にアクセスして、すぐにデバッガーを使用できます。

完了したら、を押します CtrlC socatを終了して、トンネリングを停止します。
前のコードが機能しない場合は、ファイアウォール(iptablesなど)がアクセスをブロックしているかどうかを確認してください。ファイアウォールに問題がない場合は、IPアドレスまたはホスト名が実際に正しいかどうかを確認してください。トラフィックが正しく転送/トンネリングされているかどうかを確認するには、http://localhost:5656/にアクセスして、Webkitデバッガインスタンスが実行されていることを確認します。

14
Rob W
  1. ヘッドレスサーバーを起動します

    chrome.exe --remote-debugging-port=9222
    
  2. Windowsでポートフォワーディングを設定する

    netsh interface portproxy add v4tov4^
        listenport=9222 listenaddress=0.0.0.0^
        connectaddress=127.0.0.1 connectport=9222 
    
8
vlpro

最近のChromeバージョンはコマンドラインスイッチ "--remote-debugging-address"をサポートしているため、上記の回避策は不要になります。

ここでの説明: "リモートデバッグ接続を受け入れるために、デフォルトのループバックの代わりに指定されたアドレスを使用します。--remote-debugging-portと一緒に使用する必要があります。リモートデバッグプロトコルは認証を実行しないことに注意してください。 -tionなので、あまりにも広く公開するとセキュリティリスクになる可能性があります。 "

6
Michael Dreher

単純なTCPプロキシをnetcatで作成できます:

EXTERNAL_PORT=1338
CHROME_DEBUG_PORT=1337 # This is the port specified with --remote-debugging-port

nc -l -p ${EXTERNAL_PORT} -c "nc 127.0.0.1 ${CHROME_DEBUG_PORT}"
0