orm@doc-tcpip.org

Erstellt: Januar 2001 - Letzte Modifikation: Mai 2001

[ Main | Local ]


FTP aufs Paket geschaut


Das ist ein Beispiel IP-Trace einer FTP-Verbindung zwischen dem Rechner Cristina und dem Rechner Nimmaster. Es wird ein kleines File übertragen, und zwar wird es einmal von Cristina auf Nimmaster abgelegt, und dann nochmal zu Cristina zurückübertragen.

Hier die blutigen Einzelheiten. Die Felder eines Paketes sind hier genau erklärt.


Packet Number 6
TOK: ====( 66 bytes transmitted on interface tr0 )==== 16:21:08.361153276
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=44, ip_id=33737, ip_off=0
IP:  	ip_ttl=60, ip_sum=e548, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c494, th_ack=0
TCP: 	th_off=6, flags SYN
TCP: 	th_win=16384, th_sum=aa0f, th_urp=0
TCP: 00000000     020405ac                                |....            |

Das ist der Verbindungsaufbau. Cristina verbindet von Port 54129 (ein beliebiger, flüchtiger (ephemeral) Port) nach Port 21 (der Well Known Port des ftpd) von Nimmaster und sendet ein SYN-Flag, möchte sich also mit Nimmaster unterhalten. Die eigene Seqünznummer ist gegeben, die von Nimmaster ist unbekannt, deshalb ist sie auf 0 gesetzt.


Packet Number 7
TOK: ====( 66 bytes received on interface tr0 )==== 16:21:08.362856569
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=57651, ip_off=0
IP:  	ip_ttl=60, ip_sum=87ee, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe8216, th_ack=59c495
TCP: 	th_off=6, flags SYN | ACK 
TCP: 	th_win=15972, th_sum=5685, th_urp=0
TCP: 00000000     020405ac                                |....            |

Nimmaster bestätigt den Empfang des Paketes (ACK-Flag) und setzt seine Seqünznummer. Auch er möchte sich mit Cristina synchronisieren, deshalb das SYN-Flag.


Packet Number 8
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:21:08.362877030
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=33738, ip_off=0
IP:  	ip_ttl=60, ip_sum=e54b, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c495, th_ack=d2fe8217
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=6e3a, th_urp=0

Cristina antwortet mit einem ACK. Der TCP-3-Wege Handshake ist komplett, die Verbindung synchron. Im netstat -aA würde man als "state" ESTABLISHED sehen. Es können Daten ausgetauscht werden.


Packet Number 9
TOK: ====( 138 bytes received on interface tr0 )==== 16:21:08.432277464
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=116, ip_id=57655, ip_off=0
IP:  	ip_ttl=60, ip_sum=8792, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe8217, th_ack=59c495
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=d4df, th_urp=0
TCP: 00000000     32323020 6e696d6d 61737465 72204654     |220 nimmaster FT|
TCP: 00000010     50207365 72766572 20285665 7273696f     |P server (Versio|
TCP: 00000020     6e20342e 31204672 69204a75 6c203238     |n 4.1 Fri Jul 28|
TCP: 00000030     2031383a 30393a35 33204344 54203230     | 18:09:53 CDT 20|
TCP: 00000040     30302920 72656164 792e0d0a              |00) ready...    |

Nimmasters FTP-Deamon schickt eine Message. Die Nachrichten des Servers haben immer eine Code-Nummer voraus. Daran wird die Nachricht identifiziert und im nationalen Locale umgesetzt.


Packet Number 10
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:21:08.535933215
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=33739, ip_off=0
IP:  	ip_ttl=60, ip_sum=e54a, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c495, th_ack=d2fe8263
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=6dee, th_urp=0

Cristina teilt mit, dass das Paket angekommen ist.


Packet Number 11
TOK: ====( 75 bytes transmitted on interface tr0 )==== 16:21:09.504719923
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=53, ip_id=33741, ip_off=0
IP:  	ip_ttl=60, ip_sum=e53b, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c495, th_ack=d2fe8263
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=d043, th_urp=0
TCP: 00000000     41555448 20475353 4150490d 0a           |AUTH GSSAPI..   |

In diesen beiden Paketen testet Cristina, wie Nimmaster User authentifiziert. Nimmaster macht Standard AIX Authentifizierung und sagt das im nächsten Paket.


