pf 可以用来修改 HTTP 标头和内容吗?

pf 可以用来修改 HTTP 标头和内容吗?

我正在寻找替代路由器的选项,为我提供更多内容过滤和内容修改选项。

我想做的一件事是修改 HTTP 请求,例如添加或删除某些标头或正文的内容(例如,删除对 的任何引用ga.js)。另外,我想阻止对域的某些子路径的访问,例如阻止twitter.com/widgets而不阻止主twitter.com网站(在这种情况下,返回 0.0.0.0 的自定义 DNS 可以完成这项工作)

我想知道 OpenBSD 上的 PF 是否可以做到这一点,或者它的级别是否太低,以及我是否需要像代理这样的更高级别的工具。使用代理的问题在于它对客户端来说不透明,因此无助于保护我的手机(例如,当我的手机在我的 WiFi 上时)。

答案1

PF还是不PF?

我认为pf不适合过滤诸如 之类的高级元素ga.js。相反,它在其之下运行一两层。过滤ga.js更适合代理包(例如 Squid)。

摘自PF:数据包过滤

数据包过滤是在数据包通过网络接口时选择性地通过或阻止数据包。 pf(4) 在检查数据包时使用的标准基于第 3 层(IPv4 和 IPv6)和第 4 层(TCP、UDP、ICMP 和 ICMPv6)标头。最常用的标准是源和目标地址、源和目标端口以及协议。

如果您熟悉 OSI 模型和 TCP/IP,此图显示了 PF 将在哪些层中工作以及您的ga.js文件可以在哪一层进行过滤。

                                              SS #1

所以PF可以在运输&互联网层。要操作某些东西,例如ga.js您需要在应用层,因此是代理。

鱿鱼设置

本教程应该帮助您开始设置和配置 Squid,标题为:Squid 代理上的网页过滤

相关内容