電子攔截器(http://www.eblocker.com)是在 Raspberry Pi 和類似架構(Banana Pi 等)上運行的軟體,旨在阻止不需要的網路追蹤器和廣告。
令我驚訝的是,Pi 只需要連接到消費者路由器上的標準乙太網路連接埠(因此不是監控連接埠或類似連接埠),之後(幾分鐘內)它將攔截任何裝置上的所有 HTTP(不是 HTTPS)流量在網路上,無論是有線連接還是無線連接。
無需在客戶端設備或路由器上將設備設置為網關,也無需進行任何網路更改 - 它只是在所有設備上自動自動配置,無論它們運行的是 Windows、作業系統X、iOS、Android、Linux 或自訂微控制器網路堆疊。
我已經聯繫了該設備的製造商,但可以理解的是他們希望保守這個秘密。
我嘗試過一些研究,懷疑可能涉及 UPnP 或 ZeroConf,但我對這些技術了解太少,無法做出堅定的評估。
所以我的兩個相關問題是:
eBlocker 如何實現這個目標? (我很樂意進行任何需要得出結論性答案的調查。)令人擔憂的是,有人無法存取網路上的電腦(即沒有密碼,無法存取 BIOS 等),但只能使用實體設備存取路由器可以安裝一個捕獲所有網路流量的設備。消費者路由器(運行 OpenWrt)上的哪些方法可以防禦這種情況?
更新:這裡是 eBlocker 的安裝說明,以協助識別方法。
- 將 Raspberry Pi / Banana Pi 的乙太網路連接埠連接到您的網際網路路由器或交換器的空閒乙太網路連接埠。
- 將 micro-USB 線連接到 Raspberry Pi / Banana Pi 並將其連接到電源轉接器。
- 等待 5 分鐘,直到 Raspberry Pi / Banana Pi 完成啟動並自行設定。
- 使用 HTTP(而非 HTTPS)存取隨機網站。 eBlocker 圖示將顯示在螢幕的右上角。它表明 eBlocker 處於活動狀態並且您受到保護。點擊該圖標,eBlocker 控制欄將打開並允許進一步配置
自動配置
如果自動網路設定在您的網路環境中不起作用,我們建議使用 eBlocker 網路精靈進行手動設定...
自動設定僅在同一網段有效
自動設定僅辨識相同網段的網路設備(例如: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 物件插入到 LAN 主機和 Internet 網站之間的 http(但不是 https)對話中。
答案2
第一個 eblocker 會尋找子網路中所有活動 IP 站的 MAC 位址。然後,它會向每個站發送多個 ARP 回應幀,告知預設網關的 MAC 位址是 eblocker 的 MAC 位址。
這將更改所有子網路節點中的 arp 快取。
像wireshark這樣的工具會發送警告:在不同的MAC位址上偵測到重複的IP位址