![다른 프로토콜을 사용하면 로컬/원격 및 동적 전달의 대상이 달라집니까?](https://linux55.com/image/147621/%EB%8B%A4%EB%A5%B8%20%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%A9%B4%20%EB%A1%9C%EC%BB%AC%2F%EC%9B%90%EA%B2%A9%20%EB%B0%8F%20%EB%8F%99%EC%A0%81%20%EC%A0%84%EB%8B%AC%EC%9D%98%20%EB%8C%80%EC%83%81%EC%9D%B4%20%EB%8B%AC%EB%9D%BC%EC%A7%91%EB%8B%88%EA%B9%8C%3F.png)
SSH를 사용한 동적 포트 전달은 요청이 어디로 가는지 알고 그곳으로 보냅니다.이는 SOCKS 프로토콜을 사용하기 때문이라고 합니다.
SSH의 로컬 및 원격 포트 전달을 사용하여 요청이 직접 이동하도록 지시하는 곳이 아닌 고정된 대상으로 요청을 전달합니다.
위의 동적 포트 전달과 로컬/원격 포트 전달의 차이점은 로컬 및 원격 포트 전달이 낮은 수준의 프로토콜에서 작동하고 요청이 어디로 가는지 알 수 없거나 로컬 및 원격 포트 전달이 작동하기 때문입니다. 가고 싶은 곳을 요청하지만 따르지 않습니까?
예를 들어 다음과 같은 상황에 대해 논의할 수 있습니다. HTTP 클라이언트는 동적 또는 로컬/원격 포트 전달에 사용되는 SSH에 HTTP 요청을 보냅니다.
감사해요.
답변1
차이점은 고객이 자신이 대화하고 있다고 생각하는 사람이 누구인지입니다. HTTP를 예로 들어 보겠습니다.
SSH 정적(로컬 및 원격) 포트 전달은 이를 사용하는 애플리케이션에 투명합니다. HTTP를 사용하면 애플리케이션(브라우저)이 포트 전달을 통해 통신하고 있다는 사실을 알 수 없습니다. 로컬 전달의 경우생각하다그것은 말하고있다곧장클라이언트에서 실행 중인 웹 서버("localhost") SSH는 모든 트래픽을 실제 웹 서버로 전달하여 웹 서버를 위조합니다.
SSH 동적 포트 전달은 불투명합니다. 애플리케이션(브라우저)은 웹 서버 대신 "SOCKS 프록시 서버"와 통신하고 있다고 생각합니다. 애플리케이션은 SOCKS 프록시 서버를 사용하여 웹 서버에 대한 연결을 요청합니다. 그런 다음 양말 프록시를 통해 (SSH 서버나 클라이언트가 아닌) 웹 서버와 통신하고 있다고 생각합니다.
그런데 서버에 SOCKS 프록시를 다운로드하여 설치하고 여기에 전달되는 로컬 포트를 생성하면 결과는 동적 전달과 동일합니다.