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. 更改参数 network.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.启用true
  7. 使用以下命令检查设置是否正确 Cloudflare 服务

尽管此方法比较复杂,但它不需要用户具有管理员权限,并且还有许多其他方法来保护 DNS 请求,本文中未介绍。

选项 3(适用于移动设备):

使用 Cloudflare 应用程序 Android и IOS.

测试

为了检查是否无法访问资源,暂时购买了一个在俄罗斯联邦被屏蔽的域名:

结论

我希望本文对您有所帮助,不仅会鼓励管理员更详细地了解该主题,而且还会让您了解 资源永远在用户一边,寻找新的解决方案应该是他们不可或缺的一部分。

有用的链接

文章外添加Cloudflare 测试无法在 Tele2 运营商网络上完成,并且正确配置的 DPI 会阻止对测试站点的访问。
PS 到目前为止,这是第一个正确阻止资源的提供程序。

来源: habr.com

添加评论