附录(基于Chrome DevTools网络面板的Web调试代理)

本文概述

  • 什么是Betwixt?
  • 如何使用它?
  • 在技??术上是如何制造的?
  • 一些典型的问题
  • 为项目做贡献
喜欢Google Chrome的开发人员工具吗?想象一下, 在操作系统中拦截在后台执行某些请求的每个应用程序的所有流量。这是完全可行的, 这一切都要归功于Betwixt。这种基于电子的桌面应用程序为你提供了一个有用的” 网络面板” , 可以跟踪第三方应用程序执行的所有那些请求。使用Betwixt, 你将能够拦截协议HTTP和HTTPS请求。
什么是Betwixt? Betwixt是一个很棒且有用的工具, 它将使用广为人知且熟悉(至少对于Chrome开发人员而言)的Chrome DevTools界面, 帮助你分析浏览器(操作系统中的其他应用)之外的网络流量。简而言之, 它可以用作基于Chrome DevTools网络面板的Web调试代理工具。
如何使用它? 【附录(基于Chrome DevTools网络面板的Web调试代理)】你可以从此处的官方存储库中的releases文件夹下载适用于操作系统(Windows, MacOS, Linux)的Betwixt版本。提取下载的内容并启动应用程序。只要你知道如何正确配置Betwixt以使其也能与HTTPS一起使用, 当我们说你的整个网络时, 我们就是真的。例如, 在下图中, 我们使用Betwixt轻松拦截了来自桌面应用程序Spotify的数据:
附录(基于Chrome DevTools网络面板的Web调试代理)

文章图片
要使用Betwixt捕获流量, 你必须将其定向到在后台创建的代理(http:// localhost:8008)。你可以通过配置代理来继续分析整个交通系统, 该过程在每个操作系统上都不同, 但是可以很容易地遵循:
附录(基于Chrome DevTools网络面板的Web调试代理)

文章图片
  • 在OS X上-系统偏好设置→网络→高级→代理→Web代理(HTTP)
  • 在Windows上-设置→网络和Internet→代理
  • 在Ubuntu上-所有设置→网络→网络代理
你的操作系统的代理需要将本地主机地址和端口8008作为目标, 配置不正确的代理将导致无法访问的Web。如前所述, Betwixt在后台创建一个代理来处理信息, 并将其显示在图形界面(Dev Tools)中, 然后再次转发信息, 因此你将能够在应用程序中再次访问Web。
在技??术上是如何制造的? 该应用程序本身与Electron Framework一起运行, 该框架使你可以使用JavaScript, HTML和CSS构建跨平台的桌面应用程序。但是, 没有HTML UI, 而是Chrome的本机开发工具。在JavaScript中, Betwixt使用node-http-mitm-proxy模块, 该用node.js编写的代理模块支持捕获和修改请求和响应数据。
一些典型的问题 如果在实施和安装Betwixt的ca.pem证书之后像下一个一样遇到异常:
PROXY_TO_SERVER_REQUEST_ERROR:错误:无法验证第一个证书
这是由于Node.js的CA证书的硬编码列表所致, 因此它不适用于Keychain / certmgr / etc。你可能需要将NODE_TLS_REJECT_UNAUTHORIZED更改为0:
REM In MacOSexport NODE_TLS_REJECT_UNAUTHORIZED=0REM In Windowsset NODE_TLS_REJECT_UNAUTHORIZED=0

这将解决你的问题, 并将忽略无效的证书。
为项目做贡献 该项目是MIT许可下的开源项目, 你可以根据需要为该项目做出贡献, 因此请在Github上访问其官方存储库。

    推荐阅读