13 linux network comandi

18
Comandi base di rete ifconfig restituisce le configurazioni delle schede di rete installate netstat Mostra connessioni di rete, tabelle di routing, statistiche sulle interfacce, connessioni masquerade e messaggi netlink route mostra / manipola la tabella di routing IP tcpdump visualizza il contenuto dei pacchetti in transito sulla rete nc (netcat) utitlity che permette di leggere e scrivere dati nella rete mediante protocollo tcp-udp telnet protocollo/applicazione utente per la connessione interattiva su altri host con protocollo telnet ssh - OpenSSH, client SSH (programma per connessione remota)

Upload: luupuxall

Post on 13-Jun-2015

2.459 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: 13 Linux Network Comandi

Comandi base di reteifconfig restituisce le configurazioni delle schede di rete installate

netstat Mostra connessioni di rete, tabelle di routing, statistiche sulle interfacce, connessioni masquerade e messaggi netlink

route mostra / manipola la tabella di routing IP

tcpdump visualizza il contenuto dei pacchetti in transito sulla retenc (netcat) utitlity che permette di leggere e scrivere dati nella rete mediante protocollo tcp-udp

telnet protocollo/applicazione utente per la connessione interattiva su altri host con protocollo telnet

ssh - OpenSSH, client SSH (programma per connessione remota)

Page 2: 13 Linux Network Comandi

http://www.computernetworkdefence.co.uk/index.php/miscellaneous/rawpackets.html

Page 3: 13 Linux Network Comandi

http://www.computernetworkdefence.co.uk/index.php/miscellaneous/rawpackets.html

Page 4: 13 Linux Network Comandi

http://www.computernetworkdefence.co.uk/index.php/miscellaneous/rawpackets.html

Page 5: 13 Linux Network Comandi

http://www.computernetworkdefence.co.uk/index.php/miscellaneous/rawpackets.html

Page 6: 13 Linux Network Comandi

Link Utili TCP-IP

http://www.tcpipguide.com/http://it.wikipedia.org/wiki/Suite_di_protocolli_Internet

Page 7: 13 Linux Network Comandi

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) è un protocollo di livello di trasporto della suite di protocolli Internet

Il TCP può essere classificato al livello trasporto (OSI level 4) del modello di riferimento OSI, e di solito è usato in combinazione con il protocollo di livello rete (OSI level 3) IP.

N.b.La corrispondenza con il modello OSI non è perfetta, in quanto il TCP e l'IP nascono prima. La loro combinazione è indicata come TCP/IP e, alle volte, è erroneamente considerata un unico protocollo.Da qui, la difficoltà di una classificazione univoca per un protocollo che comprende, a pieno titolo, due livelli dello stack OSI (o pila ISO/OSI in italiano)

Page 8: 13 Linux Network Comandi

Transmission Control Protocol (TCP)

Il servizio offerto da TCP è il trasporto di un flusso di byte bidirezionale tra due applicazioni in esecuzione su host differenti.

Il flusso di byte viene frazionato in blocchi per la trasmissione dall'applicazione a TCP (che normalmente è implementato all'interno del sistema operativo).

TCP è un protocollo orientato alla connessione, ovvero prima di poter trasmettere dati deve stabilire la comunicazione, negoziando una connessione tra mittente e destinatario, che viene esplicitamente chiusa quando non più necessaria. Esso quindi ha le funzionalità per creare, mantenere e chiudere una connessione

TCP garantisce che i dati trasmessi, se giungono a destinazione, lo facciano in ordine e una volta sola.Questo è realizzato attraverso vari meccanismi di acknowledgment e di ritrasmissione su timeout.

TCP fornisce un servizio di multiplazione delle connessioni su un host, attraverso il meccanismo delle porte.

Page 9: 13 Linux Network Comandi

UDP (User Datagram Protocol)

UDP non offre nessuna garanzia dell'arrivo dei datagrammi né sul loro ordine di arrivo, al contrario il TCP tramite i meccanismi di riconoscimento (acknowledgement) e di ritrasmissione su timeout riesce a garantire la consegna dei dati, anche se al costo di un maggiore.

TCP è un protocollo orientato alla connessione, pertanto per stabilire, mantenere e chiudere una connessione, è necessario inviare pacchetti di servizio i quali aumentano il traffico di comunicazione. Al contrario, UDP invia solo i dati richiesti dal livello applicativo;

