Aus irgendeinem Grund, egal wie oft ich es versuche, geht die Antwort des Servers (227 Aktivieren des passiven Modus) nicht zurück zum Client, nachdem ein Client den PASV-Befehl gesendet hat (der vom Server korrekt empfangen wird). Um das herauszufinden, habe ich mit Wireshark sowohl den Client- als auch den Serververkehr analysiert. Besonders merkwürdig ist, dass dieses letzte vom Server gesendete Paket genau die gleichen TCP-Einstellungen aufweist wie jedes andere Paket, das bisher erfolgreich gesendet wurde. Es geht alles an denselben Client, an denselben Port, und doch kommt diese Antwort aus irgendeinem Grund nie durch. Ich bin völlig durchgeknallt, warum.
Hier sind Screenshots der Client- und Server-Interaktionen:
Client-Erfassung
Wie Sie sehen, erhält es nie ACK für seinen PASV-Befehl. Es versucht noch einmal und gibt dann auf.
Server-Erfassung
Wie Sie sehen, empfängt es den PASV-Befehl und sendet eine Antwort, gelangt jedoch nie zum Client. Es erhält die erneute Übertragung später und sendet die Antwort noch dreimal, aber es kommt wieder nie durch. Dann wird die Verbindung getrennt.
Ich kann mir nicht vorstellen, wie es möglich ist, dass alle anderen TCP-Pakete ohne Probleme vom Server zum Client gelangen, aber dieses spezielle TCP-Paket nicht. Die TCP-Header sind für alle Pakete zum bzw. vom Server identisch, daher sollten nach meinem Verständnis alle Router, Firewalls, ISPs usw. sie gleich behandeln, es sei denn, es handelt sich um Paket-Sniffing.