Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
mosh — Aplicação de terminal remoto que suporta conectividade intermitente, roaming de IP e eco local especulativo para links de alta latência. Usa criptografia AES-128 sobre UDP com autenticação baseada em SSH. | Kitploit
Ferramentas/GitHubGitHub/mobile-shell/mosh
Utilitários de Propósito GeralSegurança de Rede
GitHubmobile-shell/mosh

mosh

Aplicação de terminal remoto que suporta conectividade intermitente, roaming de IP e eco local especulativo para links de alta latência. Usa criptografia AES-128 sobre UDP com autenticação baseada em SSH.

Ver RepositórioSite
14.3k852há 5 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

ci

Mosh: o shell móvel

Mosh é uma aplicação de terminal remoto que suporta conectividade intermitente, permite roaming e fornece eco local especulativo e edição de linha das teclas do usuário.

Ele visa suportar os usos interativos típicos do SSH, além de:

  • Mosh mantém a sessão ativa se o cliente dormir e acordar mais tarde, ou perder temporariamente sua conexão com a Internet.

  • Mosh permite que o cliente e o servidor "roamem" (mudem de endereço IP) enquanto mantêm a conexão ativa. Ao contrário do SSH, o Mosh pode ser usado enquanto alterna entre redes Wi-Fi ou de Wi-Fi para dados celulares para Ethernet com fio.

  • O cliente Mosh executa um modelo preditivo do comportamento do servidor em segundo plano e tenta adivinhar inteligentemente como cada tecla pressionada afetará o estado da tela. Quando está confiante em suas previsões, ele as mostra ao usuário enquanto aguarda a confirmação do servidor. A maioria das digitações e usos das teclas de seta para a esquerda e para a direita podem ser ecoados imediatamente.

    Como resultado, o Mosh é utilizável em links de alta latência, por exemplo, em uma conexão de dados celular ou Wi-Fi instável. Diferentemente de tentativas anteriores de modos de eco local em outros protocolos, o Mosh funciona corretamente com aplicações de tela cheia como emacs, vi, alpine e irssi, e se recupera automaticamente de erros de previsão ocasionais dentro de um RTT. Em links de alta latência, o Mosh sublinha suas previsões enquanto elas estão pendentes e remove o sublinhado quando são confirmadas pelo servidor.

Mosh não suporta encaminhamento X ou os usos não interativos do SSH, incluindo encaminhamento de porta.

Outros recursos

  • Mosh ajusta sua taxa de quadros para não sobrecarregar as filas de rede em links lentos, então "Control-C" sempre funciona dentro de um RTT para interromper um processo descontrolado.

  • Mosh avisa o usuário quando não recebe notícias do servidor há algum tempo.

  • Mosh suporta links com perda que perdem uma fração significativa de seus pacotes.

  • Mosh lida melhor com alguns casos extremos de Unicode do que o SSH e emuladores de terminal existentes por si só, mas exige um ambiente UTF-8 para ser executado.

  • Mosh utiliza o SSH para configurar a conexão e autenticar usuários. O Mosh não contém nenhum código privilegiado (root).

Obtendo o Mosh

O site do Mosh possui informações sobre pacotes para muitos sistemas operacionais, bem como instruções para compilar a partir do código-fonte.

Observe que o mosh-client recebe uma chave de sessão AES como uma variável de ambiente. Se você estiver portando o Mosh para um novo sistema operacional, certifique-se de que as variáveis de ambiente de um processo em execução não sejam legíveis por outros usuários. Confirmamos que este é o caso no GNU/Linux, OS X e FreeBSD.

Uso

O binário mosh-client deve existir na máquina do usuário, e o binário mosh-server no host remoto.

O usuário executa:

root@kitploit:~
$ mosh [usuário@]host

Se os binários mosh-client ou mosh-server estiverem fora do $PATH do usuário, o mosh aceita os argumentos --client=CAMINHO e --server=CAMINHO para selecionar locais alternativos. Mais opções estão documentadas na página de manual mosh(1).

