Удаленная отладка — как создать прокси порта?

Я пытаюсь получить доступ к порту удаленной отладки, работающему на коробке A (Debian), из коробки B (Windows). В поле A я запускаю Chrome с флагом --remote-debugging-port=9222 и вижу, что он работает правильно (я могу получить доступ к localhost:9222 из другого браузера на A). Кроме того, я уверен, что ящики A и B связаны, потому что я могу получить доступ к :80 (apache), работающему на ящике A, из ящика B. Теперь мне нужно разрешить ящику B доступ :9222 к ящику A. Я провел исследование правил переадресации портов и iptables, но мне не удалось заставить его работать.

ИЗМЕНИТЬ

Машина B - это Windows, поэтому я не уверен, как использовать там ssh, я нашел приложение для переадресация портов, которая, кажется, работает нормально. Однако это дает мне ошибку: «получено соединение, но не удается подключиться к хосту-B: 9222». Так что похоже, что 9222 не открыт для внешних подключений. Вывод из netstat на A дает мне:

root@template:/home/developer# netstat -nap | grep 9222
tcp        0      0 127.0.0.1:9222      0.0.0.0:*    LISTEN      24300/user     

person Konrad Dzwinel    schedule 23.08.2012    source источник


Ответы (3)


Я нашел свой ответ здесь. Все сводится к этому:

  • открыть Chrome в одной консоли: google-chrome --remote-debugging-port=9222
  • и настроить прокси в другом: ssh -L 0.0.0.0:9223:localhost:9222 localhost -N
  • теперь вы сможете получить доступ к удаленной отладке с другого компьютера через http://192.168.1.123:9223/
person Konrad Dzwinel    schedule 05.09.2012

Браузер привязывает сокет к адресу localhost. Поэтому у вас проблема с доступом к порту.

Вы можете решить проблему с помощью функции переадресации портов ssh.

ssh [email protected] -L 9111:127.0.0.1:9222

После выполнения этой команды откройте localhost:9111 на хосте B.

ssh перенаправит соединение на хост A и подключит его к localhost:9222.

person loislo    schedule 23.08.2012
comment
Спасибо за ваш ответ, я сделал переадресацию портов на B, но похоже, что порт 9222 не открыт для внешнего слова на A. Я отредактировал свой вопрос, чтобы включить дополнительную информацию. - person Konrad Dzwinel; 24.08.2012

Другим решением является переадресация другого порта на хосте A с помощью nc.

http://en.wikipedia.org/wiki/Netcat

person loislo    schedule 04.09.2012
comment
Еще раз спасибо, подсказка о netcat была отличной. Это позволило мне найти это: stackoverflow.com/a/9269355/1143495. - person Konrad Dzwinel; 05.09.2012