l'oggetto della comunicazione di TCP è il flusso di byte mentre quello di UDP è il singolo datagramma.

Page 10: 13 Linux Network Comandi

TCP vs UDP

L'utilizzo del protocollo TCP rispetto a UDP è, in generale, preferito quando è necessario avere garanzie sulla consegna dei dati o sull'ordine di arrivo dei vari segmenti (come per esempio nel caso di trasferimenti di

file). Al contrario UDP viene principalmente usato quando l'interazione tra i

due host è idempotente o nel caso si abbiano forti vincoli sulla velocità e l'economia di risorse della rete.

Page 11: 13 Linux Network Comandi

Connessione TCP

Ciascuna connessione TCP attiva è associata a un socket aperto da un processo.

A Ciascuna connessione tra due host viene associato un numero di porta su ciascuno dei due host, che è un numero compreso tra 1-65535.

Le porte sono numeri utilizzati per identificare una particolare connessione di trasporto tra quelle al momento attive su un calcolatore.

il socket è lo strumento offerto dal sistema operativo alle applicazioni per usare le funzionalità della rete.

Page 12: 13 Linux Network Comandi

Net-Socket Principio di funzionamento

Page 13: 13 Linux Network Comandi

Multiplazione e porte TCP

Nelle reti di calcolatori, le porte sono lo strumento per permettere ad un calcolatore di effettuare più connessioni contemporanee verso altri calcolatori, facendo in modo che i dati contenuti nei pacchetti in arrivo vengano indirizzati al processo che li sta aspettando.

Una connessione TCP è identificata dagli indirizzi IP dei due host e dalle porte utilizzate sui due host.

In questo modo, un server può accettare connessioni da più client contemporaneamente attraverso una o più porte.

Un client può stabilire più connessioni verso più destinazioni, ed è anche possibile che un client stabilisca contemporaneamente più connessioni indipendenti verso la stessa porta dello stesso server.

Page 14: 13 Linux Network Comandi

porte TCP

Le porte sono numeri utilizzati per identificare una particolare connessione di trasporto tra quelle al momento attive su un calcolatore.

I pacchetti appartenenti ad una connessione saranno quindi identificati dalla quadrupla :

[< IP sorgente>, <IP destinazione>, <porta sorgente>, <porta destinazione>].

Il livello di trasporto (tipicamente realizzato dal sistema operativo) associa a ciascuna porta utilizzata un punto di contatto (ad esempio, una socket), utilizzato da uno (o più) processi applicativi per trasmettere e/o ricevere dati.

Page 15: 13 Linux Network Comandi

porteEsiste una convenzione per cui ad alcuni numeri di porta sono associati determinati protocolli di livello applicativo. Ad esempio, se voglio contattare il server HTTP eventualmente in esecuzione su un certo calcolatore, so che devo tentare di stabilire una connessione verso la porta 80.

Le porte conosciute sono assegnate dall'Internet Assigned Numbers Authority (IANA), sono quelle inferiori a 1024, e sono generalmente utilizzate a livello di sistema operativo o di processi di sistema. In genere rimangono in ascolto su queste porte applicazioni con funzioni di server. Alcuni esempi possono essere le applicazioni che utilizzino protocolli FTP (21) SSH (22), TELNET (23), SMTP (25) e HTTP (80). Sono dette porte ben note.

http://it.wikipedia.org/wiki/Lista_di_porte_standard

Page 16: 13 Linux Network Comandi

TCP Three-way handshake

Page 17: 13 Linux Network Comandi

TCP Three-way handshake

A= Client (Application Layer)B= Server (application Layer)ISN= Initial Sequence Number

1. A invia un segmento SYN a B - il flag SYN è impostato a 1 e il campo Sequence number contiene il valore x che specifica l' Initial Sequence Number di A;

2. B invia un segmento SYN/ACK ad A - i flag SYN e ACK sono impostati a 1, il campo Sequence number contiene il valore y che specifica l' Initial Sequence Number di B e il campo Acknowledgment number contiene il valore x+1 confermando la ricezione del ISN di A;

3. A invia un segmento ACK a B - il campo Acknowledgment number contiene il valore y+1 confermando la ricezione del ISN di B.

Page 18: 13 Linux Network Comandi

TCP Three-way handshake