Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
mosh — Aplicación de terminal remota que soporta conectividad intermitente, itinerancia de IP y eco local especulativo para enlaces de alta latencia. Utiliza cifrado AES-128 sobre UDP con autenticación basada en SSH. | Kitploit
Herramientas/GitHubGitHub/mobile-shell/mosh
Utilidades de Propósito GeneralSeguridad de Redes
GitHubmobile-shell/mosh

mosh

Aplicación de terminal remota que soporta conectividad intermitente, itinerancia de IP y eco local especulativo para enlaces de alta latencia. Utiliza cifrado AES-128 sobre UDP con autenticación basada en SSH.

Ver RepositorioSitio web
14.3k852hace 5 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

ci

Mosh: la shell móvil

Mosh es una aplicación de terminal remota que soporta conectividad intermitente, permite la itinerancia y proporciona eco local especulativo y edición de línea de las pulsaciones del usuario.

Su objetivo es soportar los usos interactivos típicos de SSH, además de:

  • Mosh mantiene la sesión activa si el cliente entra en suspensión y se despierta más tarde, o pierde temporalmente su conexión a Internet.

  • Mosh permite que el cliente y el servidor "deambulen" y cambien de dirección IP, manteniendo la conexión activa. A diferencia de SSH, Mosh se puede utilizar mientras se cambia entre redes Wi-Fi o desde Wi-Fi a datos móviles a Ethernet por cable.

  • El cliente de Mosh ejecuta un modelo predictivo del comportamiento del servidor en segundo plano e intenta adivinar inteligentemente cómo cada pulsación afectará al estado de la pantalla. Cuando confía en sus predicciones, las muestra al usuario mientras espera la confirmación del servidor. La mayoría de las pulsaciones y el uso de las teclas de flecha izquierda y derecha pueden reflejarse inmediatamente.

    Como resultado, Mosh es utilizable en enlaces de alta latencia, por ejemplo, en una conexión de datos móviles o una red Wi-Fi irregular. A diferencia de intentos anteriores de modos de eco local en otros protocolos, Mosh funciona correctamente con aplicaciones de pantalla completa como emacs, vi, alpine e irssi, y se recupera automáticamente de errores de predicción ocasionales dentro de un RTT. En enlaces de alta latencia, Mosh subraya sus predicciones mientras están pendientes y elimina el subrayado cuando son confirmadas por el servidor.

Mosh no soporta el reenvío X ni los usos no interactivos de SSH, incluyendo el reenvío de puertos.

Otras características

  • Mosh ajusta su velocidad de fotogramas para no llenar las colas de la red en enlaces lentos, por lo que "Control-C" siempre funciona dentro de un RTT para detener un proceso desbocado.

  • Mosh advierte al usuario cuando no ha recibido noticias del servidor durante un tiempo.

  • Mosh soporta enlaces con pérdida que pierden una fracción significativa de sus paquetes.

  • Mosh maneja algunos casos extremos de Unicode mejor que SSH y los emuladores de terminal existentes por sí solos, pero requiere un entorno UTF-8 para funcionar.

  • Mosh aprovecha SSH para establecer la conexión y autenticar a los usuarios. Mosh no contiene ningún código privilegiado (root).

Cómo obtener Mosh

El sitio web de Mosh tiene información sobre paquetes para muchos sistemas operativos, así como instrucciones para compilar desde el código fuente.

Tenga en cuenta que mosh-client recibe una clave de sesión AES como variable de entorno. Si está portando Mosh a un nuevo sistema operativo, asegúrese de que las variables de entorno de un proceso en ejecución no sean legibles por otros usuarios. Hemos confirmado que este es el caso en GNU/Linux, OS X y FreeBSD.

Uso

El binario mosh-client debe existir en la máquina del usuario, y el binario mosh-server en el host remoto.

El usuario ejecuta:

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

Si los binarios mosh-client o mosh-server están fuera del $PATH del usuario, mosh acepta los argumentos --client=RUTA y --server=RUTA para seleccionar ubicaciones alternativas. Hay más opciones documentadas en la página de manual mosh(1).

Hay más ejemplos y una FAQ en el sitio web de Mosh.

