내 컴퓨터에서 이루어진 모든 http 요청에 대한 사용자 에이전트를 변경하기 위해 Squid 차단 프록시를 어떻게 사용합니까?

내 컴퓨터에서 이루어진 모든 http 요청에 대한 사용자 에이전트를 변경하기 위해 Squid 차단 프록시를 어떻게 사용합니까?

사용자 에이전트를 변경하고 싶습니다.모두이 시스템에서 이루어진 HTTP 요청입니다. 각 브라우저에서 사용자 에이전트를 변경하는 것은 쉽지만 다른 애플리케이션도 http 요청을 합니다. 모두 잡는 것이 중요합니다. 특히, 사용자 에이전트를 변경할 수 있는 옵션이 없는 애플리케이션(Steam)이 하나 있습니다.

따라서 내 컴퓨터에서 이루어진 모든 http 요청에 대해 사용자 에이전트를 변경하기 위해 차단 프록시를 실행하고 싶습니다.

나는 이것을 썼다squid.conf

# Squid normally listens to port 3128
http_port 3128
http_port 3127 intercept

# i don't care for caching. -Matt
cache deny all

request_header_access User-Agent deny ALL

브라우저에서 이를 가리키면 작동합니다. 하지만 Squid가 내 컴퓨터의 모든 http 요청을 가로채도록 하려면 어떻게 해야 할까요? 나는 그것이 물건을 포착하도록 만드는 방법을 이해하지 못합니다. iptables? 방화벽?

답변1

nginx를 투명 프록시로 설치합니다. 다음은 사용자 에이전트를 변경하는 방법을 보여주는 샘플 구성 섹션입니다.

http {
    server {
        location / {
            proxy_pass              http://$host$request_uri;
            proxy_set_header        "User-Agent" "custom agent";
            proxy_connect_timeout   60;
            proxy_send_timeout      60;
            proxy_read_timeout      60;
        }
    }
}

문서를 확인해주세요프록시 설정 헤더더 알아보기.

답변2

요청 헤더를 동적으로 다시 작성하려면 투명 프록시를 설정하세요.

답변3

squid3에 대한 투명 프록시 작성..

http_port 3127  transparent

80에서 포트 3127로 트래픽을 강제합니다.

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination Server.ip.Address : 3127

이 경로가 포트 80을 닫거나 차단하도록 하려면
LAN 네트워크의 모든 트래픽이 포트 80에 액세스할 수 없습니다.

iptables -A INPUT -i eth0 -p tcp --dport 80 -j DROP

답변4

"를 수행하려면 대리인이 필요합니다.투명한"또는 더 정확하게는 "가로채기" 모드입니다. 가로채기는 다른 도구(일반적으로 방화벽)를 사용하여 다양한 OSI 수준에서 수행됩니다. 위의 링크는 꽤 많은 세부 정보를 공유하므로 주저하지 마십시오.

관련 정보