Packet Number 12
TOK: ====( 62 bytes received on interface tr0 )==== 16:21:09.507411469
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=57656, ip_off=0
IP:  	ip_ttl=60, ip_sum=87dd, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe8263, th_ack=59c4a2
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15959, th_sum=6dee, th_urp=0

Naja, zuerst sagt er, daß er das Paket gekriegt hat.


Packet Number 13
TOK: ====( 111 bytes received on interface tr0 )==== 16:21:09.526672397
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=89, ip_id=57657, ip_off=0
IP:  	ip_ttl=60, ip_sum=87ab, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe8263, th_ack=59c4a2
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=e5af, th_urp=0
TCP: 00000000     35303220 61757468 656e7469 63617469     |502 authenticati|
TCP: 00000010     6f6e2074 79706520 63616e6e 6f742062     |on type cannot b|
TCP: 00000020     65207365 7420746f 20475353 4150490d     |e set to GSSAPI.|
TCP: 00000030     0a                                      |.               |

Also normale Authentifizierung.


Packet Number 14
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:21:09.546140400
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=33742, ip_off=0
IP:  	ip_ttl=60, ip_sum=e547, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c4a2, th_ack=d2fe8294
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=6db0, th_urp=0

Cristina hat auch das verstanden.


Packet Number 15
TOK: ====( 73 bytes transmitted on interface tr0 )==== 16:21:09.580670672
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=51, ip_id=33743, ip_off=0
IP:  	ip_ttl=60, ip_sum=e53b, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c4a2, th_ack=d2fe8294
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=c508, th_urp=0
TCP: 00000000     55534552 20726f6f 740d0a                |USER root..     |

Jetzt setzt Cristina ein FTP-Kommando ab: USER. Das kann man auch auf der FTP-Kommandozeile absetzen. Der User ist root.


Packet Number 16
TOK: ====( 95 bytes received on interface tr0 )==== 16:21:09.609004420
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=73, ip_id=57658, ip_off=0
IP:  	ip_ttl=60, ip_sum=87ba, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe8294, th_ack=59c4ad
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=972c, th_urp=0
TCP: 00000000     33333120 50617373 776f7264 20726571     |331 Password req|
TCP: 00000010     75697265 6420666f 7220726f 6f742e0d     |uired for root..|
TCP: 00000020     0a                                      |.               |

Nimmaster checkt und findet, das root ein Passwort braucht. Er gibt Message 331 zurück.


Packet Number 17
TOK: ====( 74 bytes transmitted on interface tr0 )==== 16:21:09.612492128
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=52, ip_id=33744, ip_off=0
IP:  	ip_ttl=60, ip_sum=e539, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c4ad, th_ack=d2fe82b5
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=d08f, th_urp=0
TCP: 00000000     50415353 2073696d 62610d0a              |PASS simba..    |

Hier das FTP-Subkommando PASS mit dem unverschlüsselten Passwort für Nimmaster.


Packet Number 18
TOK: ====( 88 bytes received on interface tr0 )==== 16:21:09.671381535
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=66, ip_id=57659, ip_off=0
IP:  	ip_ttl=60, ip_sum=87c0, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe82b5, th_ack=59c4b9
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=773e, th_urp=0
TCP: 00000000     32333020 55736572 20726f6f 74206c6f     |230 User root lo|
TCP: 00000010     67676564 20696e2e 0d0a                  |gged in...      |

Root ist drin. Diese Pakete waren alle mit dem Flag PUSH gesendet. Dadurch wird erreicht, das die Daten direkt an die TCP-Schicht weitergeben werden und nicht in einer Warteschlange warten.


Packet Number 19
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:21:09.747957419
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=33745, ip_off=0
IP:  	ip_ttl=60, ip_sum=e544, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c4b9, th_ack=d2fe82cf
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=6d5e, th_urp=0

Cristina nimmt das zur Kenntnis.


Packet Number 123
TOK: ====( 86 bytes transmitted on interface tr0 )==== 16:24:32.190471315
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=64, ip_id=33984, ip_off=0
IP:  	ip_ttl=60, ip_sum=e43d, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c4b9, th_ack=d2fe82cf
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=15ce, th_urp=0
TCP: 00000000     504f5254 20392c33 392c302c 37342c32     |PORT 10.9.9.9,2|
TCP: 00000010     31312c31 31350d0a                       |11,115..        |

