eBlocker 如何自动拦截网络流量?

eBlocker 如何自动拦截网络流量?

eBlocker(http://www.eblocker.com) 是在 Raspberry Pi 和类似架构(Banana Pi 等)上运行的软件,目的是阻止不需要的网络跟踪器和广告。

令我惊讶的是,Pi 只需要连接到消费路由器上的标准以太网端口(而不是监控端口或类似端口),之后(几分钟内)它就会拦截网络上任何设备上的所有 HTTP(非 HTTPS)流量,无论是有线连接还是无线连接。

无需在客户端设备或路由器上将设备设置为网关,也不需要进行任何网络更改 - 它只是在所有设备上默默地自动进行配置,无论它们运行的​​是 Windows、OS X、iOS、Android、Linux 还是自定义微控制器网络堆栈。

我已经联系了该设备的制造商,但可以理解的是,他们希望保守这个秘密。

我尝试进行一些研究并怀疑可能涉及 UPnP 或 ZeroConf,但我对这些技术了解甚少,无法做出确切的评估。

所以我的两个相关问题是:

eBlocker 如何实现这一点?(我很乐意进行任何必要的调查,以得出确切的答案。)令人担忧的是,某些人无法访问网络上的机器(即没有密码、无法访问 BIOS 等),但只能物理访问路由器,因此可以安装一个可以捕获所有网络流量的设备。消费者路由器(运行 OpenWrt)上的哪些方法可以防御这种情况?

更新:这里是 eB​​locker 的安装说明,以防有助于识别方法。

  1. 将 Raspberry Pi/Banana Pi 的以太网端口连接到您的互联网路由器或交换机的空闲以太网端口。
  2. 将微型 USB 线连接到 Raspberry Pi/Banana Pi,并将其连接到电源适配器。
  3. 等待 5 分钟,直到 Raspberry Pi/Banana Pi 完成启动并自行配置。
  4. 使用 HTTP(而非 HTTPS)访问随机网站。屏幕右上角将显示 eBlocker 图标。它表明 eBlocker 处于活动状态并且您受到保护。单击图标后,eBlocker 控制栏将打开并允许进一步配置

自动配置

如果自动网络配置在您的网络环境中不起作用,我们建议使用 eBlocker Network-Wizard 进行手动配置...

自动配置只在同一网段内起作用

自动配置仅识别同一网段的网络设备(例如:192.168.1.X 和 192.168.2.X 不在同一网段)。当您操作两个不同的网段,并且两者都需要使用 eBlocker 时,请手动将 eBlocker 配置为互联网访问的网关。在 eBlocker 中,请将您原来的互联网网关设置为“网关”。

不带 DHCP 的 IPv6 网络和 IPv4 网络

目前尚不支持仅使用新 IPv6 协议的家庭网络。在没有 DHCP 服务器的 IPv4 网络中,需要手动将 eBlocker 配置为网关。为此,请使用 IP 地址连接到您的 eBlockerhttp://169.254.94.109:3000/。您的互联网客户端必须位于同一网段,169.254.94.0/24。

答案1

我猜它使用ARP 缓存中毒将发送到默认网关的所有数据包重新路由到自身。作为中间人,它可以检查 http 流量并转发或丢弃它。它还可以将 html 对象插入到局域网主机和互联网网站之间的 http(但不是 https)对话中。

答案2

首先,eblocker 查找子网中所有活动 IP 站的 MAC 地址。然后,它向每个站发送几个 ARP 响应帧,告知默认网关的 MAC 地址是 eblocker 的 MAC 地址。

这将改变所有子网节点中的 arp 缓存。

wireshark 等工具发出警告:在不同的 MAC 地址上检测到重复的 IP 地址

相关内容