我正在尝试使用chrome中的远程调试选项远程调试chrome实例:
chrome.exe --remote-debugging-port=1337
如google page:http://code.google.com/chrome/devtools/docs/remote-debugging.html
所述问题是当我尝试使用IP访问它时它不起作用,而使用localhost进行测试时:1337确实有效。
任何想法?
答案 0 :(得分:25)
您可以设置SSH隧道以便远程调试。在源机器上执行:
ssh -L 0.0.0.0:9223:localhost:9222 localhost -N
然后在另一台计算机上将 Chrome 浏览器指向http://source-machine-ip: 9223
答案 1 :(得分:16)
我认为Chrome不接受来自localhost外部的连接(出于安全原因)。 我建议您必须在Chrome所在的同一主机上构建小型代理。
答案 2 :(得分:13)
与另一台计算机共享调试会话的最简单方法是使用socat。 例如,如果您已使用
在端口1337上启用了远程调试协议chromium --remote-debugging-port=1337
然后,您可以使用socat创建隧道,
socat tcp-listen:5656,fork tcp:localhost:1337
完成此操作后,任何人都可以访问http://<YOUR_IP_OR_HOSTNAME>:5656/
并立即使用调试器。
完成后,按 Ctrl + C 终止socat,从而停止隧道。
如果以前的代码不起作用,请检查防火墙(例如iptables
)是否阻止访问。如果防火墙正常,请检查IP地址或主机名是否确实正确。要查看流量是否已正确转发/隧道,请访问http://localhost:5656/
并验证是否正在运行Webkit调试器实例。
答案 3 :(得分:9)
在Windows 8上运行Chrome远程调试主机时,以下内容对我有用。
9222
(点击下一步)Chrome Remote Debugging (9222)
(点击完成)在Windows主机上运行Chrome:
chrome.exe --remote-debugging-port=9222
在Windows主机上设置端口转发:
打开cmd
窗口。您必须&#34;以管理员身份运行&#34;。
在cmd窗口中输入以下内容:
netsh
interface
portproxy
add v4tov4 listenport=9222 connectaddress=127.0.0.1
在客户端上,导航至http://THE_HOST_IP_ADDRESS:9222
,您将看到一个&#34; Inspectable Pages&#34;的列表。
答案 4 :(得分:6)
启动无头服务器
chrome.exe --remote-debugging-port=9222
在Windows上设置端口转发
netsh interface portproxy add v4tov4^
listenport=9222 listenaddress=0.0.0.0^
connectaddress=127.0.0.1 connectport=9222
答案 5 :(得分:4)
最近的Chrome版本支持命令行开关“--remote-debugging-address”,因此不再需要上面列出的解决方法。
这里的描述: “使用给定的地址而不是默认的环回来接受远程调试连接。应该与--remote-debugging-port一起使用。注意,远程调试协议不执行任何认证,因此暴露它太广泛可能会带来安全风险。“
答案 6 :(得分:0)
您可以使用netcat创建简单的TCP代理:
EXTERNAL_PORT=1338
CHROME_DEBUG_PORT=1337 # This is the port specified with --remote-debugging-port
nc -l -p ${EXTERNAL_PORT} -c "nc 127.0.0.1 ${CHROME_DEBUG_PORT}"