Ответ 1
Вы можете настроить туннель SSH для отладки дистанционно. На исходном компьютере выполните:
ssh -L 0.0.0.0:9223:localhost:9222 localhost -N
Затем на другой машинной странице браузер Chrome на http://source-machine-ip: 9223
Я пытаюсь удаленно отлаживать экземпляр chrome с помощью опции удаленного отладки в chrome:
chrome.exe --remote-debugging-port=1337
как описано на странице google: http://code.google.com/chrome/devtools/docs/remote-debugging.html
проблема в том, что когда я пытаюсь получить к ней доступ с помощью IP, он не работает, проверяя его с помощью localhost: 1337 действительно работает.
любая идея?
Вы можете настроить туннель SSH для отладки дистанционно. На исходном компьютере выполните:
ssh -L 0.0.0.0:9223:localhost:9222 localhost -N
Затем на другой машинной странице браузер Chrome на http://source-machine-ip: 9223
Я не думаю, что Chrome принимает подключения извне localhost (по соображениям безопасности). Я бы предложил вам создать небольшой прокси-сервер на том же хосте, где находится Chrome.
Самый простой способ совместного использования сеанса отладки с другим компьютером - socat. Например, если вы включили протокол удаленной отладки на порт 1337, используя
chromium --remote-debugging-port=1337
Затем вы можете создать туннель с помощью socat,
socat tcp-listen:5656,fork tcp:localhost:1337
После этого любой может просто посетить http://<YOUR_IP_OR_HOSTNAME>:5656/
и сразу же использовать отладчик.
Когда вы закончите, нажмите Ctrl + C, чтобы остановить socat и, таким образом, остановить туннелирование.
Если предыдущий код не работает, проверьте, блокирует ли брандмауэр (например, iptables
). Если брандмауэр в порядке, проверьте правильность IP-адреса или имени хоста. Чтобы проверить, правильно ли перенаправлен/туннелирован трафик, зайдите в http://localhost:5656/
и убедитесь, что запущен экземпляр отладки Webkit.
Запустите безголовый сервер
chrome.exe --remote-debugging-port=9222
Настройка переадресации портов в Windows
netsh interface portproxy add v4tov4^
listenport=9222 listenaddress=0.0.0.0^
connectaddress=127.0.0.1 connectport=9222
При работе с удаленным отладочным узлом Chrome в Windows 8 работала для меня.
9222
(нажмите "Далее" )Chrome Remote Debugging (9222)
(нажмите "Готово" )Запустите 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
, и вам будет представлен список "Проверяемые страницы".
последние версии Chrome поддерживают переключатель командной строки "--remote-debugging-address", поэтому обходные пути, перечисленные выше, больше не нужны.
Вот описание: "Используйте данный адрес вместо стандартного loopback для приема удаленных отладочных подключений. Следует использовать вместе с --remote-debugging-port. Обратите внимание, что протокол отладки повторного использования не выполняет никакой аутентификации, поэтому слишком широко его подвергает может быть угрозой безопасности".
Вы можете создать простой прокси 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}"