Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
mosh — Applicazione per terminale remoto che supporta connettività intermittente, roaming IP e echo locale speculativo per collegamenti ad alta latenza. Utilizza crittografia AES-128 su UDP con autenticazione basata su SSH. | Kitploit
Strumenti/GitHubGitHub/mobile-shell/mosh
Utilità GenericheSicurezza di Rete
GitHubmobile-shell/mosh

mosh

Applicazione per terminale remoto che supporta connettività intermittente, roaming IP e echo locale speculativo per collegamenti ad alta latenza. Utilizza crittografia AES-128 su UDP con autenticazione basata su SSH.

Vedi RepositorySito web
14.3k8525 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ci

Mosh: la shell mobile

Mosh è un'applicazione terminale remota che supporta la connettività intermittente, permette il roaming e fornisce eco locale speculativa e modifica delle righe di digitazione dell'utente.

Mira a supportare gli usi interattivi tipici di SSH, più:

  • Mosh mantiene la sessione attiva se il client va in standby e si riattiva in seguito, o perde temporaneamente la connessione Internet.

  • Mosh consente al client e al server di "vagare" e cambiare indirizzi IP, mantenendo attiva la connessione. A differenza di SSH, Mosh può essere utilizzato durante il passaggio tra reti Wi-Fi o dal Wi-Fi ai dati cellulari all'Ethernet cablato.

  • Il client Mosh esegue un modello predittivo del comportamento del server in background e cerca di indovinare in modo intelligente come ogni tasto premuto influenzerà lo stato dello schermo. Quando è sicuro delle sue previsioni, le mostra all'utente in attesa della conferma dal server. La maggior parte della digitazione e l'uso dei tasti freccia sinistra e destra possono essere rimandati immediatamente.

    Di conseguenza, Mosh è utilizzabile su collegamenti ad alta latenza, ad es. su una connessione dati cellulare o Wi-Fi instabile. A differenza dei precedenti tentativi di modalità eco locale in altri protocolli, Mosh funziona correttamente con applicazioni a schermo intero come emacs, vi, alpine e irssi, e recupera automaticamente da occasionali errori di previsione entro un RTT. Su collegamenti ad alta latenza, Mosh sottolinea le sue previsioni mentre sono in sospeso e rimuove la sottolineatura quando vengono confermate dal server.

Mosh non supporta il forwarding X o gli usi non interattivi di SSH, incluso il forwarding di porta.

Altre caratteristiche

  • Mosh regola il suo frame rate per non riempire le code di rete su collegamenti lenti, quindi "Control-C" funziona sempre entro un RTT per fermare un processo fuori controllo.

  • Mosh avvisa l'utente quando non ha notizie dal server da un po'.

  • Mosh supporta collegamenti con perdita che perdono una frazione significativa dei loro pacchetti.

  • Mosh gestisce alcuni casi limite Unicode meglio di SSH e degli attuali emulatori di terminale da soli, ma richiede un ambiente UTF-8 per funzionare.

  • Mosh sfrutta SSH per impostare la connessione e autenticare gli utenti. Mosh non contiene codice privilegiato (root).

Ottenere Mosh

Il sito web di Mosh contiene informazioni sui pacchetti per molti sistemi operativi, oltre alle istruzioni per la compilazione dal codice sorgente.

Nota che mosh-client riceve una chiave di sessione AES come variabile d'ambiente. Se stai portando Mosh su un nuovo sistema operativo, assicurati che le variabili d'ambiente di un processo in esecuzione non siano leggibili da altri utenti. Abbiamo confermato che questo è il caso su GNU/Linux, OS X e FreeBSD.

Utilizzo

Il binario mosh-client deve esistere sulla macchina dell'utente e il binario mosh-server sull'host remoto.

L'utente esegue:

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

Se i binari mosh-client o mosh-server si trovano al di fuori del $PATH dell'utente, mosh accetta gli argomenti --client=PERCORSO e --server=PERCORSO per selezionare posizioni alternative. Ulteriori opzioni sono documentate nella pagina di manuale mosh(1).

Ci sono altri esempi e una FAQ sul sito web di Mosh.

Come funziona

