"내 IP를 스푸핑해 줘"는 흔히 "웹사이트가 다른 주소를 보게 해 줘"라는 뜻으로 가볍게 쓰입니다. 포워드 프록시는 첫 번째를 하지 않고 두 번째를 할 수 있습니다.

일반적인 명시적 프록시 구성에서 컴퓨터는 실제 네트워크 경로를 사용해 프록시에 연결합니다. 프록시는 목적지로 또 다른 연결을 엽니다. 목적지는 그 연결을 프록시의 아웃바운드 주소 또는 그 앞의 NAT 장치로부터 받습니다.

Your application -- connection A -- proxy -- connection B -- website

연결 A와 연결 B는 주소 라벨을 덧칠한 하나의 TCP 연결이 아닙니다. 각자 고유한 전송 상태를 가집니다. 프록시는 동일한 애플리케이션 바이트를 중계할 수 있지만 주변 TCP 세그먼트, 확인 응답 타이밍, 패킷 경계는 다릅니다.

반환 트래픽이 여전히 작동하는 이유

웹사이트는 연결 B로 응답합니다. 프록시는 그 응답을 받아 관련 데이터를 연결 A로 되돌려 보냅니다. 두 구간 모두 자신이 사용하는 주소에서 트래픽을 받을 수 있는 참여자가 있습니다.

패킷의 출발지 주소를 위조하는 것은 다른 작업입니다. 수신자가 응답을 어디로 보낼지가 바뀝니다. 일반적인 TCP 연결 설정은 핸드셰이크 응답을 받는 데 의존합니다. 남의 주소를 나가는 패킷에 적는 것만으로는 그 주소에서 쓸 수 있는 웹 세션이 생기지 않습니다. TCP 명세가 그 연결 설정을 정의합니다.

보이는 주소 하나가 신원의 전부는 아니다

웹사이트는 여전히 계정 자격 증명, 쿠키, 전달 정보를 받을 수 있습니다. 프록시는 여전히 클라이언트의 연결을 받습니다. 이런 사실이 작업을 출발지 주소 스푸핑으로 만들지는 않습니다. 목적지가 관찰하는 네트워크 상대를 바꾸는 것이 전체 상호작용을 익명으로 만드는 것보다 좁다는 점을 설명합니다.

문제 해결을 위해 어떤 연결과 어떤 관찰자가 주소를 만들었는지 물으십시오. "내 IP가 바뀌었다"는 어디서 관찰되었는지 확인한 뒤에만 유용합니다.

관련 글