🧠 개념
- SOCKS (Socket Secure) 프로토콜의 5번째 버전
- 클라이언트가 서버를 통해 인터넷 자원을 요청하게 도와주는 프록시 방식 중 하나
- 일반적으로는 익명성 보장, IP 우회, 방화벽 우회 등에 사용됨
🎯 역할 & 목적
| 역할 | 설명 |
|---|
| 프록시 기능 | 사용자의 트래픽을 중간 서버를 통해 우회함 |
| IP 주소 숨김 | 목적지 서버는 프록시 서버의 IP만 알게 됨 |
| 방화벽 우회 | 차단된 네트워크도 접근 가능하게 함 |
| 인증 기능 제공 | 사용자 인증(계정/비밀번호)을 지원 가능 |
🏗️ 구조
[Client] → SOCKS5 Proxy → [Target Server]
- 클라이언트는 직접 타겟 서버에 접근하지 않고 SOCKS5 프록시 서버를 통해 간접적으로 통신
🧩 구성 요소
| 구성 요소 | 설명 |
|---|
| Client | 요청을 보내는 사용자 |
| SOCKS5 Proxy Server | 중간에서 요청을 받아 대신 전달해주는 서버 |
| Destination Server | 실제 데이터가 있는 최종 목적지 서버 |
⚙️ 동작 원리
- 클라이언트가 SOCKS5 프록시 서버에 연결
- 인증이 필요한 경우 ID/PW 전송
- 프록시 서버가 인증 확인 후 연결 수락
- 클라이언트는 접속하고 싶은 서버 정보를 프록시 서버에 전달
- 프록시 서버가 대신 연결을 시도하고, 성공하면 데이터를 전달해줌
🧬 특징
| 항목 | 설명 |
|---|
| 포트 | 기본적으로 1080번 포트 사용 |
| 지원 프로토콜 | TCP, UDP 모두 지원 |
| 인증 | 사용자 인증 기능 있음 |
| 전송 내용 암호화 | ❌ 암호화는 안 됨 (별도로 TLS 등 사용 필요) |
⚖️ SOCKS5 vs HTTP 프록시 비교
| 항목 | SOCKS5 | HTTP Proxy |
|---|
| 프로토콜 지원 | TCP/UDP | HTTP/HTTPS |
| 용도 | 일반 트래픽, 게임, P2P | 웹 브라우징 |
| 속도 | 빠름 | 느림 (헤더 가공 등 추가 작업 많음) |
| 암호화 | 없음 | HTTPS 가능 |
| 인증 | ID/PW 지원 | 지원 (HTTP 기본 인증) |
👍 장점 & 👎 단점
| 장점 | 단점 |
|---|
| 다양한 트래픽 지원 (UDP, TCP) | 자체 암호화는 없음 |
| IP 우회 가능 | 설정이 복잡할 수 있음 |
| 인증 기능 포함 | 속도는 프록시 서버에 따라 달라짐 |
🧒 어린이 버전 요약
SOCKS5는 마치 택배를 다른 사람한테 부탁해서 보내는 것처럼,
내가 어디에서 보냈는지 모르게 중간 사람을 거쳐서 데이터를 보내주는 기술이에요.
게임이나 인터넷 할 때 누가 나를 감시하지 못하게 도와줘요.