
WOTOP은 표준 HTTP 채널을 통해 모든 종류의 트래픽을 터널링하기 위한 도구입니다.
표준 HTTP(S) 트래픽을 제외한 모든 트래픽을 필터링하는 프록시가 있는 시나리오에 유용합니다. 초기 CONNECT 요청 후 임의의 트래픽을 통과시키는 프록시 뒤에 있어야 하는 다른 도구나 SSH 전용으로만 작동하는 도구와 달리, 이 도구는 그러한 제한이 없습니다.
클라이언트가 root 권한이 없는 원격 머신에 SSH를 사용하려는 상황을 가정합니다.
7개의 개체가 있습니다:
프록시가 없었다면 통신은 다음과 같을 것입니다:
클라이언트 -> 클라이언트 SSH 프로세스 -> 대상 서버 -> 대상 SSH 프로세스
이 시나리오에서 제안된 방법은 다음과 같습니다:
클라이언트 -> 클라이언트 SSH 프로세스 -> 클라이언트 WOTOP 프로세스 -> 프록시 -> 대상 WOTOP 프로세스 -> 대상 SSH 프로세스 -> 대상 서버
WOTOP은 모든 데이터를 HTTP 패킷으로 감싸고 적절히 버퍼링합니다.
더 복잡한 시나리오로는 외부 유틸리티 서버가 있고 프록시 뒤에서 다른 서버의 리소스에 접근해야 하는 경우입니다. 이 경우 wotop은 여전히 외부 서버에서 실행되지만, 두 번째 명령어(사용법 섹션)에서 localhost 대신 호스트가 있는 대상 머신의 호스트 이름을 사용합니다.
클라이언트 머신에서:
./wotop <client-hop-port> <server-host-name> <server-hop-port>
대상 머신에서:
./wotop <server-hop-port> localhost <target-port> SERVER
(끝에 키워드 SERVER를 입력해야 합니다.)
SSH의 경우 대상 포트는 22입니다. 이제 이 두 프로세스가 실행되면 SSH 접속을 위해 다음 명령어를 실행합니다:
ssh <target-machine-username>@localhost -p <client-hop-port>
참고: 키워드 SERVER는 wotop에게 연결의 어느 쪽이 HTTP 위에 있어야 하는지 알려줍니다.
Pull Request는 언제나 환영합니다! 😄