Von Cristina möchte root jetzt ein File übertragen (dasselbe würde bei einem längeren Listing auch passieren). Daher schickt Cristina an Nimmaster das FTP-Subkommando PORT, um Nimmaster den Port mitzuteilen, den er benutzen soll. Das geht wie folgt:
PORT Kommando:
6 Dezimalstellen in ASCII, zb. PORT 10.9.9.9,211,115
Die ersten 4 Zahlen: IP Adresse ==> 10.9.9.9.
Die lezten 2 Zahlen sind die Portnummer in einer 16bit Darstellung.
Also mit 256 malnehmen:
211 * 256 + 115 = 54131


Packet Number 124
TOK: ====( 92 bytes received on interface tr0 )==== 16:24:32.192801910
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=70, ip_id=57723, ip_off=0
IP:  	ip_ttl=60, ip_sum=877c, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe82cf, th_ack=59c4d1
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=b038, th_urp=0
TCP: 00000000     32303020 504f5254 20636f6d 6d616e64     |200 PORT command|
TCP: 00000010     20737563 63657373 66756c2e 0d0a         | successful...  |

Nimmaster sagt, das er alles mitgeschnitten hat.


Packet Number 125
TOK: ====( 77 bytes transmitted on interface tr0 )==== 16:24:32.204456810
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=55, ip_id=33985, ip_off=0
IP:  	ip_ttl=60, ip_sum=e445, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c4d1, th_ack=d2fe82ed
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=2599, th_urp=0
TCP: 00000000     53544f52 206f726d 2e746573 740d0a       |STOR orm.test.. |

Hier setzt jetzt Cristina das FTP-Subkommando STOR ab, sie möchte also auf Nimmasters Platte schreiben. Der Filename, also wie das File auf Nimmasters Platte heißen soll, wird ebenfalls mitgegeben.


Packet Number 126
TOK: ====( 66 bytes received on interface tr0 )==== 16:24:32.227670025
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=44, ip_id=57724, ip_off=0
IP:  	ip_ttl=60, ip_sum=879d, ip_p = 6 (TCP)
TCP: 	< source port=20(ftp-data), destination port=54131 >
TCP: 	th_seq=f0b69e68, th_ack=0
TCP: 	th_off=6, flags SYN 
TCP: 	th_win=16384, th_sum=dfdc, th_urp=0
TCP: 00000000     020405ac                                |....            |

Es ist jetzt die Aufgabe des ftpd auf Nimmaster, die Datenverbindung von seinem Port 20 zu Cristina auf dem von Cristina bestimmten Port zu öffnen. Hier ist das 1. Paket des Handshake, mit einem SYN-Flag und neür Sequenznummer.


Packet Number 127
TOK: ====( 66 bytes transmitted on interface tr0 )==== 16:24:32.227696564
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=33986, ip_off=0
IP:  	ip_ttl=60, ip_sum=e45f, ip_p = 6 (TCP)
TCP: 	< source port=54131, destination port=20(ftp-data) >
TCP: 	th_seq=85edc47f, th_ack=f0b69e69
TCP: 	th_off=6, flags SYN | ACK 
TCP: 	th_win=15972, th_sum=96fa, th_urp=0
TCP: 00000000     020405ac                                |....            |

Handshake...


Packet Number 128
TOK: ====( 62 bytes received on interface tr0 )==== 16:24:32.227701799
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=40, ip_id=57725, ip_off=0
IP:  	ip_ttl=60, ip_sum=87a0, ip_p = 6 (TCP)
TCP: 	< source port=20(ftp-data), destination port=54131 >
TCP: 	th_seq=f0b69e69, th_ack=85edc480
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=aeaf, th_urp=0

Handshake... Hier sei es nochmal erwähnt: Wir haben jetzt zwei vollständige Verbindungen über das Internet:
Die Steuer-Verbindung:
cristina (port 54129) ----- nimmaster (port 21)
Die Daten-Verbindung:
nimmaster (port 20) ----- cristina (port 54131)


Packet Number 129
TOK: ====( 105 bytes received on interface tr0 )==== 16:24:32.228510418
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=83, ip_id=57726, ip_off=0
IP:  	ip_ttl=60, ip_sum=876c, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe82ed, th_ack=59c4e0
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=9f0d, th_urp=0
TCP: 00000000     31353020 4f70656e 696e6720 64617461     |150 Opening data|
TCP: 00000010     20636f6e 6e656374 696f6e20 666f7220     | connection for |
TCP: 00000020     6f726d2e 74657374 2e0d0a                |orm.test...     |

Nimmaster bestätigt, das es jetzt los geht.


