Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mosh — 간헐적 연결, IP 로밍 및 고지연 링크를 위한 예측적 로컬 에코를 지원하는 원격 터미널 애플리케이션입니다. UDP를 통한 AES-128 암호화와 SSH 기반 인증을 사용합니다. | Kitploit
도구/GitHubGitHub/mobile-shell/mosh
General Purpose UtilitiesNetwork Security
GitHubmobile-shell/mosh

mosh

간헐적 연결, IP 로밍 및 고지연 링크를 위한 예측적 로컬 에코를 지원하는 원격 터미널 애플리케이션입니다. UDP를 통한 AES-128 암호화와 SSH 기반 인증을 사용합니다.

저장소 보기웹사이트
14.3k8525개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ci

Mosh: 모바일 셸

Mosh는 간헐적 연결을 지원하고 로밍을 허용하며 사용자 키 입력에 대한 예측적 로컬 에코 및 라인 편집을 제공하는 원격 터미널 애플리케이션입니다.

SSH의 일반적인 대화형 사용을 지원하는 것을 목표로 하며, 추가로 다음을 제공합니다:

  • Mosh는 클라이언트가 절전 모드로 전환되었다가 나중에 깨어나거나 일시적으로 인터넷 연결이 끊어져도 세션을 유지합니다.

  • Mosh는 연결을 유지하면서 클라이언트와 서버가 "로밍"하고 IP 주소를 변경할 수 있도록 합니다. SSH와 달리 Mosh는 Wi-Fi 네트워크 간 전환 또는 Wi-Fi에서 셀룰러 데이터, 유선 이더넷으로 전환하는 동안 사용할 수 있습니다.

  • Mosh 클라이언트는 백그라운드에서 서버 동작의 예측 모델을 실행하고 각 키 입력이 화면 상태에 어떤 영향을 미칠지 지능적으로 추측하려고 합니다. 예측에 자신이 있을 때는 서버의 확인을 기다리는 동안 사용자에게 해당 예측을 표시합니다. 대부분의 타이핑과 왼쪽/오른쪽 화살표 키 사용은 즉시 에코될 수 있습니다.

    결과적으로 Mosh는 예를 들어 셀룰러 데이터 연결이나 불안정한 Wi-Fi와 같은 고지연 링크에서 사용할 수 있습니다. 다른 프로토콜의 기존 로컬 에코 모드 시도와 달리 Mosh는 emacs, vi, alpine, irssi와 같은 전체 화면 애플리케이션에서 제대로 작동하며, 가끔 발생하는 예측 오류를 RTT 내에 자동으로 복구합니다. 고지연 링크에서 Mosh는 예측이 대기 중인 동안에는 밑줄을 표시하고, 서버에 의해 확인되면 밑줄을 제거합니다.

Mosh는 X 포워딩이나 포트 포워딩을 포함한 SSH의 비대화형 사용을 지원하지 않습니다.

다른 기능들

  • Mosh는 느린 링크에서 네트워크 큐를 가득 채우지 않도록 프레임 속도를 조정하므로, "Control-C"는 항상 RTT 내에 작동하여 실행 중인 프로세스를 중단시킵니다.

  • Mosh는 서버로부터 한동안 응답이 없을 때 사용자에게 경고합니다.

  • Mosh는 패킷의 상당 부분을 손실하는 손실 있는 링크를 지원합니다.

  • Mosh는 SSH 및 기존 터미널 에뮬레이터 자체보다 일부 유니코드 경계 케이스를 더 잘 처리하지만, 실행하려면 UTF-8 환경이 필요합니다.

  • Mosh는 SSH를 활용하여 연결을 설정하고 사용자를 인증합니다. Mosh에는 특권(루트) 코드가 포함되어 있지 않습니다.

Mosh 다운로드

Mosh 웹 사이트에는 다양한 운영 체제용 패키지 정보와 소스에서 빌드하는 방법이 있습니다.

참고: mosh-client는 AES 세션 키를 환경 변수로 받습니다. Mosh를 새 운영 체제로 포팅하는 경우, 실행 중인 프로세스의 환경 변수가 다른 사용자에게 읽히지 않도록 하십시오. GNU/Linux, OS X, FreeBSD에서 이 점이 확인되었습니다.

사용법

mosh-client 바이너리는 사용자 머신에, mosh-server 바이너리는 원격 호스트에 있어야 합니다.

사용자는 다음을 실행합니다:

root@kitploit:~
$ mosh [user@]host

mosh-client 또는 mosh-server 바이너리가 사용자의 $PATH 밖에 있는 경우, mosh는 --client=PATH 및 --server=PATH 인수를 받아 대체 위치를 지정할 수 있습니다. 더 많은 옵션은 mosh(1) 매뉴얼 페이지에 문서화되어 있습니다.

Mosh 웹 사이트에는 더 많은 예제와 FAQ가 있습니다.

작동 방식

mosh 프로그램은 SSH를 통해 user@host에 연결하여 연결을 설정합니다. SSH는 사용자에게 비밀번호를 요구하거나 공개키 인증을 사용하여 로그인할 수 있습니다.