Existem mais exemplos e uma FAQ no site do Mosh.

Como funciona

O programa mosh fará SSH para usuario@host para estabelecer a conexão. O SSH pode solicitar uma senha ao usuário ou usar autenticação de chave pública para fazer login.

A partir deste ponto, o mosh executa o processo mosh-server (como o usuário) na máquina servidora. O processo servidor escuta em uma porta UDP alta e envia seu número de porta e uma chave secreta AES-128 de volta ao cliente via SSH. A conexão SSH é então encerrada e a sessão do terminal começa via UDP.

Se o cliente mudar de endereço IP, o servidor começará a enviar para o cliente no novo endereço IP em alguns segundos.

Para funcionar, o Mosh requer que datagramas UDP sejam passados entre cliente e servidor. Por padrão, o mosh usa um número de porta entre 60000 e 61000, mas o usuário pode selecionar uma porta específica com a opção -p. Observe que a opção -p não tem efeito sobre a porta usada pelo SSH.

Conselhos para distribuidores

Uma nota sobre flags do compilador: Mosh é um código sensível à segurança. Ao criar compilações automatizadas para um pacote binário, recomendamos passar a opção --enable-compile-warnings=error para ./configure. No GNU/Linux com g++ ou clang++, o pacote deve compilar limpo com -Werror. Por favor, relate um bug se não compilar.

Onde disponível, o Mosh compila com uma variedade de flags de hardening binário como -fstack-protector-all, -D_FORTIFY_SOURCE=2, etc. Estas fornecem segurança proativa contra a possibilidade de um bug de corrupção de memória no Mosh ou em uma das bibliotecas que ele usa. Para uma lista completa de flags, procure por HARDEN em configure.ac. O script configure detecta quais flags são suportadas pelo seu compilador e as ativa automaticamente. Para desativar essa detecção, passe --disable-hardening para ./configure. Por favor, relate um bug se você tiver problemas com as configurações padrão; gostaríamos que o maior número possível de usuários estivesse executando uma configuração tão segura quanto possível.

Mosh vem com uma configuração de otimização padrão de -O2. Alguns distribuidores perguntaram sobre mudar isso para -Os (que faz o compilador preferir otimizações de espaço em vez de tempo). Nós fizemos benchmarks com o programa incluído src/examples/benchmark para testar isso. Os resultados são que -O2 é 40% mais rápido que -Os com g++ 4.6 no GNU/Linux, e 16% mais rápido que -Os com clang++ 3.1 no Mac OS X. Em ambos os casos, -Os produziu um binário menor (em até 40%, economizando quase 200 kilobytes em disco). Embora o Mosh não seja especialmente intensivo em CPU e fique principalmente ocioso quando o usuário não está digitando, achamos que os resultados sugerem que -O2 (o padrão) é preferível.

Nossa empacotamento para Debian e Fedora apresenta o Mosh como um único pacote. O Mosh tem uma dependência Perl que é necessária apenas para uso do cliente. Para algumas plataformas, pode fazer sentido ter pacotes separados mosh-server e mosh-client para permitir o uso do mosh-server sem Perl.

Notas para desenvolvedores

Para começar a contribuir com o Mosh, instale as seguintes dependências:

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

Depois de fazer o fork do repositório, execute o seguinte para compilar e testar o Mosh:

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

Mosh suporta a produção de relatórios de cobertura de código por testes, mas esse recurso está desabilitado por padrão. Para ativá-lo, certifique-se de que o lcov esteja instalado no seu sistema. Então, configure e execute os testes:

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

Isso executará todos os testes e produzirá um relatório de cobertura em HTML que pode ser aberto com seu navegador favorito. Idealmente, o código recém-adicionado deve buscar 90% (ou mais) de cobertura de teste incremental.

Mais informações

  • Site do Mosh:

    https://mosh.org

  • Lista de discussão [email protected]:

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

  • Lista de discussão [email protected]:

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

  • Canal #mosh no Libera Chat

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

Baixar ferramenta