Packet Number 130
TOK: ====( 1514 bytes transmitted on interface tr0 )==== 16:24:32.252098545
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=1492, ip_id=33987, ip_off=0
IP:  	ip_ttl=60, ip_sum=deae, ip_p = 6 (TCP)
TCP: 	< source port=54131, destination port=20(ftp-data) >
TCP: 	th_seq=85edc480, th_ack=f0b69e69
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=c5ff, th_urp=0
TCP: 00000000     0d0a494e 53545255 4354494f 4e532054     |..INSTRUCTIONS T|
TCP: 00000010     4f205345 54555020 414e204e 49532b20     |O SETUP AN NIS+ |
TCP: 00000020     4d415354 45520d0a 0d0a3129 20546865     |MASTER....1) The|
# Inhalt des Pakets gekürzt.
TCP: 00000580     623a5632 35464e56 7578344e 5738593a     |b:V25FNVux4NW8Y:|
TCP: 00000590     3230313a 31313a3a 2f686f6d 652f626f     |201:11::/home/bo|
TCP: 000005a0     623a2f75 73722f62 696e2f6b              |b:/usr/bin/k    |

Hier fliessen jetzt die Daten, das Paket habe ich gekürzt. Im Paket 129 hat Nimmaster gesagt, das es mit dem Byte 59c4e0 (th_ack=59c4e0) losgehen soll. Das Paket ist voll, es hat eine Grösse von 1505 bytes.


Packet Number 131
TOK: ====( 1505 bytes transmitted on interface tr0 )==== 16:24:32.252133148
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=1483, ip_id=33988, ip_off=0
IP:  	ip_ttl=60, ip_sum=deb6, ip_p = 6 (TCP)
TCP: 	< source port=54131, destination port=20(ftp-data) >
TCP: 	th_seq=85edca2c, th_ack=f0b69e69
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=bc18, th_urp=0
TCP: 00000000     73683a3a 3a3a3a3a 3a0d0a72 69636b79     |sh:::::::..ricky|
TCP: 00000010     3a6c3272 2e6d7570 77446943 41323a32     |:l2r.mupwDiCA2:2|
TCP: 00000020     30323a31 313a3a2f 686f6d65 2f726963     |02:11::/home/ric|
# Inhalt des Pakets gekürzt.
TCP: 00000580     0d0a4172 756e610d 0a49424d 2c417573     |..ARxxx..IBM,Aus|
TCP: 00000590     74696e0d 0a353132 2d383233 2d393033     |tin..xxxxxxxxxxx|
TCP: 000005a0     360d0a                                  |6..             |

Nochmal Daten..


Packet Number 132
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:24:32.252477369
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=40, ip_id=33989, ip_off=0
IP:  	ip_ttl=60, ip_sum=e458, ip_p = 6 (TCP)
TCP: 	< source port=54131, destination port=20(ftp-data) >
TCP: 	th_seq=85edcfcf, th_ack=f0b69e69
TCP: 	th_off=5, flags FIN | ACK 
TCP: 	th_win=15972, th_sum=a35f, th_urp=0

Cristina hat die Daten in zwei Paketen geschickt. Für sie ist die Angelegenheit erledigt, deshalb in diesem dritten Paket direkt ein FIN, was von dieser Seite die Verbindung schliesst.


Packet Number 133
TOK: ====( 62 bytes received on interface tr0 )==== 16:24:32.256006420
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=40, ip_id=57727, ip_off=0
IP:  	ip_ttl=60, ip_sum=879e, ip_p = 6 (TCP)
TCP: 	< source port=20(ftp-data), destination port=54131 >
TCP: 	th_seq=f0b69e69, th_ack=85edcfd0
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=14529, th_sum=a902, th_urp=0

Nimmaster bestätigt den Empfang der Daten.


Packet Number 134
TOK: ====( 62 bytes received on interface tr0 )==== 16:24:32.258664025
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=40, ip_id=57728, ip_off=0
IP:  	ip_ttl=60, ip_sum=879d, ip_p = 6 (TCP)
TCP: 	< source port=20(ftp-data), destination port=54131 >
TCP: 	th_seq=f0b69e69, th_ack=85edcfd0
TCP: 	th_off=5, flags FIN | ACK 
TCP: 	th_win=15972, th_sum=a35e, th_urp=0

Und den Empfang des FIN. In diesem Paket ist nicht nur das ACK, sondern zugleich auch noch das nimmasterseitige FIN.


