La lettura e la scrittura sono le operazioni di base che possono essere applicate ai dati in ogni sistema. TCP è abbreviato in Transmission Control Protocol ed è un protocollo di comunicazione orientato alla connessione che semplifica l'invio e la ricezione di messaggi da parte dei computer di una rete. È il protocollo più utilizzato nelle reti che utilizzano il protocollo Internet (IP); a volte viene chiamato TCP/IP quando viene utilizzato insieme. UDP, abbreviato in User Datagram Protocol, è un protocollo di comunicazione utilizzato per costruire connessioni a bassa latenza e tolleranti alle perdite tra applicazioni su Internet. In questo articolo, discuteremo del comando "Netcat", che viene utilizzato per leggere e scrivere dischi su reti utilizzando i protocolli TCP e UDP su Ubuntu 20.04 (sistema operativo Linux).
L'applicazione di utilità Netcat include diverse istruzioni per la gestione delle reti e il monitoraggio del livello di dati tra i sistemi. I protocolli TCP e UDP sono alla base delle reti di computer, come Internet. È considerato il coltellino svizzero degli strumenti di rete ed è uno degli strumenti più efficaci nell'arsenale degli amministratori di rete e di sistema. Netcat è un programma multipiattaforma che funziona su Linux, Windows, Mac OS X e BSD. Netcat può essere utilizzato per eseguire il debug e analizzare i problemi di connettività, nonché per eseguire la scansione di porte aperte, trasferire dati e fungere da proxy.
Utilizzo di Netcat per leggere e scrivere dati attraverso la rete
Su macOS e distribuzioni Linux comuni come Ubuntu e Debian, il pacchetto Netcat viene preinstallato. Alcune delle utilità "Netcat" sono menzionate di seguito.
- Esegui la scansione delle porte tramite Netcat
- Invio di file tramite Netcat
- Crea un server web tramite Netcat
Sintassi:
$ nc [options] host port |
Sui sistemi Ubuntu viene utilizzato "nc" o "netcat".
Verrà stabilita una connessione TCP per fornire host/host e porta/porte da Netcat come predefinita. Usa l'opzione -u se vuoi creare una connessione UDP.
$ nc -u host port |
Esegui la scansione delle porte tramite Netcat
Una delle applicazioni Netcat più diffuse è la scansione delle porte. Hai la possibilità di scansionare una singola porta o un intervallo di porte.
TCP:
Cerca porte aperte:
Per eseguire la scansione delle porte aperte nell'intervallo 30-60 utilizzando Netcat, eseguire il comando indicato di seguito:
$ nc -z -v 10.0.2.15 30-60 |
-z indicherà al NC di eseguire la scansione delle porte aperte e di non inviare loro alcun dato.
-v dice le informazioni su verbose.
Filtra il risultato usando il comando grep:
$ nc -z -v 10.0.2.15 2>&1 | grep succeeded |
Nessuna connessione riuscita in questo intervallo.
UDP:
Aggiungi semplicemente il parametro -u allo script per verificare la presenza di porte UDP nel comando indicato di seguito:
$ nc -z -v -u 10.0.2.15 30-60 |
Non ci sono porte UDP in questo intervallo.
Invio di file tramite Netcat
Stabilendo un modello client o server di base, Netcat può essere utilizzato per trasportare dati da un host all'altro. Ciò si ottiene utilizzando l'opzione -l sull'host ricevente per impostare Netcat in ascolto su una determinata porta, quindi creando una connessione TCP standard da più computer e trasferendo il file su di essa.
Esegui il comando indicato di seguito sull'estremità ricevente, che apre la porta 6666 per le connessioni in entrata e devia il risultato di output nel file:
$ nc -l 6666 > linux1.txt |
Linux1.txt è il nome del file da aprire per la scrittura e puoi modificare il nome del file in base alle tue esigenze.
Ora l'host ricevente sarà connesso all'host mittente e invia il file:
$ nc google.com 6666 < linux2.txt |
Creazione di un server Web tramite Netcat
Per prima cosa, crea un semplice file HTML "linux, html" usando il comando nano:
$ nano linux.html |
Digita il contenuto indicato di seguito oppure puoi aggiungere contenuto in base alle tue esigenze seguendo le regole del file html.
<html> <head> <title> Linux<title> <head> <html> |
Salva con "Ctrl+S" e chiudi il file con "Ctrl+X".
$ printf 'HTTP/1.1 200 OK\n\n%s' "$(cat linux.html)" | netcat -l 8888 |
Ora nel browser puoi accedere al file tramite il link sotto indicato:
http://server-ip:8888 |
Conclusione:
Netcat è un'utilità Linux di base che utilizza i protocolli TCP/UDP per leggere e scrivere dati attraverso connessioni di rete. È pensato per essere uno strumento di back-end affidabile che può essere utilizzato direttamente o semplicemente da altre applicazioni e programmi. Questo articolo fornisce informazioni sull'utilizzo di Netcat con il protocollo TCP e UDP e altri usi come la scansione delle porte, l'invio di file e la creazione di un server web.