1. TCP drieweghanddruk
De zender stuurt een pakket met de vlag SYN=1 en ACK=0 naar de ontvanger, waarin een verbinding wordt aangevraagd, wat de eerste handdruk is. Als de ontvanger het verzoek ontvangt en de verbinding toestaat, stuurt hij een pakket met de SYN=1- en ACK=1-vlag naar de zender, waarin wordt aangegeven dat hij kan communiceren en de afzender vraagt om een bevestigingspakket te sturen, wat de tweede handdruk is. Ten slotte stuurt de zender een pakket met SYN=0 en ACK=1 naar de ontvanger, waarin wordt aangegeven dat de verbinding is bevestigd, wat de derde handdruk is. Daarna wordt een TCP-verbinding tot stand gebracht en begint de communicatie.
2. Flag-informatie in het TCP-pakket
*SYN: Synchronisatievlag
Het veld Synchronize Sequence Numbers is geldig. Deze vlag is alleen geldig wanneer een TCP-verbinding wordt tot stand gebracht tijdens een drievoudige handshake. Het vraagt de server van de TCP-verbinding om het serienummer te controleren, dat het initiële volgnummer is van de initiële TCP-verbinding (meestal de client). Hier kan het TCP-sequentienummer worden gezien als een 32-bits teller die varieert van 0 tot 4.294.967.295. Elke byte data die via een TCP-verbinding wordt uitgewisseld, wordt gesequenced. De kolom met het volgnummer in de TCP-header bevat het volgnummer van de eerste byte in het TCP-segment.
*ACK: Bevestigingsvlag
Het veld Bevestigingsnummer is geldig. Meestal wordt het vlagbit geplaatst. Het bevestigingsnummer (w+1, Figuur-1) dat in de bevestigingsnummerkolom in de TCP-header staat, is het volgende verwachte volgnummer, en het externe einde wordt aangegevenSysteemAlle gegevens zijn succesvol ontvangen.
*RST: Reset-vlag
Het reset-teken is geldig. Gebruikt om de bijbehorende TCP-verbinding te resetten.
*URG: Noodsignaal
Het urgente pointer-teken is geldig. Plaatsing van noodborden,
*PSH: Push-logo
Wanneer de vlag wordt geplaatst, zet de ontvanger de data niet in de wachtrij, maar stuurt deze zo snel mogelijk over naar de applicatie. De vlag wordt altijd ingesteld bij het omgaan met verbindingen in interactiemodi zoals telnet of rlogin.
*FIN: Einde teken
Het pakket met deze vlag wordt gebruikt om een TCP-callback te beëindigen, maar de poort blijft open om daaropvolgende data te ontvangen.
3. De rol van verschillende toestanden van TCP in onze analyse
In de TCP-laag is er een FLAGS-veld, dat de volgende identificaties heeft: SYN, FIN, ACK, PSH, RST, URG. Hiervan zijn de eerste vijf velden nuttig voor onze dagelijkse analyse. Ze betekenen het volgende: SYN betekent het tot stand brengen van een verbinding, FIN betekent het sluiten van de verbinding, ACK betekent reageren, PSH betekent het uitvoeren van DATA-overdracht, en RST betekent verbinding reseten. Onder hen kan ACK tegelijk worden gebruikt met SYN, FIN, enzovoort; bijvoorbeeld kunnen SYN en ACK 1 tegelijk zijn, wat de respons na het tot stand brengen van een verbinding weergeeft; als het slechts één SYN is, vertegenwoordigt het alleen het tot stand brengen van een verbinding. De verschillende handdrukken van TCP komen tot uiting via zulke ACK's. SYN en FIN zijn echter niet 1 tegelijk, omdat de eerste betekent dat je een verbinding wilt leggen, terwijl de tweede betekent dat je de verbinding verbreekt. RST verschijnt meestal na FIN tot 1, wat een verbinding reset aangeeft. Over het algemeen gaan we ervan uit dat de client is losgekoppeld van de server wanneer er een FIN- of RST-pakket verschijnt. Wanneer SYN- en SYN+ACK-pakketten verschijnen, denken we dat de client een verbinding met de server heeft gelegd. PSH van 1 verschijnt over het algemeen alleen in pakketten met niet-0 DATA-inhoud, wat betekent dat PSH van 1 betekent dat echte TCP-pakketinhoud wordt doorgegeven. TCP-verbindingen tot stand brengen en sluiten van verbindingen worden uitgevoerd via een request-response-patroon
|