Packet Number 135
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:24:32.258684486
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=40, ip_id=33990, ip_off=0
IP:  	ip_ttl=60, ip_sum=e457, ip_p = 6 (TCP)
TCP: 	< source port=54131, destination port=20(ftp-data) >
TCP: 	th_seq=85edcfd0, th_ack=f0b69e6a
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=a35e, th_urp=0

Cristina bestätigt diese Information. Damit ist die Daten-Leitung ordnungsgemäss abgebaut.


Packet Number 136
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:24:32.338606959
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=33991, ip_off=0
IP:  	ip_ttl=60, ip_sum=e44e, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c4e0, th_ack=d2fe8318
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=6cee, th_urp=0

Hier ein ACK auf der Steuer-Leitung.


Packet Number 137
TOK: ====( 86 bytes received on interface tr0 )==== 16:24:32.340083500
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=64, ip_id=57729, ip_off=0
IP:  	ip_ttl=60, ip_sum=877c, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe8318, th_ack=59c4e0
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=9dd8, th_urp=0
TCP: 00000000     32323620 5472616e 73666572 20636f6d     |226 Transfer com|
TCP: 00000010     706c6574 652e0d0a                       |plete...        |

Nimmaster teilt Cristina auf der Steuerleitung mit, das die Daten da sind.


Packet Number 138
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:24:32.546690190
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=33992, ip_off=0
IP:  	ip_ttl=60, ip_sum=e44d, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c4e0, th_ack=d2fe8330
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=6cd6, th_urp=0

Cristina hat das verstanden. Der FTP-Kommandoprompt steht dem Nutzer wieder zur Verfügung.


Packet Number 139
TOK: ====( 86 bytes transmitted on interface tr0 )==== 16:24:59.091753696
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=64, ip_id=34006, ip_off=0
IP:  	ip_ttl=60, ip_sum=e427, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c4e0, th_ack=d2fe8330
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=1545, th_urp=0
TCP: 00000000     504f5254 20392c33 392c302c 37342c32     |PORT 10.9.9.9,2|
TCP: 00000010     31312c31 31360d0a                       |11,116..        |

Weil es so schon war, dasselbe nochmal. Wieder teilt Cristina den Port mit. Diesmal ist er aber um 1 grösser (der andere ist wahrscheinlich noch in TIMEWAIT): 211 * 256 + 116 = 54132


Packet Number 140
TOK: ====( 92 bytes received on interface tr0 )==== 16:24:59.093914948
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=70, ip_id=57740, ip_off=0
IP:  	ip_ttl=60, ip_sum=876b, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe8330, th_ack=59c4f8
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=afb0, th_urp=0
TCP: 00000000     32303020 504f5254 20636f6d 6d616e64     |200 PORT command|
TCP: 00000010     20737563 63657373 66756c2e 0d0a         | successful...  |

Usw.


Packet Number 141
TOK: ====( 77 bytes transmitted on interface tr0 )==== 16:24:59.094656950
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=55, ip_id=34007, ip_off=0
IP:  	ip_ttl=60, ip_sum=e42f, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c4f8, th_ack=d2fe834e
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=2120, th_urp=0
TCP: 00000000     52455452 206f726d 2e746573 740d0a       |RETR orm.test.. |

Diesmal holen wir aber was. Daher das Retrieve-Kommando (RETR).


Packet Number 142
TOK: ====( 66 bytes received on interface tr0 )==== 16:24:59.146505166
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=44, ip_id=57741, ip_off=0
IP:  	ip_ttl=60, ip_sum=878c, ip_p = 6 (TCP)
TCP: 	< source port=20(ftp-data), destination port=54132 >
TCP: 	th_seq=18e30a11, th_ack=0
TCP: 	th_off=6, flags SYN 
TCP: 	th_win=16384, th_sum=4c07, th_urp=0
TCP: 00000000     020405ac                                |....            |

Nimmaster öffnet die Verbindung, wie gehabt.


Packet Number 143
TOK: ====( 66 bytes transmitted on interface tr0 )==== 16:24:59.146534473
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=0, ip_len=44, ip_id=34008, ip_off=0
IP:  	ip_ttl=60, ip_sum=e449, ip_p = 6 (TCP)
TCP: 	< source port=54132, destination port=20(ftp-data) >
TCP: 	th_seq=86237a7f, th_ack=18e30a12
TCP: 	th_off=6, flags SYN | ACK 
TCP: 	th_win=15972, th_sum=4cef, th_urp=0
TCP: 00000000     020405ac                                |....            |

