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

问题描述

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

  1. 安装这样的命令行工具iftop可以监控我电脑上的流量(在 Linux 上)
  2. 安装一个工具,比如Wireshark并监控我电脑上发生的流量
  3. Network当我们打开它时检查浏览器功能Console

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


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

    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

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

标签: securitygoogle-chrome-extensionfirefox-addon

解决方案


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

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


推荐阅读