Debugging 使用Chromium从外部设备进行远程调试

Debugging 使用Chromium从外部设备进行远程调试,debugging,google-chrome,remote-debugging,remote-access,chromium,Debugging,Google Chrome,Remote Debugging,Remote Access,Chromium,通过命令行启动Chrome,并给出提示,例如Chrome.exe--remote debugation port=9222--user data dir=C:/foo,可以运行Chrome以获得支持。这通常使用桌面设备上的浏览器,但我想调试桌面PC上运行的chrome。从同一台机器上的“客户端浏览器”可以调用localhost:9222并查看服务器浏览器,调用localhost:9222/json将导致“服务器浏览器”中打开的选项卡的json表示。这个很好用 但是,当我试图通过调用[local

通过命令行启动Chrome,并给出提示,例如
Chrome.exe--remote debugation port=9222--user data dir=C:/foo
,可以运行Chrome以获得支持。这通常使用桌面设备上的浏览器,但我想调试桌面PC上运行的chrome。从同一台机器上的“客户端浏览器”可以调用localhost:9222并查看服务器浏览器,调用localhost:9222/json将导致“服务器浏览器”中打开的选项卡的json表示。这个很好用

但是,当我试图通过调用[local IP]:9222或[local IP]:9222/json(local IP是服务器浏览器的IP)来使用同一(wifi)网络中的另一个设备时,我会收到一个连接超时。是否可以以这种方式使用远程调试?启动浏览器时是否需要其他开关

编辑我发现前向tcp在调试移动设备时有一些用途,但确实有

编辑2这似乎与问题有点重复,但是,到目前为止,我还没有找到解决方案


显然,这归结为将端口转发到localhost:9222。然而,至少在windows机器上,我没有幸使用SSH隧道。在机器上还有其他的转发方式吗?

我已经成功地在Windows 7中使用RInetD进行了简单的端口转发,尝试了这个方法,效果非常好,从Mac/Ubuntu中的Chrome外部调试了Windows中的Chrome浏览器

您可以从以下站点下载rinetd:

解压缩文件,创建一个任意名称的空文件(我使用的是rinetd.conf),其中包含以下内容:

0.0.0.0 9223 127.0.0.1 9222

在Windows控制台中,可以通过以下方式运行它:

rinetd.exe-c rinetd.conf


如您所述,解决方案是转发端口9222。下面是针对Linux和Windows的方法

Linux 在开始使用chrome之后

chrome --remote-debugging-port=9222
前进港口

ssh -L 0.0.0.0:9223:localhost:9222 localhost -N
通过这种方式,您可以使用Chrome浏览器从端口9223上的外部设备访问debuggin接口

窗户 如中所示,在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
通过这种方式,您可以从端口9222上的外部设备访问debuggin接口


还要确保没有防火墙阻止相应的端口。

您可以通过添加参数来实现相同的行为
--远程调试地址=[您的外部IP地址]
如报告所示,除Chrome本身外,没有任何其他软件。

现在应将此标记为正确答案。很好,很好!另一个需要提及的重要事项是,如果你得到一个空白的控制台页面,你可能应该允许在chrome的站点设置上出现不安全的内容(点击地址栏上的小锁定图标)来源-chrome和chrome对我都不起作用(而试图绕过google chrome,从版本77开始,它在X上就不起作用)Unbunti 18.04
远程调试地址
仅适用于无头模式。非常不幸,因为我想使用此功能的唯一原因是查看在本地计算机上执行的测试。在Linux上,在ssh命令之后,我在控制台端获得了
通道1:open failed:connect failed:Connection拒绝
,在远程浏览器上找到了
站点