pf를 사용하여 HTTP 헤더와 콘텐츠를 수정할 수 있나요?

pf를 사용하여 HTTP 헤더와 콘텐츠를 수정할 수 있나요?

콘텐츠 필터링 및 콘텐츠 수정을 위한 더 많은 옵션을 제공하는 라우터의 대안을 찾고 있습니다.

내가 하고 싶은 한 가지는 특정 헤더나 본문 콘텐츠를 추가하거나 제거하는 등 HTTP 요청을 수정하는 것입니다(예: 에 대한 참조 제거 ga.js). 또한 twitter.com/widgets기본 웹 사이트를 차단하지 않고 차단하는 등 도메인의 특정 하위 경로에 대한 액세스를 차단하고 싶습니다 twitter.com(이 경우 0.0.0.0을 반환하는 사용자 지정 DNS가 작업을 수행합니다).

OpenBSD의 PF가 이 작업을 수행할 수 있는지, 아니면 너무 낮은 수준인지, 프록시와 같은 더 높은 수준의 도구가 필요한지 궁금합니다. 프록시 사용의 문제점은 클라이언트에게 투명하지 않기 때문에 휴대폰을 보호하는 데 도움이 되지 않는다는 것입니다(예: 휴대폰이 Wi-Fi에 연결되어 있는 경우).

답변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 프록시의 웹 필터링.

관련 정보