스타트업/프로그래밍
[프로그래밍] TCP proxy
mezzanineX
2020. 9. 2. 16:48
*TCP proxy
- 클라이언트의 이름으로 행동하거나, 원래의 타겟에 도착하기 전 데이터에 무언가 작업을 하기 위해 의도된 중간 서버
*class TheServer().on_accept()
- 이 method는 원래의 타겟의 새로운 연결을 생성 (proxy → 원격 서버)
- 그리고 나서 클라이언트 연결을 받는다. (클라이언트 → proxy)
- 소켓들은 input_list에 저장
- main_loop에 의해 핸들링됨
- 'channel' 디렉터리에는 목적지쌍이 저장됨 (client ↔ server)
*class TheServer().recv()
- 이 method는 오리지널 목적지에서 받은 데이터를 포워딩하고 진행 (client ← proxy → server)
*class TheServer().on_close()
- 프록시와 오리지널 서버, 클라이언트와 프록시 사이의 소켓 연결을 제거
반응형