Normaler Verbindungsaufbau.


Packet Number 144
TOK: ====( 62 bytes received on interface tr0 )==== 16:24:59.147791362
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=40, ip_id=57742, ip_off=0
IP:  	ip_ttl=60, ip_sum=878f, ip_p = 6 (TCP)
TCP: 	< source port=20(ftp-data), destination port=54132 >
TCP: 	th_seq=18e30a12, th_ack=86237a80
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=64a4, th_urp=0

Normaler Verbindungsaufbau.


Packet Number 145
TOK: ====( 118 bytes received on interface tr0 )==== 16:24:59.148602448
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=96, ip_id=57743, ip_off=0
IP:  	ip_ttl=60, ip_sum=874e, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe834e, th_ack=59c507
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=166b, th_urp=0
TCP: 00000000     31353020 4f70656e 696e6720 64617461     |150 Opening data|
TCP: 00000010     20636f6e 6e656374 696f6e20 666f7220     | connection for |
TCP: 00000020     6f726d2e 74657374 20283237 38392062     |orm.test (2789 b|
TCP: 00000030     79746573 292e0d0a                       |ytes)...        |

Hier geht es jetzt los!


Packet Number 146
TOK: ====( 1514 bytes received on interface tr0 )==== 16:24:59.175707771
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=1492, ip_id=57744, ip_off=0
IP:  	ip_ttl=60, ip_sum=81e1, ip_p = 6 (TCP)
TCP: 	< source port=20(ftp-data), destination port=54132 >
TCP: 	th_seq=18e30a12, th_ack=86237a80
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=7bf4, th_urp=0
# Hier habe ich das Paket ganz rausgeschnitten.

Das ist das erste Daten-Paket. Diesmal sendet Nimmaster.


Packet Number 147
TOK: ====( 1505 bytes received on interface tr0 )==== 16:24:59.176694519
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=1483, ip_id=57745, ip_off=0
IP:  	ip_ttl=60, ip_sum=81e9, ip_p = 6 (TCP)
TCP: 	< source port=20(ftp-data), destination port=54132 >
TCP: 	th_seq=18e30fbe, th_ack=86237a80
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=720d, th_urp=0
# Hier habe ich das Paket ganz rausgeschnitten.

Das zweite Datenpaket.


Packet Number 148
TOK: ====( 62 bytes received on interface tr0 )==== 16:24:59.176712392
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=40, ip_id=57746, ip_off=0
IP:  	ip_ttl=60, ip_sum=878b, ip_p = 6 (TCP)
TCP: 	< source port=20(ftp-data), destination port=54132 >
TCP: 	th_seq=18e31561, th_ack=86237a80
TCP: 	th_off=5, flags FIN | ACK 
TCP: 	th_win=15972, th_sum=5954, th_urp=0

Hier wird die Daten-Verbindung einseitig geschlossen.


Packet Number 149
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:24:59.176717206
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=40, ip_id=34009, ip_off=0
IP:  	ip_ttl=60, ip_sum=e444, ip_p = 6 (TCP)
TCP: 	< source port=54132, destination port=20(ftp-data) >
TCP: 	th_seq=86237a80, th_ack=18e31562
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=14529, th_sum=5ef7, th_urp=0

Cristina bestätigt den Empfang der Daten.


Packet Number 150
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:24:59.183219378
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=40, ip_id=34010, ip_off=0
IP:  	ip_ttl=60, ip_sum=e443, ip_p = 6 (TCP)
TCP: 	< source port=54132, destination port=20(ftp-data) >
TCP: 	th_seq=86237a80, th_ack=18e31562
TCP: 	th_off=5, flags FIN | ACK 
TCP: 	th_win=15972, th_sum=5953, th_urp=0

Und macht dann ihrerseits die Datenleitung auch zu.


Packet Number 151
TOK: ====( 62 bytes received on interface tr0 )==== 16:24:59.184455386
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=8, ip_len=40, ip_id=57747, ip_off=0
IP:  	ip_ttl=60, ip_sum=878a, ip_p = 6 (TCP)
TCP: 	< source port=20(ftp-data), destination port=54132 >
TCP: 	th_seq=18e31562, th_ack=86237a81
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=5953, th_urp=0

Nimmaster bestätigt das, die Daten-Verbindung ist damit abgebaut.


