Google chrome Chrome远程调试不';我不能和IP一起工作
我正在尝试使用chrome中的远程调试选项远程调试chrome实例:Google chrome Chrome远程调试不';我不能和IP一起工作,google-chrome,remote-debugging,google-chrome-devtools,Google Chrome,Remote Debugging,Google Chrome Devtools,我正在尝试使用chrome中的远程调试选项远程调试chrome实例: chrome.exe --remote-debugging-port=1337 如谷歌页面所述: 问题是,当我尝试使用IP访问它时,它不起作用,而使用localhost:1337测试它却起作用 有什么想法吗?我认为Chrome不接受本地主机之外的连接(出于安全原因)。 我建议您必须在Chrome所在的主机上构建小型代理。您可以设置一个SSH隧道,以便远程调试。在源计算机上执行: ssh -L 0.0.0.0:9223:loc
chrome.exe --remote-debugging-port=1337
如谷歌页面所述:
问题是,当我尝试使用IP访问它时,它不起作用,而使用localhost:1337测试它却起作用
有什么想法吗?我认为Chrome不接受本地主机之外的连接(出于安全原因)。
我建议您必须在Chrome所在的主机上构建小型代理。您可以设置一个SSH隧道,以便远程调试。在源计算机上执行:
ssh -L 0.0.0.0:9223:localhost:9222 localhost -N
然后在另一台机器上,通过Chrome浏览器访问:9223与另一台计算机共享调试会话的最简单方法是使用。 例如,如果已使用在端口1337上启用远程调试协议
chromium --remote-debugging-port=1337
然后,您可以使用socat创建一个隧道
socat tcp-listen:5656,fork tcp:localhost:1337
完成此操作后,任何人都可以访问http://:5656/并立即使用调试器
完成后,按Ctrl+C终止socat,从而停止隧道。如果前面的代码不起作用,请检查防火墙(例如,
iptables
)是否阻止访问。如果防火墙正常,请检查IP地址或主机名是否正确。要查看流量是否正确转发/隧道,请访问http://localhost:5656/
并验证是否有Webkit调试器实例正在运行
chrome.exe --remote-debugging-port=9222
netsh interface portproxy add v4tov4^
listenport=9222 listenaddress=0.0.0.0^
connectaddress=127.0.0.1 connectport=9222
在Windows8上运行Chrome远程调试主机时,以下内容对我起到了作用
- 搜索“Windows防火墙”并选择“Windows防火墙”结果
- 在“Windows防火墙”控制面板窗口的左侧,单击“高级设置”。这将打开“具有高级安全性的Windows防火墙”
- 在左侧的树状图中,单击“入站规则”
- 在最右侧,单击“新建规则…”
- 选择“端口”(单击下一步)
- 选择TCP并将“特定本地端口”设置为
(单击下一步)9222
- 选择“允许连接”(单击下一步)
- 选择配置文件访问(域、私有、公共)以满足您的需要(单击下一步)
- 给它起一个类似于Chrome远程调试(9222)(单击Finish)的名字
chrome.exe --remote-debugging-port=9222
在Windows主机上设置端口转发:
chrome.exe --remote-debugging-port=9222
打开一个cmd
窗口。您必须“以管理员身份运行”
在cmd窗口中输入以下内容:
netsh
interface
portproxy
add v4tov4 listenport=9222 connectaddress=127.0.0.1
在客户端上,导航到
http://THE_HOST_IP_ADDRESS:9222
您应该会看到一个“可检查页面”列表。最近的Chrome版本支持命令行开关--“远程调试地址”,因此不再需要上面列出的解决方法
以下是描述:
“使用给定的地址而不是默认的环回来接受远程调试连接。应与--remote debugging port一起使用。请注意,远程调试协议不执行任何身份验证,因此将其暴露得太广可能会带来安全风险。”您可以使用netcat创建简单的TCP代理:
外部_端口=1338
CHROME_DEBUG_PORT=1337#这是用--remote DEBUG PORT指定的端口
nc-l-p${EXTERNAL_PORT}-c“nc 127.0.0.1${CHROME_DEBUG_PORT}”
windows上的端口是否打开?否则,您必须为该端口添加windows防火墙规则!因为它们是为移动设备创建的,您可以从桌面而不是智能电话调试这些设备,所以建议使用什么资源来创建代理?我想在大多数情况下,这是一件非常麻烦的事情,但在过去的几个月里,我已经想了好几次了。对不起,克里斯,我这里没有推荐信。我从头开始为自己编写Java,您可能也可以。我知道一些风格的“nc”(netcat)实用程序已经支持代理(而不是openbsd)。我可以推荐Charles Web调试代理。已解决:有关Windows上的完整解决方案,请参阅我的答案,无需安装任何第三方软件。谢谢!那个对我来说很好。我从来没有使用过netcat。谢谢,这正是我所需要的,第二次(在8月15日引用),让两个GNU/Linux框聊天进行远程调试。你也可以使用-R
标志进行远程端口转发。它在最新版本中不起作用。Chrome正在返回空响应。在Windows上,这与向Windows防火墙添加入站规则配合使用效果良好,无需安装任何额外的端口转发UTIL。有关完整说明,请参阅我的答案…请注意,cmd.exe的是(^
)(正如我在上面添加的那样),而PowerShell的是backtick(`
)。如果您尝试此操作,Chome会给出一个错误:主机头已指定,而不是IP地址或本地主机。
您知道如何使用此选项吗?我尝试了各种各样的方法,但我无法远程访问调试工具。是否要求远程客户端IP?或者它是在要求一个DNS名称来解析我的机器?@Sean256你明白了吗?不管我用什么咒语,我都做不到。@MarcusStade我没有。此后,我求助于创建ssh隧道。它一定坏了。我正在Docker容器下运行Chrome,并将--remote debugging address=0.0.0.0添加到命令行,允许我从外部连接。测试的简单方法是检查版本页:说明这仅在无头模式下有效。当尝试使用除localhost
之外的其他主机名访问主机时,我得到的主机头被指定,并且不是IP地址或localhost