Quando si tratta di controllare se una porta di rete è aperta o chiusa su un computer remoto, non c'è modo più semplice che utilizzare telnet. Le porte lasciate aperte senza motivo sono un rischio per la sicurezza che programmi malevoli e virus potrebbero sfruttare. Allo stesso tempo, se un software legittimo comunica attraverso una specifica porta, avere quella porta chiusa farà sì che il programma generi errori e malfunzionamenti.
Per molti la sfida di verificare se una porta è aperta è troppo complessa. Tuttavia, uno dei modi più efficienti è utilizzare il protocollo di networking telnet. Telnet consente all'utente di testare singole porte e vedere se sono aperte. In questo articolo, spiegheremo come telnet può essere utilizzato per controllare le porte su Windows 10, Windows Server 2022, 2016, 2012 e 2008.
Cos'è Telnet?
Il nome "telnet" è l'abbreviazione di "teletype network protocol".
In poche parole, telnet è un protocollo informatico che è stato creato per l'interazione tra computer remoti. Consente la comunicazione da terminale a terminale e può essere utilizzato per una varietà di scopi.
La parola "telnet" si riferisce anche all'utilità della riga di comando "telnet", disponibile sotto Windows OS e sistemi simili a Unix, inclusi Mac, Linux e altri. Useremo il termine "Telnet" principalmente nel contesto del software client telnet.
L'utilità Telnet consente all'utente remoto di testare la connettività ai sistemi remoti e di emettere comandi tramite tastiera. Sebbene la maggior parte degli utenti opti per lavorare con interfacce grafiche, telnet è uno dei modi più semplici per controllare la connettività su certe porte.
Per cosa si usa telnet?
Il protocollo telnet è quanto di più "vecchio" esista nel mondo tecnologico. È stato sviluppato nel 1969, quindi non include le robuste funzionalità di sicurezza dei protocolli di rete di oggi.
Come abbiamo detto, tramite telnet gli utenti possono connettersi a software che utilizzano protocolli testuali non criptati, dai server Web alle porte. Puoi aprire l'interfaccia della riga di comando su un computer remoto, digitare "telnet", il nome o l'indirizzo IP del sistema remoto, e attendere che la connessione telnet faccia ping alla porta per verificare se è aperta.
Tuttavia, puoi utilizzare telnet per eseguire varie altre attività. Quando correttamente connesso, puoi modificare file, eseguire programmi o controllare la tua e-mail con esso.
Inoltre, alcuni server consentono connessioni telnet da remoto per accedere a dati pubblici. Per cominciare, puoi controllare le previsioni del tempo tramite il servizio Weather Underground, attivo dal 1995 e ancora in funzione, perché, ammettiamolo, le previsioni TV possono diventare noiose.
Inoltre, telnet ti permette di giocare a scacchi sul Free Internet Chess Server (FICS) e di fonderti veramente con lo spirito dei vecchi maestri digitali.
Per giocare a scacchi, usa il comando:
o freechess.org
Ora, per i fan accaniti di Star Wars — potete guardare Star Wars Episodio 4 nella modalità ASCII predefinita. O almeno la parte del film che è finita e disponibile per lo "streaming."
Per farlo, usa il seguente comando in telnet:
o towel.blinkenlights.nl 23
Tramite telnet, un nostalgico utente del network può anche parlare con la psicoterapeuta AI Eliza. Anche se raramente ti capisce, le sue battute sono destinate a illuminare la tua giornata e a farti ridere.
Per metterti in contatto con Eliza, digita il seguente comando:
o telehack.com, seguito da eliza
Alcuni utenti utilizzano ancora telnet per amministrare e partecipare a sistemi di bacheche elettroniche basati su testo. Poiché i forum sono in testo semplice, non avrai bisogno di immagini sofisticate o animazioni per ravvivare le discussioni.
In sintesi, oltre alla sua capacità di controllare lo stato della porta, telnet viene utilizzato principalmente per divertimento nostalgico o per equipaggiare un vecchio sistema utente che non supporta l'accesso a dati specifici altrimenti.
Quali sono le tre modalità del protocollo telnet?
Il protocollo telnet generalmente ha tre modalità di funzionamento. In tutti, la tua tastiera produce dati in uscita tramite la struttura del comando telnet, viaggia tramite una connessione TCP telnet e arriva a un terminale virtuale o fisico per soddisfare una connessione terminale-computer. La virtualizzazione è un elemento chiave in questo processo.
Modalità predefinita
Se non vengono invocate altre modalità, telnet imposterà questa modalità come predefinita.
· In questa modalità l'eco viene eseguito dall'utente.
· In questo caso, l'utente può digitare un carattere e il client lo fa riecheggiare sullo schermo. Tuttavia, non lo invierà fino a quando l'intera riga non sarà completata.
Questa modalità è anche chiamata "modalità di funzionamento del dispositivo half-duplex" o "modalità half-duplex". Richiede il comando telnet GA (GO AHEAD) dal server prima di accettare qualsiasi dato di input dell'utente. Ciò è dovuto all'alto costo potenziale dell'elaborazione delle interruzioni di input di rete insieme alla specifica NVT che gli "echi" non attraversino la rete.
Modalità carattere
· In modalità carattere telnet, viene trasmesso solo un carattere alla volta. (direzione utente-server)
· L'interprete telnet del server confermerà la ricezione del carattere facendo eco al client.
· Quindi, il software del client telnet invierà al server un pacchetto TCP ACK per informarlo della ricezione dell'eco da esso.
· Telnet genera un pacchetto di datagrammi IP per ogni carattere, che potrebbe causare ritardi di connettività a causa dell'alto volume di traffico di rete (nei sistemi più vecchi).
Modalità riga
· La modalità riga (nota anche come "modalità una riga per volta") deriva dalla modalità carattere telnet.
· In questa modalità, i caratteri vengono riecheggiati da un segnale esplicito definito localmente e inviati al server telnet una volta completati.
· In modalità riga, sia il comando ECHO che il comando SUPPRESS GO AHEAD sono disabilitati.
Sezione del comando Telnet
I comandi Telnet si distinguono per l'uso di vari caratteri con il bit più significativo impostato. La parte del flusso di dati di telnet garantisce l'incorporazione dei comandi invocati dagli utenti della rete. I comandi vengono sempre introdotti tramite il decimale 255, noto anche come carattere del comando interpretato (IAC).
I comandi telnet definiti consistono in:
WILL - 251 - Offrire o accettare per abilitare
WON'T - 252 - Accettare o offrire di disabilitare
DO - 253 - Richiedere o approvare per abilitare l'operazione
DON'T - 254 - Disapprovare l'abilitazione o richiedere di disabilitare
SE - 240 - Fine dei parametri di subnegoziazione
NOP - 241 - Nessuna operazione
DM - 242- Il comando telnet "data mark" indica e localizza una sequenza di sincronizzazione telnet all'interno del flusso di dati. (critico da accompagnare a una notifica urgente del protocollo di controllo della trasmissione (TCP))
BRK - 243 - Comando di interruzione. Indica che è stato premuto il tasto "attenzione" o "interruzione".
IP - 244 - Sospende, interrompe o termina la connessione del terminale di rete virtuale corrispondente al processo specifico
AO - 245 - Interrompe l'emissione — consente al processo di raggiungere la completezza ma non invia dati
AYT - 246 - Questo sta per "Sei lì?" - Richiede di inviare indietro una prova visibile che l'AYT è stato ricevuto dal terminale di rete virtuale (NVT)
EC - 247 - Comando cancella carattere — Il destinatario del comando dovrebbe cancellare l'ultimo precedente non cancellato
EL - 248 - Comando cancella riga — Elimina i caratteri dal flusso fino a — ma non incluso — il precedente ritorno a capo (CRLF)
GA - 249 - Il comando "go ahead" di telnet - utilizzato principalmente per informare l'altra estremità che può iniziare a trasmettere dati
SB - 250 - Indica la subnegoziazione delle opzioni incluse da seguire
IAC - 255 - Il carattere "interpreta come comando"
Opzioni di comando del protocollo Telnet
Sono disponibili diverse specifiche delle opzioni telnet per negoziare tra il client telnet e il server. Questo si può fare utilizzando comandi in qualsiasi fase, purché la connessione persista. Di seguito è riportato un elenco delle opzioni di comando più importanti.
Assegnazioni di codice effettive
1 eco
3 sopprimi go ahead
5 stati
6 segno di sincronizzazione
24 tipi di terminale
31 Dimensioni di finestra
32 velocità terminali
33 controllo del flusso remoto
34 modalità riga
36 variabili ambientali
Le opzioni subiscono un processo di negoziazione per presentare al client e al server una visione comune delle potenziali capacità aggiuntive che influenzano lo scambio e il funzionamento delle applicazioni.
Entrambe le estremità di un dialogo telnet possono abilitare o disabilitare opzioni localmente o remotamente.
Come abilitare una connessione telnet su un server?
Il client telnet è integrato in Windows 11, ma per usarlo su Windows Server 2022, dovrai abilitarlo poiché è disabilitato di default.
Per farlo, dovrai passare attraverso l'interfaccia utente grafica (GUI).
1. Accedi a Windows Server 2022 con privilegi di amministratore
2. Apri "Gestione del Server" dal menu Start
3. Seleziona il menu "Gestisci" (nell'angolo in alto a destra) → seleziona "Aggiungi Ruoli e Funzionalità"
4. Nell' "Aggiunta guidata di ruoli e funzionalità", seleziona "Avanti" sulla linea "Prima di iniziare"
5. Clicca su "Avanti" → clicca su "Seleziona tipo di programma di installazione"
6. Nella schermata "Seleziona server di destinazione", seleziona il tuo server locale nell'elenco dei server → clicca su "Avanti"
7. Clicca su "Avanti" sulla linea "Seleziona ruoli del server"
8. Nella schermata "Seleziona funzionalità", scorri tra le funzionalità disponibili -> seleziona "Telnet Client" → clicca su "Avanti"
9. Seleziona "Installa" sulla linea "Conferma selezioni di installazione"
10. Chiudi l' "Aggiunta Guidata di Ruoli e Funzionalità"
Il protocollo telnet può essere abilitato in diversi modi. Di seguito, esploreremo tutte le opzioni disponibili in modo che tu possa scegliere quella più efficiente per te.
Abilitazione del client telnet nei sistemi operativi Microsoft Windows
Come abbiamo accennato, telnet è disabilitato di default nelle impostazioni di Windows, quindi devi attivarlo prima di poter fare qualsiasi cosa. Abilitarlo ti aiuterà a eseguire le diagnosi richieste e a verificare se una porta è aperta. Se provi ad utilizzare Telnet senza prima attivarlo, riceverai un messaggio come questo:
Per attivare telnet, devi utilizzare la riga di comando o l'interfaccia grafica del tuo computer.
Abilitazione del client telnet tramite prompt dei comandi:
Se vuoi abilitare telnet tramite righe di comando, apri il prompt dei comandi con privilegi elevati ("come Amministratore") ed esegui il seguente comando:
Dism /Online /Enable-feature /FeatureName:TelnetClient
Dopo aver inserito questo, telnet sarà pronto per essere utilizzato per controllare le tue porte.
In alternativa al prompt dei comandi, puoi utilizzare il seguente comando PowerShell per ottenere lo stesso risultato:
Install-WindowsFeature -nome telnet-client
Se vuoi utilizzare l'interfaccia utente grafica, devi:
Abilitare il client telnet su Windows 7, 8, 10:
Aprire il menu Start di Windows > Digitare "Pannello di controllo" > Premere Invio > "Programmi" > "Programmi e funzionalità" > Attivare o disattivare le funzionalità di Windows > Selezionare "Telnet Client" > Premere “OK"
Abilitazione del client telnet su Windows Server 2008:
Apri "Server Manager"> Funzionalità > clicca su "Aggiungi Funzionalità"> abilita la casella di controllo "Telnet Client"> clicca su "Avanti"> clicca su "Installa"> quando l'installazione della funzionalità termina, clicca su "Chiudi"
Abilitazione del client telnet su Windows Server 2012, 2016:
Apri "Server Manager"> "Aggiungi ruoli e funzionalità"> clicca "Avanti" fino a raggiungere il passaggio "Funzionalità" > seleziona "Telnet Client"> clicca "Installa"> quando l'installazione della funzionalità termina, clicca "Chiudi".
Utilizzare il comando telnet per testare le porte aperte
Uno dei maggiori vantaggi di Telnet è che puoi testare se una porta è aperta con un semplice comando. Eseguire la riga Telnet [nome dominio o ip] [porta] telnet ti permetterà di fare un test di connettività a un host remoto sulla porta specificata.
Esegui il seguente comando nel prompt dei comandi:
telnet [ nome dominio o ip ] [ porta ]
Inserisci l'indirizzo IP o il nome del dominio del server a cui stai cercando di connetterti al posto di [nome del dominio o ip], e sostituisci le seconde parentesi con il numero di porta sul sistema remoto di cui vuoi testare la connessione.
Ad esempio, per verificare la connessione a 192.168.0.10 sulla porta 25, emetti il comando:
telnet 192.168.0.10 25
Se la connessione ha successo, apparirà uno schermo vuoto, il che significa che la porta del computer è aperta.
Una connessione fallita sarà accompagnata da un messaggio di errore. Un tale segnale può indicare ouna porta chiusa o il fatto che il server remoto indicato non sta ascoltando sulla porta fornita.
Esempio
telnet rpc.acronis.com 443
Test delle porte aperte con la console telnet
Come verificare se una porta è aperta su Mac
Per Utenti di High Sierra: Apple ha rimosso il client telnet da macOS 10.13 High Sierra. Non esiste un modo ufficiale per restituirlo, ma puoi comunque copiarlo da un OS più vecchio o compilarlo dalle fonti e usarlo su High Sierra. Vedi più dettagli qui e qui.
Proprio come su Windows, telnet può essere accessibile attraverso il terminale, il prompt dei comandi su macOS. Per aprire telnet, fai clic su "Vai"> "Utilità"> "Terminale", quindi esegui il seguente comando (i numeri sono un esempio di indirizzo IP e porta): telnet [nome dominio o ip] [porta], ad es.>telnet 192.168.1.1 443
Quando una porta del computer è aperta, apparirà uno schermo vuoto, il che significa che la connessione è stata effettuata con successo. Una connessione non riuscita sarà accompagnata da un messaggio di errore.
Un'alternativa a telnet nel controllo delle porte dell'utente è l'utility di rete. Per controllare le porte su un Mac, segui le indicazioni seguenti:
Apri "Utility di Rete"> Clicca su "Scansione Porte"> Indica l'hostname e le porte per eseguire la scansione dell'host remoto, ad esempio, myserver.com da 995 a 995 > Controlla il risultato
Agire sui risultati ottenuti dal test telnet
Molte volte quando provi a utilizzare telnet, potresti scoprire che la tua stessa rete sta bloccando la tua connessione. È comune per gli utenti eseguire un firewall, che blocca la connessione alle porte in uscita. Un modo semplice per verificare se il tuo firewall interrompe il tuo telnet è disabilitare il tuo firewall e eseguire un test telnet.
Se vuoi controllare le porte chiuse sul tuo router, accedi alla tua console di gestione del router. Apri un browser web e inserisci l'indirizzo IP o il nome del router, per esempio, "192.168.0.10". Se la pagina non si apre, prova a sostituire "http" con "https" all'inizio dell'indirizzo.
Successivamente, inserisci il tuo nome utente e password, e fai clic su "Entra" o "Accedi." Vai alla sezione di sicurezza per aprire o chiudere le porte e accedere ad altre impostazioni del firewall del router.
Se hai bisogno di rendere accessibili dall'esterno le risorse nella rete interna, entra nella sezione "Accesso esterno"/"Inoltro porta". Consulta la documentazione del produttore del router per istruzioni dettagliate.
Cosa vuol dire SSH? Qual è la sua porta?
SSH sta per "shell sicura" o "shell socket sicura". È un protocollo sicuro che consente la comunicazione crittografata tra due computer.
Secure shell utilizza il protocollo di trasferimento hypertext (HTTP) per trasferire hypertext (pagine web) e condividere dati.
Poiché SSH consente la comunicazione crittografata tra i due sistemi, è adatto per le reti non sicure.
SSH è principalmente utilizzato per stabilire una connessione terminale virtuale e accedere a un sistema remoto per eseguire operazioni o trasferimento dei dati. La porta predefinita per la connessione del client SSH è 22. È possibile modificare il predefinito inserendo un numero di porta compreso tra 1024 e 32,767.
Ricorda, in un sistema virtuale (VSYS), la radice e il VSYS condividono lo stesso numero di porta SSH. Ciò significa che se cambi la porta SSH da quella predefinita (22), la porta cambierà anche per tutti i terminali virtuali.
Come funziona SSH?
Per stabilire l'accesso remoto al terminale tramite shell sicura, avrai bisogno di un client SSH sul tuo computer per connetterti al server SSH.
Il client SSH, una volta abilitato, avvia il processo di configurazione della connessione per elaborare la comunicazione protetta da una forte crittografia simmetrica.
Il client si affida alla crittografia a chiave pubblica per verificare l'identità del server SSH, seguita da algoritmi di hash per garantire la privacy e l'integrità dei dati scambiati tra il client e il server.
Qual è la differenza tra telnet e SSH?
Telnet e SSH sono entrambi protocolli di rete utilizzati per la gestione di un sistema di computer remoto.
Ma cosa li rende diversi? Vediamo le differenze passo per passo.
· Definizione
Telnet è un protocollo di rete applicativo che consente la comunicazione dell'utente con un computer remoto tramite un'interfaccia basata su testo. Telnet crea una connessione di terminale virtuale, permettendo agli utenti di accedere alle applicazioni su un sistema remoto.
SSH svolge le stesse funzioni primarie di Telnet ma aggiunge sicurezza al processo. Consente un accesso sicuro anche quando la rete connessa non è sicura, il che lo rende più sicuro del protocollo telnet. Inoltre, gli amministratori di rete possono accedere a un sistema remoto tramite SSH, eseguire comandi, trasferire file e altro ancora.
· Funzionamento
Telnet richiede un'app server installata sul computer remoto (quello che desideri gestire) e un'app client installata sul computer locale.
Telnet utilizza il protocollo della porta TCP e la porta 23 per stabilire una connessione con i computer remoti. Il sistema creato agisce come un server Telnet ed è disponibile per ricevere comandi. Tali comandi vengono inviati tramite il formato del terminale virtuale di rete (NVT). Quindi, vengono ricevuti e interpretati dal server telnet e inviati all'applicazione corrispondente.
- inserisci immagine-
SSH garantisce una connessione sicura al server tramite la porta 22. Genera una sessione dopo che il client verifica il server tramite autenticazione basata su chiave. La sessione generata viene inviata sia al client che al server, e tutto il traffico è crittografato per la sessione corrente.
Infine, il server verifica il client tramite una coppia di chiavi SSH generata. Dopo l'autenticazione del cliente, si stabilisce una connessione crittografata e i due sistemi possono scambiare dati in sicurezza.
- inserisci immagine-
· Sicurezza
Telnet non fornisce alcuna funzionalità o protocollo di sicurezza durante la trasmissione dei dati. Il protocollo di rete è altamente vulnerabile alle minacce informatiche, a meno che non venga utilizzato su reti private e affidabili, preferibilmente offline.
Grazie alle coppie di chiavi utilizzate per l'autenticazione, SSH è estremamente difficile da penetrare per leggere i dati trasferiti. Questo lo rende un protocollo molto più sicuro di Telnet, anche per reti non protette.
· Formati dei dati
Telnet invia dati come testo semplice tramite formato NVT.
SSH invia i dati in formato crittografato attraverso un canale sicuro.
· Autenticazione
Telnet non utilizza alcun meccanismo di autenticazione.
SSH si basa sulla crittografia a chiave pubblica.
· Sistemi operativi supportati
Sia telnet che SSH sono disponibili su Windows, macOS e Linux (con alcune eccezioni per telnet nelle versioni più recenti di macOS).
· Utilizzo della larghezza di banda
L'utilizzo della larghezza di banda della connessione Telnet è basso.
L'utilizzo della larghezza di banda della connessione SSH è elevato.
Quando usare telnet o SSH?
Ci sono due casi principali in cui si consiglia di utilizzare una connessione telnet piuttosto che SSH.
Quando si opera su reti affidabili (ad esempio, LAN) che sono disconnesse da internet.
Quando si opera con un host remoto che non supporta SSH.
In tutti gli altri casi, è meglio utilizzare SSH poiché offre un'alta sicurezza per i dispositivi connessi a Internet.
Inoltre, SSH consente più opzioni di funzionalità rispetto a Telnet (ad esempio, trasferimento di file sicuro, inoltro di porta).
Telnet è ancora utilizzato?
Telnet è un essere primordiale nell'universo della tecnologia. E come tale, è ancora utilizzato in scenari specifici. Telnet è facile da utilizzare, non richiede conoscenze di alta tecnologia e non sovraccarica la tua rete (nella maggior parte dei casi).
Come abbiamo discusso, gli amministratori di rete si affidano a volte a telnet per accedere e gestire dispositivi di rete remoti. Inoltre, i singoli utenti possono stabilire una connessione telnet per controllare lo stato della porta su reti private e affidabili.