5

Chrome può essere eseguito per supportare remote debugging avviandolo tramite la riga di comando con un prompt come chrome.exe --remote-debugging-port=9222 --user-data-dir=C:/foo. Questo è spesso usato to debug on android or iOs utilizzando un browser su un dispositivo desktop, ma vorrei eseguire il debug di chrome in esecuzione su un PC desktop. da un "browser client" sulla stessa macchina si può chiamare localhost: 9222 e vedere il browser del server, chiamando localhost: 9222/json comporterà una rappresentazione json delle schede aperte nel "browser server". Questo funziona bene.Utilizzo di Chromium Remote Debugging da dispositivo esterno

Tuttavia, quando provo a utilizzare un altro dispositivo nella stessa rete (wifi) chiamando [IP locale]: 9222 o [IP locale]: 9222/json (IP locale è l'IP del browser server). un timeout della connessione. È possibile utilizzare il debug remoto in questo modo? Sono necessari altri switch quando si avvia il browser?

Modifica Ho trovato un po 'uso di forward tcp per il debug dei dispositivi mobili, ma c'è not seem to be such a switch for chrome.

Modifica 2 Questo sembra essere un po 'di un duplicato delle domande here e here però, come ancora non ho ottenuto le soluzioni presentate lì per lavorare.

Quindi, apparentemente si tratta di inoltrare una porta a localhost: 9222. Tuttavia, almeno sulle macchine Windows non ho fortuna con i tunnel SSH. Ci sono altri modi per avanzare sulla macchina?

risposta

2

Come hai detto, la soluzione è di inoltrare la porta . Di seguito trovi gli approcci per Linux e Windows.

Linux

Dopo aver iniziato cromato con

chrome --remote-debugging-port=9222 

inoltrare la porta

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

In questo modo è possibile accedere all'interfaccia debuggin da un dispositivo esterno sulla porta utilizzando un Chrome browser.

di Windows

Come visto in this answer, su Windows (testato su 7,8) il modo più semplice per farlo portforwarding senza applicazioni 3rd party è via netsh

ho creato un file batch con il seguente soddisfare. Esso deve essere eseguito come amministratore, e senza finestre cromo precedenti aprire:

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 

In questo modo è possibile accedere all'interfaccia debuggin da un dispositivo esterno sulla porta 9222 .

Assicurarsi inoltre che nessun firewall stia bloccando la porta corrispondente.

2

Ho utilizzato con successo RInetD per un facile port forwarding in Windows 7, ho provato questo e ha funzionato come un fascino, esternamente eseguendo il debugging di un browser Chrome in Windows da un Chrome in Mac/Ubuntu.

È possibile scaricare rinetd da:

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

Decomprimere il file, creare un file vuoto con qualsiasi nome (io ho usato rinetd.conf), con questo contenuto:

0,0. 0,0 9223 127.0.0.1 9222

La console di Windows eseguirlo con:

rinetd.exe rinetd.conf -c

E voilà!

1

È possibile ottenere lo stesso comportamento aggiungendo l'argomento --remote-debugging-address=[YOUR_EXTERNAL_IP_ADDRESS] come riportato here, senza alcun software aggiuntivo diverso da Chrome stesso.

Problemi correlati