# TCP Keepalive



## Mortal_Shadow (11. Nov 2010)

Hi,

ich versuche zur zeit ein bisschen zu verstehen, was meine Programme denn so an Daten senden.
Dazu benutze ich JPcap.
Mein erster Ansatz war, gleiche Datenpakete zu filtern um nachher zu schauen, was diese so machen.
Angefangen habe ich mit den Headern, wobei ich mir alle Header die noch nicht vorkamen in eine Datei gespeichert habe.
Fürs erste in dem Fall lediglich das TCP-Keep-Alive-Signal.
Doch dessen Header unterscheiden sich.
Wenn man sie sich in Wireshark anschaut, sieht man Paramter alla Seq, Ack, Win...
Also wollte ich wissen wie der so aufgebaut ist - aber google gibt leider nur sachen alla "nutzen des tcp-keep-alive" aus.

Weis einer wo ich den Aufbau der gebräuchlichsten Packetdaten herkriege?
Und vielleicht eine Möglichkeit, wie man Packete am besten analysiert?
Ich weis, dass ist nicht für "mach ich mal schnell", ich will mir aber einen allgemeinen Überblick verschaffen.

Vielen Dank im Vorraus.


----------



## Marcinek (11. Nov 2010)

Syn, Ack, Syn Ack werden zur initialisierung einer TCP Verbindung genutzt beim Handshake.

Keep Alive sind glaube ich einfach leere Datenpackete um die Verbindung durch einen Router aufrechtzuerhalten.

Die TCP Verbindung bleibt sonst, wenn nix auf dem Weg das unterbindet, bis server oder client es beendet.


----------



## Mortal_Shadow (11. Nov 2010)

Wofür sie gut ist weis ich, mich interessiert eher der Aufbau.
Da Wireshark sie explizit erkennt muss sie irgendein Merkmal haben.
Zudem, warum variiert sie, wo doch keine Information in dem Sinne mitgeschickt wird?


----------



## Marcinek (11. Nov 2010)

Keep Alive Packete sehen aus, wie jede anderen TCP packete nur ohne data.

Syn und Ack Packete haben andere Flags im Header, und da diese nicht zum Datenaustausch genutz werden, denke ich, dass ein Packetsniffer diese nicht sofort anzeigt.


----------