Packet Number 152
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:24:59.241782437
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=34011, ip_off=0
IP:  	ip_ttl=60, ip_sum=e43a, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c507, th_ack=d2fe8386
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=6c59, th_urp=0

Die Kontrolle geht also wieder auf die Steuerleitung über.


Packet Number 153
TOK: ====( 86 bytes received on interface tr0 )==== 16:24:59.242978065
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=64, ip_id=57748, ip_off=0
IP:  	ip_ttl=60, ip_sum=8769, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe8386, th_ack=59c507
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=9d43, th_urp=0
TCP: 00000000     32323620 5472616e 73666572 20636f6d     |226 Transfer com|
TCP: 00000010     706c6574 652e0d0a                       |plete...        |

Und es gibt die gute Nachricht.


Packet Number 154
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:24:59.445220847
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=34012, ip_off=0
IP:  	ip_ttl=60, ip_sum=e439, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c507, th_ack=d2fe839e
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=6c41, th_urp=0

Das hat Cristina mitbekommen.


Packet Number 157
TOK: ====( 68 bytes transmitted on interface tr0 )==== 16:25:08.299866415
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=46, ip_id=34024, ip_off=0
IP:  	ip_ttl=60, ip_sum=e427, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c507, th_ack=d2fe839e
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=c47f, th_urp=0
TCP: 00000000     51554954 0d0a                           |QUIT..          |

Und der User root ist zufrieden und geht aus dem ftp raus (QUIT Subkommando).


Packet Number 158
TOK: ====( 76 bytes received on interface tr0 )==== 16:25:08.302103312
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=54, ip_id=57751, ip_off=0
IP:  	ip_ttl=60, ip_sum=8770, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe839e, th_ack=59c50d
TCP: 	th_off=5, flags PUSH | ACK 
TCP: 	th_win=15972, th_sum=7d4d, th_urp=0
TCP: 00000000     32323120 476f6f64 6279652e 0d0a         |221 Goodbye...  |

Nimmasters ftpd verabschiedet sich.


Packet Number 159
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:25:08.302727123
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=34025, ip_off=0
IP:  	ip_ttl=60, ip_sum=e42c, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c50d, th_ack=d2fe83ac
TCP: 	th_off=5, flags FIN | ACK 
TCP: 	th_win=15972, th_sum=6c2c, th_urp=0

Es gibt nichts mehr zu sagen, die Verbindung wird abgebaut.


Packet Number 160
TOK: ====( 62 bytes received on interface tr0 )==== 16:25:08.303554999
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=57752, ip_off=0
IP:  	ip_ttl=60, ip_sum=877d, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe83ac, th_ack=59c50d
TCP: 	th_off=5, flags FIN | ACK 
TCP: 	th_win=15972, th_sum=6c2c, th_urp=0

Nimmaster sieht das auch so.


Packet Number 161
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:25:08.303570766
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=34026, ip_off=0
IP:  	ip_ttl=60, ip_sum=e42b, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c50d, th_ack=d2fe83ad
TCP: 	th_off=5, flags FIN | ACK 
TCP: 	th_win=15972, th_sum=6c2b, th_urp=0


Packet Number 162
TOK: ====( 62 bytes received on interface tr0 )==== 16:25:08.304136745
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=57753, ip_off=0
IP:  	ip_ttl=60, ip_sum=877c, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe83ac, th_ack=59c50e
TCP: 	th_off=5, flags FIN | ACK 
TCP: 	th_win=15972, th_sum=6c2b, th_urp=0

Nochmal zwei FIN.


Packet Number 163
TOK: ====( 62 bytes transmitted on interface tr0 )==== 16:25:08.304150767
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 0, frame control field = 40
TOK: [ src = 00:06:29:b9:50:3f, dst = 08:00:5a:0d:64:1d]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	< DST =       10.1.1.1 >  (nimmaster)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=34027, ip_off=0
IP:  	ip_ttl=60, ip_sum=e42a, ip_p = 6 (TCP)
TCP: 	< source port=54129, destination port=21(ftp) >
TCP: 	th_seq=59c50e, th_ack=d2fe83ad
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=6c2b, th_urp=0

Beide Seiten betätigen jetzt den Empfang der FINs.


