DPI 設定的特徵

本文並未涵蓋完整的 DPI 調整和所有連接在一起的內容,且文本的科學價值微乎其微。 但它描述了繞過DPI最簡單的方法,很多公司都沒有考慮到。

DPI 設定的特徵

免責聲明#1:本文具有研究性質,並不鼓勵任何人做或使用任何東西。 這個想法是基於個人經驗,任何相似之處都是隨機的。

警告二:這篇文章沒有揭示亞特蘭提斯的秘密、尋找聖杯和其他宇宙之謎;所有材料都是免費提供的,並且可能在哈布雷上被描述過不只一次。 (我沒找到,請給個鏈接,不勝感激)

對於那些已閱讀警告的人,讓我們開始吧。

什麼是DPI?

DPI 或深度資料包檢測是一種用於累積統計資料、檢查和過濾網路資料包的技術,不僅分析資料包標頭,還分析OSI 模型第二層及更高級別的流量的全部內容,使您能夠偵測並過濾網路封包。攔截病毒,過濾不符合指定條件的資訊。

DPI 連接有兩種類型,分別描述 瓦爾迪克SS 在 github 上:

被動DPI

DPI 透過被動分光器或使用源自使用者的流量鏡像並行(而不是剪切)連接到提供者網路。 在 DPI 效能不足的情況下,此連線不會降低提供者網路的速度,這就是大型供應商使用它的原因。 具有此連線類型的 DPI 在技術上只能偵測要求禁止內容的嘗試,而不能阻止它。 為了繞過此限制並阻止對被禁止網站的訪問,DPI 向請求被阻止URL 的用戶發送一個特製的HTTP 資料包,其中重定向到提供者的存根頁面,就好像此類回應是由所請求的資源本身(發送者的IP)發送的一樣。位址和 TCP 序列是偽造的)。 由於 DPI 在物理上比請求的網站更接近用戶,因此欺騙回應比來自網站的真實回應更快地到達用戶裝置。

主動DPI

主動 DPI - DPI 以通常的方式連接到提供者的網絡,就像任何其他網路設備一樣。 提供者配置路由,以便 DPI 接收從使用者發送到被封鎖的 IP 位址或網域的流量,然後 DPI 決定是允許還是阻止流量。 主動 DPI 可以檢查傳出和傳入流量,但是,如果提供者僅使用 DPI 來阻止註冊表中的站點,則通常將其配置為僅檢查傳出流量。

不僅流量阻塞的有效性,而且 DPI 上的負載也取決於連線類型,因此可以不掃描所有流量,而僅掃描某些流量:

“正常”DPI

「常規」DPI 是一種僅在該類型的最常見連接埠上過濾某種類型流量的 DPI。 例如,「常規」DPI 僅偵測並阻止連接埠80 上的禁止HTTP 流量、連接埠443 上的HTTPS 流量。如果您將帶有封鎖的URL 的請求傳送到未封鎖的IP 或非封鎖的IP,這種類型的DPI 將不會追蹤禁止的內容。標準連接埠。

“全”DPI

與「常規」DPI 不同,這種類型的 DPI 對流量進行分類,而不考慮 IP 位址和連接埠。 這樣,即使您在完全不同的連接埠和未封鎖的 IP 位址上使用代理伺服器,被封鎖的網站也不會開啟。

使用 DPI

為了不降低資料傳輸速率,您需要使用「正常」被動DPI,這可以讓您有效? 阻止任何嗎? 資源,預設配置如下:

  • 僅在連接埠 80 上進行 HTTP 過濾
  • HTTPS 僅在連接埠 443 上
  • BitTorrent 僅在連接埠 6881-6889 上

但如果 此資源將使用不同的端口,以免丟失用戶,那麼你必須檢查每個包,例如你可以給出:

  • HTTP 在連接埠 80 和 8080 上運作
  • 連接埠 443 和 8443 上的 HTTPS
  • 任何其他頻段上的 BitTorrent

因此,您必須切換到「活動」DPI 或使用額外的 DNS 伺服器進行封鎖。

使用 DNS 阻止

阻止存取資源的一種方法是使用本機 DNS 伺服器攔截 DNS 請求,並向使用者傳回「存根」IP 位址,而不是所需的資源。 但這並不能給出有保證的結果,因為可以防止地址欺騙:

選項 1:編輯主機檔案(適用於桌面)

主機檔案是任何作業系統不可或缺的一部分,它允許您始終使用它。 要存取資源,使用者必須:

  1. 找出所需資源的IP位址
  2. 開啟主機檔案進行編輯(需要管理員權限),位於:
    • Linux:/etc/hosts
    • Windows:%WinDir%System32driversetosts
  3. 新增一行,格式如下: <資源名稱>
  4. 保存更改

這種方法的優點是其複雜性和需要管理員權限。

選項 2:DoH(基於 HTTPS 的 DNS)或 DoT(基於 TLS 的 DNS)

這些方法可讓您使用加密來保護您的 DNS 請求免於欺騙,但並非所有應用程式都支援該實作。 讓我們從使用者的角度來看為 Mozilla Firefox 版本 66 設定 DoH 的難易度:

  1. 前往地址 about:config中 在火狐瀏覽器中
  2. 確認用戶承擔全部風險
  3. 更改參數值 網路.trr.模式 到:
    • 0 - 停用 TRR
    • 1 - 自動選擇
    • 2 - 預設啟用 DoH
  4. 更改參數 網絡.trr.uri 選擇 DNS 伺服器
    • 雲flare DNS: mozilla.cloudflare-dns.com/dns-query
    • Google DNS: dns.google.com/experimental
  5. 更改參數 網路.trr.boostrapAddress 到:
    • 如果選擇 Cloudflare DNS:1.1.1.1
    • 如果選擇 Google DNS:8.8.8.8
  6. 更改參數值 網路安全.esni.啟用
  7. 使用以下命令檢查設定是否正確 Cloudflare 服務

雖然此方法比較複雜,但它不需要使用者俱有管理員權限,還有許多其他方法來保護 DNS 請求,本文中未介紹。

選項 3(適用於行動裝置):

使用 Cloudflare 應用程式 Android и IOS.

測試

為了檢查是否無法存取資源,暫時購買了一個在俄羅斯聯邦被封鎖的網域:

結論

我希望本文對您有所幫助,不僅會鼓勵管理員更詳細地了解該主題,而且還會讓您了解 資源永遠在使用者這邊,尋找新的解決方案應該是他們不可或缺的一部分。

有用的鏈接

文章外添加Cloudflare 測試無法在 Tele2 營運商網路上完成,且正確配置的 DPI 會阻止對測試站點的存取。
PS 到目前為止,這是第一個正確阻止資源的提供者。

來源: www.habr.com

添加評論