Luk*_*uge 8 debugging google-chrome remote-debugging remote-access chromium
可以运行Chrome以支持远程调试,方法是通过命令行启动它,例如chrome.exe --remote-debugging-port=9222 --user-data-dir=C:/foo.这通常用于在桌面设备上使用浏览器在Android或iO上进行调试,但我想调试在桌面PC上运行的chrome.从同一台机器上的"客户端浏览器"可以调用localhost:9222并查看服务器浏览器,调用localhost:9222/json将导致在"服务器浏览器"中打开选项卡的json表示.这很好用.
但是,当我尝试通过调用[本地IP]:9222或[本地IP]:9222/json(本地IP是服务器浏览器的IP)在同一(wifi)网络中使用其他设备时,我得到连接超时.是否可以这样使用远程调试?启动浏览器时是否需要其他任何开关?
编辑我发现有一些使用forward tcp来调试移动设备,但似乎没有这样的转换为chrome.
编辑2这似乎与这里和这里的问题有点重复但是,到目前为止,我还没有得到那里提出的解决方案.
所以,显然这归结为将端口转发到localhost:9222.但是,至少在Windows机器上我没有运气SSH隧道.还有其他方法可以在机器上转发吗?
正如您所提到的,解决方案是转发端口9222.下面是Linux和Windows的方法.
开始使用chrome之后
chrome --remote-debugging-port=9222
Run Code Online (Sandbox Code Playgroud)
转发端口
ssh -L 0.0.0.0:9223:localhost:9222 localhost -N
Run Code Online (Sandbox Code Playgroud)
这样,您可以使用Chrome浏览器从端口9223上的外部设备访问调试接口.
正如在这个答案中看到的,在Windows上(在7,8上测试),没有第三方应用程序进行端口转发的最简单方法是通过netsh
我创建了一个包含以下内容的批处理文件.它必须以管理员身份运行,并且之前没有打开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
Run Code Online (Sandbox Code Playgroud)
这样,您就可以从端口9222上的外部设备访问调试器接口.
确保没有防火墙阻止相应的端口.
| 归档时间: |
|
| 查看次数: |
8899 次 |
| 最近记录: |