5

Chrome może być uruchamiany w celu obsługi remote debugging, uruchamiając go za pomocą wiersza poleceń z podpowiedzią taką jak chrome.exe --remote-debugging-port=9222 --user-data-dir=C:/foo. Jest to często używane przy użyciu przeglądarki na pulpicie, ale chciałbym debugować chrome działające na komputerze stacjonarnym. z "przeglądarki klienta" na tym samym komputerze można zadzwonić na localhost: 9222 i zobaczyć przeglądarkę serwera, wywołanie localhost: 9222/json spowoduje wyświetlenie w jsonie otwartych zakładek w "przeglądarce serwera". Działa to dobrze.Korzystanie z zdalnej debugowania Chromium z urządzenia zewnętrznego

Jednak gdy próbuję użyć innego urządzenia w tej samej sieci (Wi-Fi), wywołując [lokalny adres IP]: 9222 lub [lokalny adres IP]: 9222/json (lokalny adres IP jest adresem IP przeglądarki serwera) otrzymuję limit czasu połączenia. Czy możliwe jest w ten sposób zdalne debugowanie? Czy przy uruchamianiu przeglądarki potrzebne są jakieś inne przełączniki?

Edit Znalazłem jakieś zastosowanie forward tcp dla debugowania urządzeń mobilnych, ale nie robi not seem to be such a switch for chrome.

Edycja 2 To wydaje się być nieco duplikat pytań here i here jednak, jak dotąd jeszcze nie dostał rozwiązań przedstawionych tam pracować.

Najwyraźniej sprowadza się do przekazania portu do localhost: 9222. Jednak przynajmniej na maszynach Windows nie mam szczęścia w tunelach SSH. Czy są jakieś inne sposoby przekazania na maszynie?

Odpowiedz

2

Jak już wspomniano, rozwiązaniem jest przekazanie portu . Poniżej znajdują się podejścia do systemów Linux i Windows.

Linux

Po uruchomieniu Chrome z

chrome --remote-debugging-port=9222 

przekierować port

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

W ten sposób można uzyskać dostęp do interfejsu optymalnie spełniało z urządzenia zewnętrznego przez port używając Przeglądarka Chrome.

Okna

Jak widać w this answer, na oknach (testowane na 7,8) najprostszy sposób to zrobić portforwarding bez 3rd aplikacji firm jest poprzez netsh

Utworzyłem plik wsadowy z następujących zadowolony. To musi być prowadził jako administrator, a bez wcześniejszego otwarcia okna chrome:

netsh interface portproxy delete v4tov4 listenport=9222 listenaddress=0.0.0.0 
start /b cmd /c call "\program files\google\chrome\application\chrome.exe" -remote-debugging-port=9222 
timeout 5 
netsh interface portproxy add v4tov4 listenport=9222 connectaddress=127.0.0.1 connectport=9222 listenaddress=0.0.0.0 

W ten sposób można uzyskać dostęp do interfejsu optymalnie spełniało z urządzenia zewnętrznego przez port .

Również upewnić się, że zapora nie blokuje odpowiedni port.

2

Z powodzeniem użyłem RInetD do łatwego przekierowania portów w Windows 7, wypróbowałem to i zadziałało jak urok, zewnętrznie debugując przeglądarkę Chrome w Windows z Chrome na Macu/Ubuntu.

Można pobrać rinetd od:

http://www.boutell.com/rinetd/

Rozpakuj plik, utwórz pusty plik o dowolnej nazwie (użyłem rinetd.conf) o tej treści:

0.0. 0,0 9223 127.0.0.1 9222

in Windows Uruchom konsolę go:

rinetd.exe -c rinetd.conf

i voila!

1

Możesz osiągnąć to samo zachowanie, dodając argument --remote-debugging-address=[YOUR_EXTERNAL_IP_ADDRESS] jako zgłoszony here, bez żadnego dodatkowego oprogramowania, poza samym Chrome.