![]() | ![]() |
|
|
Networking di base
----1------- Il modello di rete ISO/OSI
----1.1----- I livelli
----2------- Il protocollo TCP/IP
----2.1----- I componenti del protocollo TCP/IP
----2.2----- Implementazione del protocollo TCP/IP nel modello ISO/OSI
----2.3----- Indirizzamento IP nel TCP/IP
----3------- Le topologie di rete
----4------- Il portscanning
1. Il modello di rete ISO/OSI
L'ISO (International Standards Organization) è formata da un gruppo di scienziati che fornisce le standardizzazioni, in campo scientifico, a più di 100 paesi. Alla fine degli 414i83e anni '70 questa organizzazione implementò un modello di rete per il collegamento dei sistemi, modello che fu parzialmente modificato dai professionisti in questione. Alla fine, nel 1984, venne fuori il risultato: IL MODELLO OSI (Open Systems Interconnection). Internet e la maggior parte delle reti si basano su questo standard, vediamo di campirne il funzionamento.
1.1. I livelli
Il modello ISO/OSI è costituito da sette livelli (detti anche moduli) di organizzazione dell'hardware e del software. (Figura 1)
Ogni livello fornisce determinate funzioni ai due livelli sovrastanti e/o sottostanti. E ognuno racchiude un protocollo che definisce le funzionalità del livello.
Figura 1:
Livello |
Tipo di dati |
Livello dell'applicazione |
Messaggi |
Livello di presentazione |
Messaggi |
Livello della sessione |
Messaggi |
Livello del trasporto |
Messaggi |
Livello della rete |
Pacchetti |
Livello data-link |
Frame |
Livello fisico |
Bit |
2. Il protocollo TCP (Transfer Control Protocol / Internet Protocol)
I nodi di una rete, ovvero gli host connessi fra loro scambiano informazioni utilizzando una serie di regole ben definite chiamate protocolli. Il protocollo più diffuso (e naturalmente quello utilizzato da Internet) è il TCP/IP.
2.1. I componenti del protocollo TCP/IP
Il TCP/IP è costituito da un gruppo di protocolli che gestiscono le comunicazioni di rete. I quattro protocolli principalmente utilizzati sono:
IP (Internet Protocol) Trasferisce i dati fra gli host (computer connessi) della rete.
TCP (Transfer Control Protocol) Altro protocollo di trasferimento come l'IP che invia e riceve dati utilizzando un flusso byte-stream cioè trasmette i dati con un'unica sequenza di byte. Il flusso dei dati TCP può essere di due tipi: flusso di massa (es. FTP, NEWS) e flusso interattivo (TELNET).
UDP (User Datagram Protocol) E' un protocollo di trasmissione più veloce in quanto l'host mittente, in fase di trasmissione, non apre una connessione con l'host destinatatio. Tuttavia questo protocollo è meno affidabile del TCP.
ICMP (Internet Control Message Protocol) Gestisce i messaggi di errore di una rete.
2.2. Implementazione del protocollo TCP/IP nel modello ISO/OSI
I dati da trasmettere ai vari host della rete attraversano tutti i sette livelli del modello ISO/OSI seguendo uno schema TCP/IP ben preciso. D'altra parte l'OSI costituisce un modello ma è il TCP/IP a dettare le regole delle trasmissioni. Prima di analizzare livello per livello è bene comprendere il seguente schema:
Modello ISO/OSI |
Implementazione TCP/IP |
|
|
Livello dell'applicazione |
Software |
Livello di presentazione |
Livello del trasporto |
TCP UDP |
|
||
|
||
|
Livello della rete |
IGMP ---- IP ----- ICMP |
|
Livello data-link |
ARP ---- Interfaccia Hw ---- RARP |
|
Livello fisico |
Cavo della rete (passano impulsi elettrici) |
2.2.1 Livello fisico
Il livello fisico si occupa di trasmettere i bit da un'host all'altro sotto forma di impulsi elettrici. Questo modulo specifica le caratteristiche del cavo di collegamento tra le macchine. Ad esempio se il livello fisico della rete è costituito da un cavo coassiale, essa verrà codificata in modo diverso da una rete che sfrutta la tecnologia del doppino.
2.3 Indirizzamento IP nel TCP/IP
L'indirizzamento IP per essere compreso presuppone la conoscenza basica del sistema di numerazione binario e delle conversioni in base 10, quindi inizierò col dare un'infarinatura in merito a queste cose.
Il sistema binario è costituito da numeri che vanno da 0 a 1 chiamati bit. Un byte è un raggruppamento di 8 bit (es. 10110111). Per convertire un numero binario in decimale basta sapere che la prima cifra (partendo da destra), ovvero quella meno significativa, ha peso 20, di conseguenza all'aumentare delle cifre in questione (sempre partendo da destra) aumentano gli esponenti quindi la seconda cifra avrà peso 21, la tersa 22 e cosi via. Le cifre binarie da prendere in considerazione sono gli uni quindi nel nostro caso il byte 10110111 equivale a 183:
= 183
Se un bit è costituito da tutti uni (11111111) il valore corrispondente decimale sarà: 255 (28 -1), il numero decimale 255 è molto frequente nell'indirizzamento IP.
E' arrivato il momento di prendere in considerazione gli indirizzi IP. Sono costituiti da 4 classi di valori decimali (da 0 a 255) separati da un punto: xxx.xxx.xxx.xxx ad es. 134.24.55.2 che è di classe B perché la prima cifra è 134 (vedi tabella n.1).
Tabella n. 1:
CLASSI DI INDIRIZZI IP |
|||
|
Cifra iniziale dell'indirizzo |
||
Classe |
Punto di partenza (base 2) |
Punto di partenza (base 10) |
Punto di arrivo (base 10) |
A B C D E |
|
|
127 (loop-back) |
Prima di affrontare il discorso della Netmasking è bene conoscere la funzione logica AND tra numeri binari. Basta prendere in considerazione la seguente tabella di verità:
1 AND 1 |
|
0 AND 1 |
|
1 AND 0 |
|
0 AND 0 |
|
Quindi il risultato di un AND logico tra:
AND
=
Prendiamo ora in considerazione la tabella n. 2 dove sono elencate le netmask di default:
Tabella n. 2:
Classe |
Net-Mask di default |
Significato dell'IP |
IP esemplificativi |
Indirizzi di rete esemplificativi |
A B C |
|
N.H.H.H N.N.H.H N.N.N.H |
|
|
Prendiamo in considerazione l'indirizzo esemplificativo della classe A (10.0.1.23) e facciamo l'AND con la sua netmask di default (255.0.0.0), otterremo 10.0.0.0 ovvero l'indirizzo di rete. Il primo byte dell'indirizzo IP di classe A fornisce un indirizzo di rete (N) mentre gli altri tre byte forniscono gli indirizzi host (H). Un'indirizzo di classe A ha quindi forma: N.H.H.H
Un indirizzo di classe B ha forma: N.N.H.H
Un indirizzo di classe C ha forma: N.N.N.H
Le tre principali topologie di rete sono quelle a stella, ad anello e a bus.
Topologia a stella:
E' costituita da un server centrale dove sono fisicamente collegati tutti gli altri computer chiamati nodi o client. Nessun client è collegato fisicamente ad un altro client il che significa che tutti dati passano per il server (fig. 1).
Il vantaggio di questa rete è che se si dovesse verificare
un crash ad un nodo il resto della rete continuerebbe a funzionare come se
niente fosse ma poiché i dati passano tutti per il server, esso deve essere
SEMPRE funzionante quindi è consigliabile impiegare un server sicuro per il
corretto funzionamento della rete.
Topologia ad anello:
In questa topologia un nodo si connette all'altro chiudendo il cerchio dei nodi formando un anello. E' sprovvista di un server centrale (fig. 2).
Questa rete presenta vari svantaggi, innanzitutto una interruzione di un nodo o nell'hardware che collega i computer provoca il blocco di tutta la rete. Inoltre i dati trasmessi passano per tutti i computer compresi tra quello di partenza e quello di destinazione quindi il livello di sicurezza di questa topologia di rete è inferiore a quello della topologia a stella.
Topologia a bus:
Questo tipo di rete utilizza un solo cavo di trasmissione chiamato bus. Tutti gli host della rete si collegano direttamente al bus. In questa rete i dati scorrono avanti e indietro nel bus (fig. 3).
Una interruzione di qualsiasi computer, come nella rete ad anello, provoca il blocco dell'intera rete. Questa topologia richiede dei connettori posti alla fine del bus chiamati terminatori. Come abbiamo potuto notare anche questa topologia è meno sicura rispetto alla configurazione a stella.
4. Il portscanning
4.1. Introduzione
Il portscanning è un argomento molto interessante e indispensabile per tutti coloro che si occupano di networking visto che consente di analizzare reti e singoli host remotamente. Queste tecniche sono quotidianamente utilizzate dagli hacker per ottenere informazioni sul loro target e per questo anche i sysadmin dovrebbero conoscerle.
In modo più scientifico possiamo definire il portscanning come il processo di connessione a porte TCP e UDP su un sistema al fine di determinare i servizi in esecuzione o in stato di LISTENING.
Le tre possibili informazioni che si possono ottenere:
Identificazione del sistema operativo
Identificazione di servizi TCP e UDP in esecuzione sul sistema
Identificazione di applicazioni specifiche o versioni di un servizio sul sistema
4.2. Connessione TCP: Handshake a tre vie
Prima di esaminare in dettaglio le tecniche di scan è bene spiegare come funziona una connessione TCP. Quando un host di una rete (client) che tenta di stabilire una connessione TCP su un sistema (server) che fornisce un servizio si verificano delle trasmissioni nel seguente modo:
Il client invia un SYN al server
Il server accetta la connessione rispondendo con un SYN-ACK al client
Il client invia al server un ACK
A questo punto la connessione è attiva e si procede con lo scambio di dati fra i due host.
4.3. Tecniche di portscanning
esistono varie tecniche di portscanning:
Scan TCP connect() Questo scan connette alle porte dell'host e completa un handshake a tre vie. Facilmente rilevabile dal sistema quindi è raro che venga usato da un hacker.
Scan TCP SYN In questo scan non viene portato a termine l'handshake quindi non vi è una vera e propria connessione.
Supponiamo di dover scannerizzare la porta 80 dell'host 207.46.230.219.
INVIO un pacchetto TCP SYN all porta 80
Se RICEVO:
Un SYN/ACK -> la porta 80 è in LISTENING
Un RST/ACK -> la porta 80 non è in LISTENING
INVIO un RST/ACK per evitare di completare l'handshake.
Scan TCP FIN. Questa tecnica funziona nel seguente modo:
INVIO un pacchetto TCP FIN alla solita porta 80 (nel nostro caso)
Se RICEVO un RST -> la porta è chiusa
Scan TCP Xmas Tree E' come il TCP FIN, l'unica differenza è che manda un pacchetto con FIN, URG e PUSH impostati.
Scan Null Scan. L'output funziona come nel TCP FIN. Manda un pacchetto alla nostra porta con tutti i flag disattivati.
Scan UDP scan Questo scan manda un pacchetto UDP alla porta 80, se essa risponde con un ICMP port unreacheable la porta è aperta altrimenti è chiusa.
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025