有什么方法可以检测特定浏览器扩展是否正在与服务器通信?

Is there any way of detecting if a particular browser extension is communicating with a server?

有时,当我们在 Chrome 或 Firefox 上安装浏览器扩展时,我们会看到许多关于这些扩展正在使用的不同权限的警告...我知道我可以通过不同的方式监控计算机上发生的所有流量喜欢:

  1. 正在安装一个类似 iftop 的命令行工具,它可以监控我计算机上的流量(在 Linux 上)
  2. 安装类似 Wireshark 的工具并监控我计算机上发生的流量
  3. 打开 Console
  4. 时检查浏览器 Network 功能

但是,所有这些选项都将监控我的计算机或浏览器的全部流量...我想监控浏览器扩展的流量以查看它是否正在与服务器通信。但是很难区分特定流量是来自 Web 扩展还是没有使用我提到的工具... 有没有办法只检测我使用的 Web 扩展的流量选了吗?我的第一个猜测是我可以在浏览器控制台上使用的命令来监视扩展...有这样的东西吗?


当浏览器扩展程序请求大量权限时,我发现了很多信任问题。我认为如果我可以在白天监视特定的网络扩展流量并检查它是否正在与服务器通信,那么处理这个问题会容易得多......假设有一个网络扩展要求以下权限:

    Access your data for all websites
    Read and modify bookmarks
    Get data from the clipboard
    Input data to the clipboard
    Access browsing history
    Display notifications to you
    Access recently closed tabs
    Access browser tabs
    Access browser activity during navigation

我可能是错的...但是如果我完全确定此扩展程序未与网络上的任何外部服务器通信,我没有发现询问所有这些权限的扩展程序有任何重大问题。因此,监控单个分机流量的方法将非常有用...

Google Chrome 扩展使用 2 种类型的文件。一种类型在浏览器中的工作方式与普通 JavaScript 一样。此文件 activity 的记录方式与网站 activity 在浏览器中的记录方式相同。按F12就可以跟踪了。然后是后台文件,这些文件也会被记录下来。右键单击有问题的扩展,然后单击管理扩展,然后单击背景页面。这看起来就像您在浏览器中按 F12 一样,但是这个记录了扩展程序在后台执行的所有操作。在您的情况下,只需查看网络选项卡即可。

确定这一点的另一种方法是下载扩展源。我为 Chrome 执行此操作的方法是安装 chrome extension source viewer,现在您可以深入了解源代码以查看某些调用的位置。