[Linux-Biella] I protocolli TCP/IP sono addomesticabili?

TM gtrive a gmail.com
Mar 11 Dic 2007 21:39:42 CET


> flag RST settato a
> 1, che "costringe il ricevente ad interrompere la connessione".
>
> Comunque, in effetti non era il lato legale ad interessarmi ma  
> quello tecnico.
>
> Secondo voi tale inconveniente sarebbe superabile con un'adeguata
> configurazione di Linux (iptables ?) oppure i protocolli NON prevedono
> che tali comandi (di reset o altro) possano essere ignorati?

Che io sappia no.
Quando due computer comunicano si scambiano dei messaggi detti  
pacchetti che hanno una struttura fissata; uno dei protocolli di  
comunicazione è il TCP.
La struttura di un pacchetto TCP è questa:
http://www.wtcs.org/snmp4tpc/images/TCP-Header.jpg

Quando A vuole iniziare a parlare con B manda un messaggio con il bit  
SYN impostato ad 1; B allora risponde con un pacchetto con ACK e SYN =  
1; A risponde con ACK=1 ed inizia la trasmissione dei dati.
(questo è detto three-way handshake)
Per terminare una comunicazione di solito uno tra A e B manda un  
pacchetto con il bit "FIN" impostato a 1.
In qualche caso però uno dei due comunicanti può richiedere un reset  
della connessione (per vari motivi) e lo fa utilizzando il bit di RST;  
in questo caso la connessione viene chiusa al più presto da entrambi i  
lati.

Capirai bene che se tu, A, apri una connessione con B se ad un certo  
punto ricevi un pacchetto del tipo:
sorgente: B
destinazione: A
reset: 1
...
pensi che B voglia terminare la comunicazione.
Ma il pacchetto appena descritto può essere "forgiato" più o meno da  
chiunque e tu non puoi sapere (almeno a livello TCP) se è stato  
davvero B a mandarlo... semplicemente ti fidi del pacchetto e chiudi  
la connessione.

Potresti metterti a modificare il TCP però dubito che questa sia la  
risposta che cerchi!
Ciao!


---
Marco

"Think Different"


-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://ml.bilug.linux.it/pipermail/linux/attachments/20071211/8e530769/attachment-0001.html 


Maggiori informazioni sulla lista Linux