Cómo funciona

El programa mosh usará SSH para conectarse a usuario@host y establecer la conexión. SSH puede solicitar al usuario una contraseña o usar autenticación de clave pública para iniciar sesión.

A partir de este punto, mosh ejecuta el proceso mosh-server (como el usuario) en la máquina servidora. El proceso servidor escucha en un puerto UDP alto y envía su número de puerto y una clave secreta AES-128 de vuelta al cliente a través de SSH. La conexión SSH se cierra entonces y la sesión de terminal comienza a través de UDP.

Si el cliente cambia de dirección IP, el servidor comenzará a enviar al cliente en la nueva dirección IP en unos pocos segundos.

Para funcionar, Mosh requiere que se pasen datagramas UDP entre el cliente y el servidor. Por defecto, mosh usa un número de puerto entre 60000 y 61000, pero el usuario puede seleccionar un puerto particular con la opción -p. Tenga en cuenta que la opción -p no tiene efecto sobre el puerto usado por SSH.

Consejos para distribuidores

Una nota sobre las banderas del compilador: Mosh es código sensible a la seguridad. Al hacer compilaciones automatizadas para un paquete binario, recomendamos pasar la opción --enable-compile-warnings=error a ./configure. En GNU/Linux con g++ o clang++, el paquete debería compilarse limpiamente con -Werror. Informe de un error si no es así.

Cuando está disponible, Mosh se compila con una variedad de banderas de endurecimiento binario como -fstack-protector-all, -D_FORTIFY_SOURCE=2, etc. Estas proporcionan seguridad proactiva contra la posibilidad de un error de corrupción de memoria en Mosh o en una de las bibliotecas que utiliza. Para una lista completa de banderas, busque HARDEN en configure.ac. El script configure detecta qué banderas son soportadas por su compilador y las habilita automáticamente. Para deshabilitar esta detección, pase --disable-hardening a ./configure. Informe de un error si tiene problemas con la configuración predeterminada; nos gustaría que la mayor cantidad posible de usuarios ejecuten una configuración tan segura como sea posible.

Mosh incluye una configuración de optimización predeterminada de -O2. Algunos distribuidores han preguntado sobre cambiarla a -Os (que hace que un compilador prefiera optimizaciones de espacio sobre optimizaciones de tiempo). Hemos realizado pruebas comparativas con el programa incluido src/examples/benchmark para probar esto. Los resultados son que -O2 es un 40% más rápido que -Os con g++ 4.6 en GNU/Linux, y un 16% más rápido que -Os con clang++ 3.1 en Mac OS X. En ambos casos, -Os produjo un binario más pequeño (hasta un 40%, ahorrando casi 200 kilobytes en disco). Aunque Mosh no es especialmente intensivo en CPU y permanece inactivo la mayor parte del tiempo cuando el usuario no está escribiendo, creemos que los resultados sugieren que -O2 (el valor predeterminado) es preferible.

Nuestro empaquetado en Debian y Fedora presenta Mosh como un paquete único. Mosh tiene una dependencia de Perl que solo es necesaria para el uso del cliente. Para algunas plataformas, puede tener sentido tener paquetes separados de mosh-server y mosh-client para permitir el uso de mosh-server sin Perl.

Notas para desarrolladores

Para comenzar a contribuir a Mosh, instale las siguientes dependencias:

Debian, Subsistema de Windows para 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

Una vez que haya bifurcado el repositorio, ejecute lo siguiente para compilar y probar Mosh:

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

Mosh soporta la producción de informes de cobertura de código mediante pruebas, pero esta característica está deshabilitada por defecto. Para habilitarla, asegúrese de que lcov esté instalado en su sistema. Luego, configure y ejecute las pruebas:

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

Esto ejecutará todas las pruebas y producirá un informe de cobertura en formato HTML que se puede abrir con su navegador favorito. Idealmente, el código recién agregado debería aspirar a una cobertura de prueba incremental del 90% (o mejor).

Más información

  • Sitio web de Mosh:

    https://mosh.org

  • Lista de correo [email protected]:

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

  • Lista de correo [email protected]:

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

  • Canal #mosh en Libera Chat

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

Descargar herramienta