Удаленная отладка Chrome не работает с IP - PullRequest
22 голосов
/ 26 июля 2011

Я пытаюсь выполнить удаленную отладку экземпляра Chrome с помощью параметра удаленной отладки в chrome:

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

как описано на странице Google: http://code.google.com/chrome/devtools/docs/remote-debugging.html

проблема в том, что когда я пытаюсь получить доступ к нему по IP, он не работает, а тестирование с помощью localhost: 1337 работает.

есть идеи?

Ответы [ 7 ]

26 голосов
/ 14 февраля 2012

Вы можете настроить SSH-туннель для удаленной отладки.На исходном компьютере выполните:

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

Затем на другом компьютере укажите Chrome browser до http://source -machine-ip : 9223

15 голосов
/ 27 июля 2011

Я не думаю, что Chrome принимает подключения извне localhost (из соображений безопасности). Я бы посоветовал вам создать небольшой прокси на том же хосте, где находится Chrome.

13 голосов
/ 08 января 2014

Самый простой способ поделиться сеансом отладки с другим компьютером - это socat .Например, если вы включили протокол удаленной отладки на порту 1337 с помощью

chromium --remote-debugging-port=1337

Затем вы можете создать туннель с помощью socat,

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

После этого любой можетпросто зайдите на http://<YOUR_IP_OR_HOSTNAME>:5656/ и сразу же используйте отладчик.

Когда вы закончите, нажмите Ctrl + C , чтобы завершить сокат и, таким образом, остановить туннелирование.
Если предыдущий код не работает, проверьте, блокирует ли брандмауэр (например, iptables) доступ.Если с брандмауэром все в порядке, проверьте правильность IP-адреса или имени хоста.Чтобы убедиться, что трафик правильно перенаправлен / туннелирован, посетите http://localhost:5656/ и убедитесь, что запущен экземпляр отладчика Webkit.

12 голосов
/ 12 ноября 2014

Следующее сработало для меня при запуске узла удаленной отладки Chrome в Windows 8.

  1. Добавить правило для входящих подключений в брандмауэр Windows
    • Найдите «Брандмауэр Windows» и выберитеРезультат «Брандмауэр Windows»
    • В левой части окна панели управления «Брандмауэр Windows» нажмите «Дополнительные параметры».Откроется «Брандмауэр Windows в режиме повышенной безопасности».
    • В древовидном представлении слева нажмите «Правила для входящих подключений»
    • В крайнем правом углу нажмите «Новое правило ...»
    • Выберите «Порт» (нажмите Далее)
    • Выберите TCP и установите «Определенные локальные порты» на 9222 (Нажмите Далее)
    • Выберите «Разрешить подключение» (Нажмите Далее)
    • Выберите доступ к профилю (Домен, Частный, Общий) в соответствии с вашими потребностями (Нажмите Далее)
    • Дайте ему имя, например Chrome Remote Debugging (9222) (Нажмите Готово)
  2. Следуйте инструкциям user3445047 по переадресации портов :

Запуск Chrome на хосте Windows:

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

Настройка переадресации портовна хосте Windows:

Откройте окно cmd.Вы должны "Запуск от имени администратора".

Введите в окне cmd следующее:

netsh
interface
portproxy
add v4tov4 listenport=9222 connectaddress=127.0.0.1

На клиенте перейдите к http://THE_HOST_IP_ADDRESS:9222, и вам должен быть представлен список «Проверяемых страниц».

6 голосов
/ 21 марта 2014
  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 
    
4 голосов
/ 11 октября 2016

последние версии Chrome поддерживают параметр командной строки "--remote-debugging-address", поэтому перечисленные выше обходные пути больше не нужны.

Здесь приведено описание: " Используйте указанный адрес вместопетля по умолчанию для приема удаленных подключений отладки. Должна использоваться вместе с --remote-debugging-port. Обратите внимание, что протокол удаленной отладки не выполняет никакой аутентификации, поэтому слишком широкое его раскрытие может быть угрозой безопасности."

0 голосов
/ 29 декабря 2017

Вы можете создать простой 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}"
...