我正在尝试使用chrome中的远程调试选项远程调试chrome实例:
chrome.exe --remote-debugging-port=1337
如谷歌网页所述:http://code.google.com/chrome/devtools/docs/remote-debugging.html
问题是当我尝试使用IP访问它时它不起作用,而使用localhost测试它:1337确实有效 .
任何的想法?
我正在尝试使用chrome中的远程调试选项远程调试chrome实例:
chrome.exe --remote-debugging-port=1337
如谷歌网页所述:http://code.google.com/chrome/devtools/docs/remote-debugging.html
问题是当我尝试使用IP访问它时它不起作用,而使用localhost测试它:1337确实有效 .
任何的想法?
7 回答
您可以设置SSH隧道以便远程调试 . 在源机器上执行:
然后在另一台机器上点 Chrome 浏览器到http://source-machine-ip: 9223
我认为Chrome不接受来自localhost外部的连接(出于安全原因) . 我建议您必须在Chrome所在的同一主机上构建小型代理 .
与另一台计算机共享调试会话的最简单方法是使用socat . 例如,如果您使用端口1337启用了远程调试协议
然后,您可以使用socat创建隧道,
完成此操作后,任何人都可以访问
http://<YOUR_IP_OR_HOSTNAME>:5656/
并立即使用调试器 .完成后,按Ctrl C终止socat,从而停止隧道 .
如果以前的代码不起作用,请检查防火墙(例如
iptables
)是否阻止访问 . 如果防火墙正常,请检查IP地址或主机名是否确实正确 . 要查看流量是否已正确转发/隧道,请访问http://localhost:5656/
并验证是否正在运行Webkit调试器实例 .在Windows 8上运行Chrome远程调试主机时,以下内容对我有用 .
将入站规则添加到Windows防火墙
搜索"Windows Firewall"并选择"Windows Firewall"结果
在"Windows Firewall"控制面板窗口的左侧,单击"Advanced Settings" . 这将打开"Windows Firewall with Advanced Security" .
在左侧的树状视图中,单击"Inbound Rules"
在最右侧,单击"New Rule..."
选择"Port"(单击下一步)
选择TCP并将"Specific local ports"设置为
9222
(单击下一步)选择"Allow the connection"(单击下一步)
选择配置文件访问权限(域名,私人,公共)以满足您的需求(单击下一步)
给它起一个像
Chrome Remote Debugging (9222)
的名字(点击完成)关注user3445047's instructions on port forwarding:
在Windows主机上运行Chrome:
在Windows主机上设置端口转发:
打开一个
cmd
窗口 . 你必须"Run as administrator" .在cmd窗口中输入以下内容:
在客户端上,导航到
http://THE_HOST_IP_ADDRESS:9222
,您将看到"Inspectable Pages"的列表 .最近的Chrome版本支持命令行开关“--remote-debugging-address”,因此不再需要上面列出的变通方法 .
这里描述:“使用给定的地址而不是默认的环回接受远程调试连接 . 应该与--remote-debugging-port一起使用 . 注意,远程调试协议不执行任何认证,所以将其暴露得过于宽泛可能会带来安全隐患 . “
您可以使用netcat创建简单的TCP代理: