mfernau
Goto Top

TCP SYN ACK wird gesendet aber geht irgendwie verloren

Hallo liebe Profis,

ich stehe hier bei einer Sache total auf dem Schlauch. Ich habe bei einem Kunden einen kleine Linux-Router stehen (pcengines) der einen Dienst anbieten soll. Wenn sich die entsprechende Gegenstelle mit diesem Dienst verbinden möchte, kommt die Kommunikation schon auf der TCP/IP-Ebene nicht zustande. Der Aufrufer sendet das SYN-Bit und meine Linux-Box quittiert das mit SYN,ACK. Doch das scheint bei der Gegenstelle nie anzukommen und fragt abermals mit SYN nach einem Verbindungsaufbau.
Also irgendwo versumpfen diese Quittierungen. Lasse ich denselben Dienst jedoch auf einer anderen Maschine mit Windows laufen und verwende den gleichen Aufrufer für diesen Dienst, funktioniert es.
Ich hab das ganze mit Wireshark mitgeschnitten. Den einzigen Unterschied den ich zwischen der Linux und der Windows-Antwort (also das SYN,ACK Paket) sehen kann ist, dass unter Windows eine Window-Size von 8192 angegeben wird, während das bei meiner Linux-Box 14600 ist. Aber ob es daran liegen kann bezweifle ich.

Ich hab das Wireshark-Protokoll hochgeladen und stelle es hier bereit:
http://www.martin-fernau.de/files/public/linux_server.pcap

Ich hoffe es nimmt sich jemand die Zeit und schaut sich das kurz an - ich habe echt keine Idee wo ich da ansetzen soll. Übersteigt irgendwie meinen Horizont.

Schöne Grüße
Martin

Content-Key: 193537

Url: https://administrator.de/contentid/193537

Printed on: April 26, 2024 at 15:04 o'clock

Member: MrNetman
MrNetman Oct 31, 2012 at 10:38:40 (UTC)
Goto Top
Hi Martin,

Die SYN-Anfrage wird zweimal gestellt und zweimal beantwortet.
Aber:
Der anfragende Rechner schickt das ACK nicht.
P1 Anfrage
P2 Antwort
P3 Anfrage Wiederholung
P4 Antwort
P5 Antwort
P6 Reset

Aus die Maus.
Was fehlt ist die Bestätigung des Syn Ack, das ACK. fehlt als P3 und als P5

Gruß
Netman
Member: mfernau
mfernau Oct 31, 2012 at 10:56:40 (UTC)
Goto Top
Korrekt. Aber ich glaube ich hab das Problem gefunden.
Schau Dir mal genau den Absender des SYN-Pakets an. Insbesondere die MAC-Adresse

-> Ethernet II, Src: BintecCo_33:0d:b4 (00:a0:f9:33:0d:b4), Dst: PcEngine_27:2d:5c (00:0d:b9:27:2d:5c)

So, und nun schau Dir mal den Empfänger meines SYN,ACK Pakets an

-> Ethernet II, Src: PcEngine_27:2d:5c (00:0d:b9:27:2d:5c), Dst: Avm_1b:8f:a8 (00:1c:4a:1b:8f:a8)

Das ist ein vollkommen anderer Empfänger auf Ethernet-Ebene. Wie kann das sein?
Hier stimmt was mit meinem ARP-Cache nicht vermute ich mal
Member: mfernau
mfernau Oct 31, 2012 at 11:04:33 (UTC)
Goto Top
Okay ich habe den Fehler gefunden. Schande über mich - da war eine Route verkehrt gesetzt...
Meine Linux-Kiste hat den Frame auf die Standard-Route beantwortet was dementsprechend der falsche Empfänger war.

Oh man.. wo ist nur mein Hirn..

Danke für die Zeit!!