Il programma mosh utilizzerà SSH per connettersi a utente@host per stabilire la connessione. SSH potrebbe chiedere all'utente una password o utilizzare l'autenticazione a chiave pubblica per accedere.

Da questo punto, mosh esegue il processo mosh-server (come utente) sulla macchina server. Il processo server ascolta su una porta UDP alta e invia il suo numero di porta e una chiave segreta AES-128 di nuovo al client tramite SSH. La connessione SSH viene quindi chiusa e la sessione terminale inizia tramite UDP.

Se il client cambia indirizzo IP, il server inizierà a inviare al client sul nuovo indirizzo IP entro pochi secondi.

Per funzionare, Mosh richiede che i datagrammi UDP vengano passati tra client e server. Per impostazione predefinita, mosh utilizza un numero di porta compreso tra 60000 e 61000, ma l'utente può selezionare una porta particolare con l'opzione -p. Si noti che l'opzione -p non ha effetto sulla porta utilizzata da SSH.

Consigli ai distributori

Una nota sui flag del compilatore: Mosh è codice sensibile alla sicurezza. Quando si realizzano build automatizzate per un pacchetto binario, consigliamo di passare l'opzione --enable-compile-warnings=error a ./configure. Su GNU/Linux con g++ o clang++, il pacchetto dovrebbe compilare correttamente con -Werror. Segnala un bug se non è così.

Dove disponibile, Mosh viene compilato con una varietà di flag di hardening binario come -fstack-protector-all, -D_FORTIFY_SOURCE=2, ecc. Questi forniscono una sicurezza proattiva contro la possibilità di un bug di corruzione della memoria in Mosh o in una delle librerie che utilizza. Per un elenco completo dei flag, cerca HARDEN in configure.ac. Lo script configure rileva quali flag sono supportati dal tuo compilatore e li abilita automaticamente. Per disabilitare questo rilevamento, passa --disable-hardening a ./configure. Segnala un bug se hai problemi con le impostazioni predefinite; vorremmo che il maggior numero possibile di utenti eseguisse una configurazione il più sicura possibile.

Mosh viene fornito con un'impostazione di ottimizzazione predefinita di -O2. Alcuni distributori hanno chiesto di cambiarla in -Os (che fa sì che un compilatore preferisca le ottimizzazioni di spazio a quelle di tempo). Abbiamo eseguito benchmark con il programma src/examples/benchmark incluso per testare questo. I risultati sono che -O2 è più veloce del 40% rispetto a -Os con g++ 4.6 su GNU/Linux, e più veloce del 16% rispetto a -Os con clang++ 3.1 su Mac OS X. In entrambi i casi, -Os ha prodotto un binario più piccolo (fino al 40%, risparmiando quasi 200 kilobyte su disco). Sebbene Mosh non sia particolarmente intensivo in termini di CPU e sia per lo più inattivo quando l'utente non digita, riteniamo che i risultati suggeriscano che -O2 (l'impostazione predefinita) sia preferibile.

Il nostro packaging Debian e Fedora presenta Mosh come un unico pacchetto. Mosh ha una dipendenza Perl che è richiesta solo per l'uso client. Per alcune piattaforme, potrebbe avere senso avere pacchetti separati mosh-server e mosh-client per consentire l'uso di mosh-server senza Perl.

Note per gli sviluppatori

Per iniziare a contribuire a Mosh, installa le seguenti dipendenze:

Debian, Sottosistema Windows per 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 volta che hai effettuato il fork del repository, esegui quanto segue per compilare e testare Mosh:

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

Mosh supporta la produzione di report di copertura del codice tramite test, ma questa funzionalità è disabilitata per impostazione predefinita. Per abilitarla, assicurati che lcov sia installato sul tuo sistema. Quindi, configura ed esegui i test:

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

Questo eseguirà tutti i test e produrrà un report di copertura in formato HTML che può essere aperto con il tuo browser preferito. Idealmente, il codice appena aggiunto dovrebbe puntare a una copertura di test incrementale del 90% (o superiore).

Ulteriori informazioni

  • Sito web di Mosh:

    https://mosh.org

  • Mailing list [email protected]:

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

  • Mailing list [email protected]:

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

  • Canale #mosh su Libera Chat

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

Scarica lo strumento