Packet Number 164
TOK: ====( 62 bytes received on interface tr0 )==== 16:25:08.304704771
TOK: 802.5 packet
TOK: 802.5 MAC header:
TOK: access control field = 10, frame control field = 40
TOK: [ src = 08:00:5a:0d:64:1d, dst = 00:06:29:b9:50:3f]
TOK: 802.2 LLC header:
TOK: dsap aa, ssap aa, ctrl 3, proto 0:0:0, type 800 (IP)
IP:  	< SRC =       10.1.1.1 >  (nimmaster)
IP:  	< DST =       10.9.9.9 >  (cristina.beispiel.com)
IP:  	ip_v=4, ip_hl=20, ip_tos=16, ip_len=40, ip_id=57754, ip_off=0
IP:  	ip_ttl=60, ip_sum=877b, ip_p = 6 (TCP)
TCP: 	< source port=21(ftp), destination port=54129 >
TCP: 	th_seq=d2fe83ad, th_ack=59c50e
TCP: 	th_off=5, flags ACK 
TCP: 	th_win=15972, th_sum=6c2b, th_urp=0

Das ACK zum FIN. Damit ist Ruhe.

Das ganze nochmal zusammengefasst:
Von Cristina wird der ftp in Richtung Nimmaster abgesetzt.
Cristina ist also der Client, und Nimmaster der Server.
Auf Cristina sind nur dynamische Ports involviert, auf Nimmaster die Ports 20 (FTP-Daten) und 21 (FTP-Steuerleitung).
Im einzelnen sieht das so aus:

cristina, port  -- Richtung -- port, nimmaster

cristina, 54129 -- SYN ------> 21, nimmaster

-- Hier folgt jetzt der Verbindungsaufbau, ganz normal --
-- Dann schiebt Cristina mit einem "put" Daten auf nimmaster --

cristina, 54129 -- PORT -----> 21, nimmaster
cristina, 54129 <-- SUCCESS -- 21, nimmaster
cristina, 54129 -- STOR -----> 21, nimmaster

-- Das ist der Befehl an den ftpd des Nimmaster, die Daten --
-- über die Datenleitung und den ausgehandelten Port zu schicken --

cristina, 54131 <-- SYN ------ 20, nimmaster
cristina, 54131 -- ACK SYN --> 20, nimmaster
cristina, 54131 <-- ACK ------ 20, nimmaster

-- Die Verbindung steht, und das wird auf der Steuerleitung --
-- kommuniziert --

cristina, 54129 <-- 150 ----- 21, nimmaster *****
-- 150 Opening data connection for < file> --   *
.                                               *
cristina, 54131 -- Daten ---> 20, nimmaster     *
cristina, 54131 -- Daten ---> 20, nimmaster     *
-- cristina hat fertig --                       *
.                                               *
cristina, 54131 -- FIN -----> 20, nimmaster     *
cristina, 54131 <-- FIN ----- 20, nimmaster     *
.                                               *
cristina, 54129 -- ACK -----> 21, nimmaster *****

-- Hier beantwortet cristina das Paket **. --
-- Die Kontrolle geht wieder auf die Steuerleitung über --

cristina, 54129 <-- 226 ----- 21, nimmaster
-- 226 Transfer complete --

-- Jetzt das ganze anders herum, also cristina macht einen "get" --


cristina, 54129 -- PORT -----> 21, nimmaster
-- Der Port ist diesmal um 1 höher, also 54132 --

cristina, 54129 <-- SUCCESS -- 21, nimmaster
cristina, 54129 -- RETR -----> 21, nimmaster

-- Das ist der Befehl an den ftpd des Nimmaster, die Daten --
-- über die Datenleitung und den ausgehandelten Port zu holen --

cristina, 54132 <-- SYN ------ 20, nimmaster
cristina, 54132 -- ACK SYN --> 20, nimmaster
cristina, 54132 <-- ACK ------ 20, nimmaster
cristina, 54129 <-- 150 ------ 21, nimmaster ****
cristina, 54132 <-- Daten ---- 20, nimmaster    *
cristina, 54132 <-- Daten ---- 20, nimmaster    *
cristina, 54132 <-- FIN ------ 20, nimmaster    *
cristina, 54132 -- FIN ------> 20, nimmaster    *
.                                               *
cristina, 54129 -- ACK ------> 21, nimmaster ****
cristina, 54129 <-- 226 ------ 21, nimmaster


[ Main | Local ]

[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | RPi | SMTP | Tracing | GPS | LW ]

Copyright 2001-2021 by Orm Hager - Es gilt die GPL
Feedback bitte an: Orm Hager (orm@doc-tcpip.org )