Newsgroup: it.comp.os.linux.sys
Titolo: Come vengono strutturati i pacchetti TCP (un vostro aiuto a riguardo)

Ciao a tutti, vi chiedo un po' di pazienza... qualcuno potrebbe spiegarmi il
significato di alcuni parametri presenti nei seguenti pacchetti:
ho fatto un tethereal
3.720698   YY.YY.YY.YY -> XX.XX.XX.XX   SSH Encrypted response packet
len=192
3.720738   YY.YY.YY.YY -> XX.XX.XX.XX   SSH Encrypted response packet
len=144
3.723243   XX.XX.XX.XX -> YY.YY.YY.YY    TCP 5060 > 22 [ACK] Seq=912
Ack=209200 Win=16752 Len=0
3.720698 cosa indicano??? si trata di un ID univoco o di altro?
len cosa indica??? la lunghezza del pacchetto in byte?
win cosa indica??? perchè non c'è in tutti i pacchetti??
ack non dovrebbe essere il flag ack? (quindi non dovrebbe essere 0 o 1)??
seq è il sequence number restituito? (quindi il valore della sessione)
tcpdump
00:30:55.635327 IP (tos 0x0, ttl 115, id 358, offset 0, flags [DF], proto:
TCP (6), length: 40) XX.XX.XX.XX.5060 > YY.YY.YY.YY.22: ., cksum 0x0c19
(correct), ack 46592 win 17424
00:30:55.635339 IP (tos 0x10, ttl  64, id 34119, offset 0, flags [DF],
proto: TCP (6), length: 248) YY.YY.YY.YY.22 > XX.XX.XX.XX.5060: P
54736:54944(208) ack 193 win 7056
00:30:55.635438 IP (tos 0x10, ttl  64, id 34120, offset 0, flags [DF],
proto: TCP (6), length: 424) YY.YY.YY.YY.22 > XX.XX.XX.XX.5060: P
54944:55328(384) ack 193 win 7056
00:30:55.647157 IP (tos 0x0, ttl 115, id 359, offset 0, flags [DF], proto:
TCP (6), length: 88) XX.XX.XX.XX.5060 > YY.YY.YY.YY.22: P 193:241(48) ack
47008 win 17008
00:30:55.647170 IP (tos 0x10, ttl  64, id 34121, offset 0, flags [DF],
proto: TCP (6), length: 248) YY.YY.YY.YY.22 > XX.XX.XX.XX.5060: P
55328:55536(208) ack 241 win 7056
Anche in questo caso non capisco il singnificato di ack (che non ha valori 0
o 1) e di win (non capisco cosa indica e perchè in questo caso è presente in
tutti i pacchetti... in tethereal non c'era in tutti)
inoltre nei valori tra parentesi (.......) dopo IP:
tos cosa indica?
id ... questo id univoco cosa indica e quando viene aggiornato?
offset ...è  usato in caso di frammentazione, in questo caso è 0 perchè non
si tratta di pacchetti frammentati
flags indica i flags TCP? In caso affermativo perchè c'è DF? (e perchè DF in
tutti??)
(6) perchè il valore 6 dopo il protocollo?
lenght indica la lunghezza di ogni pacchetto in bit? e varia in funzione dei
dati passati?
Grazie per l'aiuto e per la pazienza nel rispondere a tutte le domande!!

 
Perché quando tethereal riconosce il pacchetto come appartenente ad un 
protocollo di livello superiore (es. ssh che è superiore a TCP perché è 
costruito "appoggiandosi" a TCP) ti nasconde le informazioni relative ai 
livelli inferiori che continuano ad esistere ma non te le evidenzia.
Per il resto ti rimando oltre che ad un buon libro sul networking anche 
alla documentazione dei programmi.
Alessandro.

 significato di alcuni parametri presenti nei seguenti pacchetti:
se hai un po di tempo prova a vedere qui
ftp://ftp.rfc-editor.org/in-notes/rfc793.txt
e in generale 
http://www.ietf.org
 può essere molto istruttivo.
ciao

Grazie ad entrambi per l'aiuto!!!

 Grazie per l'aiuto e per la pazienza nel rispondere a tutte le domande!!
Ti consiglio un ottimo libro: TCP/IP Illustrated, vol. 1. 

 newsgroup sull'argomento.
Sequence Number, header TCP.