nc – Unix, Linux Command (Italiano)


nc- arbitrary TCP and UDP connections and listens

SYNOPSIS

nc
.Bk -words]]
.Ek

DESCRIPTION

Thenc(or netcat)utility is used for just about anything under the sun involving TCPor UDP.It can open TCP connections, send UDP packets, listen on arbitraryTCP and UDP ports, do port scanning, and deal with both IPv4 andIPv6.,A differenza di Net(1), ncscripts bene, e separa i messaggi di errore su errore standard invece di inviarli allo standard output, astelnet (1) fa con alcuni.

gli usi più Comuni sono:

  • semplice TCP proxy
  • shell-script basato HTTP client e server
  • rete demone test
  • un CALZINI o HTTP ProxyCommand forssh(1)
  • e molto, molto di più

Le opzioni sono come segue:

Tag Descrizione
-4 Forcesncto utilizzare solo indirizzi IPv4.,
-6 Forzencper utilizzare solo gli indirizzi IPv6.
-D Abilita il debug sul socket.
-d Non tentare di leggere da stdin.
-h Stampa outnchelp.
-i interval
Specifica un intervallo di tempo di ritardo tra le righe di testo inviate e ricevute.Causa anche un tempo di ritardo tra le connessioni a più porte.
-k Costringe Nc a rimanere in ascolto per un’altra connessione dopo che la connessione corrente è stata completata.,È un errore usare questa opzione senza l’opzione-l.
-l Utilizzato per specificare chencdovrebbe ascoltare una connessione in entrata piuttosto che avviare una connessione a un telecomando host.It è un errore usare questa opzione insieme alle opzioni-p,-s o-z.Inoltre, tutti i timeout specificati con l’opzione-w vengono ignorati.
-n Non eseguire ricerche DNS o di servizio su indirizzi,nomi host o porte specificati.,
– p source_port
Specifica la porta di origine da utilizzare, soggetta a restrizioni di privilegi e availability.It è un errore usare questa opzione insieme all’opzione-l.
-r Specifica che le porte di origine e / o di destinazione devono essere scelte in modo casuale, anziché in sequenza all’interno di un intervallo o nell’ordine in cui il systemassigns.
-S Abilita l’opzione di firma TCP MD5 RFC 2385.,
– s source_ip_address
Specifica l’IP dell’interfaccia utilizzata per inviare il packets.It è un errore usare questa opzione insieme all’opzione-l.
-T ToS
Specifica il tipo di servizio IP (ToS) per la connessione.I valori validi sono i token “lowdelay”,”throughput”,”affidabilità”o un valore esadecimale a 8 bit preceduto da “0x”.
-t Causesncper inviare RFC 854 NON RISPONDERE e NON RISPONDERE a RFC 854 FARE e FARE richieste.,Questo rende possibile usencto script sessioni telnet.
-U Specifica di utilizzare socket di dominio Unix.
-u Usa UDP invece dell’opzione predefinita di TCP.
-v Avere un output più dettagliato.
-w timeout
Se una connessione e stdin sono inattivi per più di timeoutsecondi, la connessione viene chiusa silenziosamente.Il flag-w non ha alcun effetto sull’opzione-l, ad es. nc ascolterà per sempre una connessione, con o senza il flag-w.Il valore predefinito non è timeout.,
-X proxy_version
Richiede chencdovrebbe usare il protocollo specificato quando si parla con il server proxy.I protocolli supportati sono ” 4 ” (SOCKS v. 4),”5″(SOCKS v. 5) e “connect” (proxy HTTPS).Se il protocollo non è specificato, viene utilizzata SOCKS versione 5.
-x proxy_address
Richiede chencdovrebbe connettersi a hostnameusing un proxy a proxy_addressand porta.Se la porta non è specificata, viene utilizzata la porta ben nota per il protocollo proxy (1080 per SOCKS, 3128 per HTTPS).,
-z Specifica chencdovrebbe solo scansionare i demoni in ascolto, senza inviare alcun dato a them.It è un errore usare questa opzione insieme all’opzione-l.

nome hostpuò essere un indirizzo IP numerico o un nome host simbolico(a meno che non sia specificata l’opzione-n).In generale, un nome host deve essere specificato,a meno che non sia specificata l’opzione-l(nel qual caso viene utilizzato l’host locale).

porta può essere singoli interi o intervalli.Gli intervalli sono nella forma nn-mm.,In generale, è necessario specificare una porta di destinazione, a meno che non venga fornita l’opzione-U(nel qual caso è necessario specificare un socket).

