Vel vi slapp i del en med to pakker å se på. De to pakker som fremgår nedenfor er de SYN SYN og /ACK deler av tre-veis håndtrykk. ACK inngår ikke som noen operativsystemer vil la det ut og gå rett inn i utveksling av data. På dette notatet la oss starte å rive i stykker våre pakker
00: 00: 03,700720 192.168.1.100.11955 > 192.168.1.200.80: S [tcp sum ok] 365712315: 365 712 315 (0) vinne 32 768 < mss 536 > (ttl 63, id 59169, len 44)
0x0000 4500 002c e721 0000 3f06 4253 c0a8 0164 E ..,.! ..?. BS ....
0x0010 c0a8 01c8 2eb3 0050 15cc 53bb 0000 0000. ..1 ... P..S .....
0x0020 6002 8000 30e0 0000 0204 0218 0000 `... 0 .........
00:00: 03.715864 192.168.1.200.80 > 192.168.1.100.11955: S [tcp sum ok] 2093803204: 2093803204 (0) ack 365712316 vinne 5840 < mss 1 460 > (DF) (ttl 52, id 0, len 44)
0x0000 4500 002c 0000 4000 3406 f474 c0a8 01c8 E .., .. @. 4..t ... en
0x0010 c0a8 0164 0050 2eb3 7ccc e6c4 15cc 53bc ..... P .. |. ..... S
0x0020 6012 16d0 32d2 0000 0204 05b4 0000 `... 2 .........
For vårt formål vil vi referere til SYN pakke som pakke en fra nå av. I tilfelle du lurer SYN faktisk står for "Synkroniser", og SYN /ACK står for "synkronisere anerkjennelse". Starter med pakke en, vil vi flytte fra venstre til høyre hele veien gjennom.
00: 00: 03,700720
Den ovenfor nevnt er tidsstempelet for pakken. Vi har normal hh mm ss sett, men vi har også seks tall etter det også. Det betyr at denne gangen er nøyaktig til mikrosekund. Snarere presis er ikke det! En viktig ting å huske på her er at dette er ikke tiden for at pakken ble sendt på. Snarere er det den tiden, at pakken ble mottatt av målmaskinen. På et annet merke, er det faktum at målmaskinen kan settes opp for en annen tidssone så. Med andre ord ikke automatisk anta at tiden er den samme som din lokale tid.
192.168.1.100.11955
Det vi har her er kilden IP-adresse som er initiere kommunikasjon med den andre IP-adressen til høyre for den. Etter IP-adresse er porten som blir brukt, eller som vi skal kalle det kilden port. Alle porter fra 1 025 ovenfor, kalles flyktige porter. Alle porter under 1025 som jeg oppmerksom på en litt lenger ned er kalt den reserverte område. Hver gang maskinen starter opp en sesjon med en annen datamaskin, vil datamaskinens kernel vilkårlig tildele en flyktig port til den økten. Dette flyktig port vil holde seg konstant i løpet av økten selv. Kilden port vil bare endres hvis du avslutte økten og starte en ny en, og da en ny flyktig port vil bli tildelt til den nye økten.
>
Vår lille symbolet over betegner hvilken retning samtalen kommer fra. Så den spisse enden indikerer målet i dette tilfellet, og er alltid i denne retning. Dette er en annen nyttig tips å huske hvem som faktisk er kilden, og målmaskinen i en pakke stream.
192.168.1.200.80
Vel, vi kan se at de ovennevnte er en IP-adresse. Spørsmålet er: er den kilden maskinens IP-adresse ie: avsender, eller er det måladressen? Du kan ta så evangeliet at denne IP-adressen er målmaskinen adresse. Dette skyldes som nevnt ovenfor, det er på den spisse enden av min retning symbol. Etter IP-adressen til målmaskinen er målet porten som brukes av den samme datamaskinen. I dette tilfellet har vi port 80, og vi kan nok trygt anta at det er dette en webserver av noe slag på denne datamaskinen. På dette tidspunktet må du være oppmerksom på at port 80 faller i "reservert" portområde. Denne serien starter på port 0 og slutter på port 1024. Ikke alle havner i denne reserverte serien har velkjente tjenester forbundet med dem, men det kalles reserverte utvalg ikke desto mindre.
S
ASCII karakter S som sett ovenfor står for SYN, eller som vi nå vet det "synkronisere". Det betyr at denne pakken er den aller første skritt i vår TCP /IP håndtrykk.
[tcp sum ok]
Hva de ovennevnte står for er "TCP sjekksum er greit". Det betyr faktisk at når kildedatamaskinen sendt ut denne pakken, det gjorde en matematisk sjekk mot TCP header og kom opp med en verdi. Denne verdien ble deretter lagret i TCP-hodet selv. Når målmaskinen mottatt denne pakken, det i sin tur også gjorde det samme matematiske sjekk. Det da bekreftet at det var den samme, som verdien det ser i TCP spissen. I dette tilfellet var det, derav [tcp sum ok]. Ble verdien annerledes da du ville sett en checksum feilmelding hvor dette var stedet.
365712315: 365712315
Denne temmelig stort antall atskilt med en full kolon kalles TCP sekvensnummer. Man vil legge merke til i vårt tilfelle at det er den samme verdien adskilt av en fullstendig kolon. Det er på grunn av det faktum at det ikke er noen data som utveksles på dette tidspunkt. Var der data, og denne pakke en PSH /ACK vice en SYN-pakke vil verdiene vil være forskjellig på begge sider av tykktarmen. For å være nøyaktig det ville være annerledes med den nøyaktige mengden av data som sendes i at pakken. Vi vil se et eksempel på hva jeg mener litt senere.
(0)
null sett ovenfor forteller oss at det er ingen faktiske data som sendes i denne pakken som det er en SYN pakke. Det betyr ikke skjønt at du ikke kunne lage en SYN pakke og sånt noen data inn i den. Men være oppmerksom på at dine data vil bli ignorert som du ikke full TCP /IP håndtrykk. Et siste notat på pakken laging; være klar over at det har begrensninger på hva den kan gjøre. Du kunne ikke realistisk simulere håndtrykk via manuelt laging dine pakker.
vinne 32 768
Nå ovenfor er referert til som vindusstørrelsen eller som noen kaller det mottaksbufferen. Verdien etter det måles i byte akkurat som de andre tallverdier. Hva dette betyr er at kildedatamaskinen kan motta ikke mer enn 32 768 byte med informasjon, før anerkjenner til målmaskinen at det har behandlet noen av dem.
Skulle det får mer enn dette uten en ACK fra det som betyr at den har behandlet en viss mengde data så de ekstra byte som ble sendt ville bare treffe litt skuffa. I hovedsak de ikke ville være lagret i mottaksbufferen av søknaden. Dette er et godt tidspunkt å påpeke at denne verdien er normalt kontrolleres av programmet som brukes. For eksempel denne verdien kan være Win Størrelse på Internet Explorer.
Jeg liker virkelig ikke forlate deg i uvisshet, men vi vil bryte artikkelen på dette punktet. I del tre vil vi dekke de resterende beregninger sett i pakke en. Etter det vil vi da vasse i sjøen av hex som finnes i pakken. Du kan være i for en overraskelse som å bare hva som finnes i disse hex verdier! Inntil da!