이 시점부터 mosh는 서버 머신에서 (사용자 권한으로) mosh-server 프로세스를 실행합니다. 서버 프로세스는 높은 UDP 포트에서 수신 대기하고, 포트 번호와 AES-128 비밀 키를 SSH를 통해 클라이언트로 다시 보냅니다. 그런 다음 SSH 연결이 종료되고 UDP를 통해 터미널 세션이 시작됩니다.

클라이언트가 IP 주소를 변경하면 서버는 몇 초 내에 새 IP 주소로 클라이언트에 전송을 시작합니다.

작동하려면 Mosh는 클라이언트와 서버 간에 UDP 데이터그램이 전달되어야 합니다. 기본적으로 mosh는 60000에서 61000 사이의 포트 번호를 사용하지만, 사용자는 -p 옵션으로 특정 포트를 선택할 수 있습니다. -p 옵션은 SSH가 사용하는 포트에는 영향을 미치지 않습니다.

배포자를 위한 조언

컴파일러 플래그에 대한 참고: Mosh는 보안에 민감한 코드입니다. 바이너리 패키지의 자동 빌드 시 ./configure에 --enable-compile-warnings=error 옵션을 전달하는 것이 좋습니다. GNU/Linux에서 g++ 또는 clang++를 사용하는 경우 패키지는 -Werror로 깨끗하게 컴파일되어야 합니다. 그렇지 않으면 버그를 보고해 주십시오.

가능한 경우 Mosh는 -fstack-protector-all, -D_FORTIFY_SOURCE=2 등 다양한 바이너리 강화 플래그로 빌드됩니다. 이는 Mosh 또는 사용하는 라이브러리 중 하나에서 메모리 손상 버그가 발생할 가능성에 대한 사전 보안을 제공합니다. 전체 플래그 목록은 configure.ac에서 HARDEN을 검색하십시오. configure 스크립트는 컴파일러가 지원하는 플래그를 감지하여 자동으로 활성화합니다. 이 감지를 비활성화하려면 ./configure에 --disable-hardening을 전달하십시오. 기본 설정에 문제가 있으면 버그를 보고해 주십시오. 가능한 한 많은 사용자가 최대한 안전한 구성을 실행하길 바랍니다.

Mosh는 기본 최적화 설정으로 -O2를 제공합니다. 일부 배포자가 이를 -Os로 변경하는 것에 대해 문의한 적이 있습니다. 포함된 src/examples/benchmark 프로그램으로 벤치마크를 수행했습니다. 결과는 -O2가 GNU/Linux에서 g++ 4.6로 -Os보다 40% 빠르고, Mac OS X에서 clang++ 3.1로 -Os보다 16% 빠릅니다. 두 경우 모두 -Os가 더 작은 바이너리를 생성했습니다(최대 40% 작아져 디스크에서 거의 200KB 절약). Mosh는 특히 CPU 집약적이지 않고 사용자가 타이핑하지 않을 때는 대부분 유휴 상태이지만, 결과는 기본값인 -O2가 바람직함을 시사한다고 생각합니다.

Debian 및 Fedora 패키징에서는 Mosh를 단일 패키지로 제공합니다. Mosh에는 클라이언트 사용에만 필요한 Perl 종속성이 있습니다. 일부 플랫폼에서는 Perl 없이 mosh-server를 사용할 수 있도록 별도의 mosh-server 및 mosh-client 패키지를 두는 것이 합리적일 수 있습니다.

개발자를 위한 참고 사항

Mosh에 기여를 시작하려면 다음 종속성을 설치하십시오:

Debian, Windows Subsystem for Linux:

root@kitploit:~
$ sudo apt install -y build-essential protobuf-compiler \
    libprotobuf-dev pkg-config libutempter-dev zlib1g-dev libncurses5-dev \
    libssl-dev bash-completion tmux less

Fedora, RHEL:

root@kitploit:~
$ sudo dnf group install development-tools
$ sudo dnf install automake protobuf-compiler protobuf-devel libutempter-devel \
    zlib-ng-compat-devel ncurses-devel openssl-devel bash-completion tmux less \
    perl-diagnostics

MacOS:

root@kitploit:~
$ brew install protobuf automake

저장소를 포크한 후, 다음을 실행하여 Mosh를 빌드하고 테스트하십시오:

root@kitploit:~
$ ./autogen.sh
$ ./configure
$ make
$ make check

Mosh는 테스트에 의한 코드 적용 범위 보고서 생성을 지원하지만, 이 기능은 기본적으로 비활성화되어 있습니다. 활성화하려면 시스템에 lcov가 설치되어 있는지 확인하십시오. 그런 다음 구성하고 테스트를 실행하십시오:

root@kitploit:~
$ ./configure --enable-code-coverage
$ make check-code-coverage

이렇게 하면 모든 테스트가 실행되고 선호하는 브라우저로 열 수 있는 HTML 형식의 적용 범위 보고서가 생성됩니다. 이상적으로는 새로 추가된 코드는 90% 이상의 증분 테스트 적용 범위를 목표로 해야 합니다.

추가 정보

  • Mosh 웹 사이트:

    https://mosh.org

  • [email protected] 메일링 리스트:

    https://mailman.mit.edu/mailman/listinfo/mosh-devel

  • [email protected] 메일링 리스트:

    https://mailman.mit.edu/mailman/listinfo/mosh-users

  • #mosh 채널 (Libera Chat)

    https://web.libera.chat/#mosh

도구 다운로드