Proxy?
PC1(3.3.3.3) -> Service(5.5.5.5)
PC에서 Service로 바로 연결되는게 보편적이지만,
PC1이 PC2를 Proxy로 설정하면 PC1의 요청을 PC2가 받아서 Service로 대신 넘겨준다. Referr도 PC2임
그리고 PC1에서의 모든 통신 내용을 Proxy Server에서 확인할 수 있음
PC1(3.3.3.3) -> PC2(9.9.9.9) -> Service(5.5.5.5)
-----Proxy로 설정된 PC2의 내부 상황-----
Proxy 역할을 하는 Process는 Socket1(S1),과 Socket2(S2)를 생성한다.
S1이 Listen이면 S2는 S1에서 받아온 정보를 아무 가공도 거치지 않은 상태로 연결 되어 있는 Service로 넘겨준다.
User mode에서는 Application Proxy라고 부르며 Socket 통신을 하고 그 단위는 Stream이다.
Inline 구조와 Out of Path 구조는 Kernel 단에서 통신이 이루어지며 그 단위는 Packet이다.
다루는 데이터가 다름(계층이 다름)
Proxy 활용: 분석
Web 통신 시 HTTP를 쓰면 Wireshark를 써도 내가 Service와 어떤 통신을 하는지 확인할 수 있지만,
HTTPS를 쓰면 암호화가 되기 때문에 Wireshark를 써도 쉽게 확인할 수 없음(SSL Key로 복호화하는 등 복잡)
HTTP 통신은 7계층에서 이루어짐 -> Stream 형식으로 전송되는데 굳이 Wireshark(Packet 수준에서 확인)를 사용하는게 적절할까? 라는 생각을 하게 된다.
이때 사용하는게 Application Proxy다. -> Socket 수준에서 SSL 암호화 처리되기 전에 뜯어보는 것임
암호화를 Proxy Server에서 진행함, Proxy Server로 오는 것은 다 평문이고 Stream 형식으로 오기 때문에 Packet을 조립할 필요도 없으니 편리하다.
Proxy Tool : Buresuite, Fiddler
'네트워크' 카테고리의 다른 글
TCP/IP socket (0) | 2022.06.13 |
---|---|
TCP/IP 송/수신 원리 (0) | 2022.06.11 |
통신 방식(유니, 멀티, 브로드, 애니) (0) | 2022.02.15 |
상위 프로토콜 지시자 (0) | 2022.02.10 |
CapTipper를 이용한 pcap파일 분석 (0) | 2021.09.16 |
댓글