MODELLO CLIENT/SERVER

È abbastanza semplice creare un modello client / server molto semplice utilizzando nc.Su una console, startnclistening su una porta specifica per una connessione.Ad esempio:

nc nc-l 1234

ncis ora in ascolto sulla porta 1234 per una connessione.Su una seconda console(o una seconda macchina),connettersi alla macchina e alla porta in ascolto:

nc nc 127.0.0.1 1234

Ora dovrebbe esserci una connessione tra le porte.,Tutto ciò che viene digitato sulla seconda console verrà concatenato alla prima e viceversa.Dopo che la connessione è stata impostata,ncdoes non importa quale lato viene utilizzato come un’server’e quale lato viene utilizzato come un ‘client’.La connessione può essere terminata utilizzando un EOF (‘^D’).

TRASFERIMENTO DATI

L’esempio nella sezione precedente può essere ampliato per creare un modello di trasferimento dati abasic.Qualsiasi informazione immessa in un’estremità della connessione verrà emessa dall’altra estremità e l’input e l’output possono essere facilmente acquisiti per emulare il trasferimento dei file.,

Inizia usandonc per ascoltare su una porta specifica, con l’output catturato in un file:

nc nc-l 1234> nome file.out

Utilizzando una seconda macchina, connettersi al listeningncprocess, alimentando il file che deve essere trasferito:

nc nc host.example.com 1234 < filename.in

Dopo che il file è stato trasferito, la connessione si chiuderà automaticamente.

PARLARE CON I SERVER

A volte è utile parlare con i server”a mano”piuttosto che attraverso un’interfaccia utente.,Può aiutare nella risoluzione dei problemi, quando potrebbe essere necessario verificare quali dati un server sta inviando in risposta ai comandi emessi dal client.Ad esempio, per recuperare la home page di un sito web:

$ echo -n "GET / HTTP/1.0\r\n\r\n" | nc host.example.com 80

Si noti che questo visualizza anche le intestazioni inviate dal server web.Possono essere filtrati, utilizzando uno strumento come assed (1),se necessario.

Esempi più complicati possono essere compilati quando l’utente conosce il formato delle richieste richieste dal server.,Come altro esempio, un’e-mail può essere inviata a un server SMTP utilizzando:

PORT SCANNING

Può essere utile sapere quali porte sono aperte e servizi in esecuzione su una macchina di destinazione.Il flag-z può essere utilizzato per segnalare tellncto porte aperte, piuttosto che avviare una connessione.Ad esempio:

L’intervallo di porte è stato specificato per limitare la ricerca alle porte 20 – 30.

In alternativa, potrebbe essere utile sapere quale software server è in esecuzione e quali versioni.Queste informazioni sono spesso contenute all’interno dei banner di saluto.,Per recuperarli, è necessario prima effettuare una connessione e quindi interrompere la connessione quando il banner è stato recuperato.Questo è possibile specificare un timeout piccolo con l’-w bandiera, o forse con l’emissione di un”QUIT”comando per il server:

ESEMPI

Aprire una connessione TCP alla porta 42 del host.example.com utilizzando la porta 31337 inquanto porta di origine, con un timeout di 5 secondi:

$ nc -p 31337 -w 5 host.example.com 42

Aprire una connessione UDP la porta 53 del host.example.com:

$ nc -u host.example.com 53

Aprire una connessione TCP alla porta il 42 di host.esempio.,com utilizzando 10.1.2.3 come IP per la fine locale della connessione:

nc nc-s 10.1.2.3 host.example.com 42

Creare e ascoltare su un socket di dominio Unix:

nc nc-lU / var / tmp / dsocket

Connettersi alla porta 42 di host.example.com tramite un proxy HTTP a 10.2.3.4, porta 8080.Questo esempio potrebbe essere utilizzato anche da byssh(1); vedere ProxyCommanddirective inssh_config (5) per ulteriori informazioni.

nc nc-x10.2.3.4:8080-Xconnect host.example.com 42

VEDERE ANCHE

ssh (1)

AUTORI

Implementazione originale di * Hobbit * <[email protected]>.,
Riscritto con il supporto IPv6 da
.Un Eric Jackson Aq [email protected] .

AVVERTENZE

Le scansioni delle porte UDP avranno sempre successo(cioè riportano la porta come aperta),rendendo la combinazione di flag-uz relativamente inutile.

Pubblicità

Author: admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *