Chrome远程调试不适用于IP

Ami*_*mir 22 google-chrome remote-debugging google-chrome-devtools

我正在尝试使用chrome中的远程调试选项远程调试chrome实例:

chrome.exe --remote-debugging-port=1337
Run Code Online (Sandbox Code Playgroud)

如谷歌网页所述:http://code.google.com/chrome/devtools/docs/remote-debugging.html

问题是当我尝试使用IP访问它时它不起作用,而使用localhost测试它:1337确实有效.

任何的想法?

Ada*_* V. 26

您可以设置SSH隧道以便远程调试.在源机器上执行:

ssh -L 0.0.0.0:9223:localhost:9222 localhost -N 
Run Code Online (Sandbox Code Playgroud)

然后在另一台机器上将Chrome浏览器指向http:// source-machine-ip:9223


bee*_*her 17

我认为Chrome不接受来自localhost外部的连接(出于安全原因).我建议您必须在Chrome所在的同一主机上构建小型代理.


Rob*_*b W 14

与另一台计算机共享调试会话的最简单方法是使用socat.例如,如果您使用端口1337启用了远程调试协议

chromium --remote-debugging-port=1337
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用socat创建隧道,

socat tcp-listen:5656,fork tcp:localhost:1337
Run Code Online (Sandbox Code Playgroud)

完成此操作后,任何人都可以访问http://<YOUR_IP_OR_HOSTNAME>:5656/并立即使用调试器.

完成后,按Ctrl+ C键终止socat,从而停止隧道.
如果先前的代码不起作用,请检查防火墙(例如iptables)是否阻止访问.如果防火墙正常,请检查IP地址或主机名是否确实正确.要查看流量是否正确转发/隧道,请访问http://localhost:5656/并验证是否正在运行Webkit调试器实例.


Phi*_*ley 13

在Windows 8上运行Chrome远程调试主机时,以下内容对我有用.

  1. 将入站规则添加到Windows防火墙
    • 搜索"Windows防火墙"并选择"Windows防火墙"结果
    • 在"Windows防火墙"控制面板窗口的左侧,单击"高级设置".这将打开"具有高级安全性的Windows防火墙".
    • 在左侧的树视图中,单击"入站规则"
    • 在最右侧,单击"新规则..."
    • 选择"端口"(单击下一步)
    • 选择TCP并将"特定本地端口"设置为9222(单击下一步)
    • 选择"允许连接"(单击"下一步")
    • 选择配置文件访问权限(域名,私人,公共)以满足您的需求(单击下一步)
    • 给它一个名字Chrome Remote Debugging (9222)(点击完成)
  2. 按照user3445047关于端口转发的说明:

在Windows主机上运行Chrome:

chrome.exe --remote-debugging-port=9222
Run Code Online (Sandbox Code Playgroud)

在Windows主机上设置端口转发:

打开cmd一扇窗户.您必须"以管理员身份运行".

在cmd窗口中输入以下内容:

netsh
interface
portproxy
add v4tov4 listenport=9222 connectaddress=127.0.0.1
Run Code Online (Sandbox Code Playgroud)

在客户端上,导航到http://THE_HOST_IP_ADDRESS:9222,您应该看到"Inspectable Pages"列表.


小智 7

  1. 启动无头服务器

    chrome.exe --remote-debugging-port=9222
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在Windows上设置端口转发

    netsh interface portproxy add v4tov4^
        listenport=9222 listenaddress=0.0.0.0^
        connectaddress=127.0.0.1 connectport=9222 
    
    Run Code Online (Sandbox Code Playgroud)


Mic*_*her 6

最新的Chrome版本支持命令行开关“ --remote-debugging-address”,因此不再需要上面列出的解决方法。

此处的说明:“ 使用给定地址代替默认的环回来接受远程调试连接。应与--remote-debugging-port一起使用。请注意,远程调试协议不会执行任何身份验证,因此露出它太广泛可能存在安全风险。

  • @MarcusStade我还没有。此后,我求助于创建ssh隧道。它必须被打破。 (2认同)
  • 我在 Docker 容器下运行 Chrome 并将 --remote-debugging-address=0.0.0.0 添加到命令行允许我从外部连接。简单的测试方法是检查版本页面:http://localhost:9222/json/version (2认同)