Jak můžeme ručně číst a interpretovat pakety správně bez použití wirehark?

Nyní z hlavičky Ethernetu Vím, že cílová MAC adresa by měla být na 5. bajtu (po převodu bitů / bajtů). Z těchto údajů jsem si tedy myslel, že to bude 4a. Ve skutečnosti to však je „s 00:17:f2:d0:4c:82.

Totéž platí pro cíl zdroje IP. Zdroj by měl mít například 13–16 bajtů. Podle čtení, myslím, že by to mělo být 0800 a dále. Ale ve skutečnosti je to na 0a 32 e7 85, ale nechápu proč? Jsem jen zmatený, jak správně interpretovat tato data, nebo možná nesprávně chápu obecnou strukturu záhlaví.

https://ntquan87.wordpress.com/2015/08/17/reading-packet-hex-dumps-manually-no-wireshark/

Odpověď

Můj odhad je, že to, co vidíte, je ethernetový rámec úrovně 2, a proto úvodní část chybí. Zdá se, že chybí také kontrolní součet sítě Ethernet. V tomto případě se zdá, že se všechno shoduje (typ paketu uvnitř ethernetového rámce, verze IPv4, délka paketu IPv4, typ paketu, tj. TCP, uvnitř paketu IP, …). Pak jste přečetli svůj paket jako na obrázku.

paket

Užitečné zatížení TCP je

474554202f20485454502f312e300d0a 557365722d4167656e743a2057676574 2f312e31312e340d0a4163636570743a 202a2f2a0d0a486f73743a207777772e 696574662e6f72670d0a436f6e6e6563 74696f6e3a204b6565702d416c697665 0d0a0d0a 

a dekóduje se na:

GET / HTTP/1.0 User-Agent: Wget/1.11.4 Accept: */* Host: www.ietf.org Connection: Keep-Alive 

což je v souladu se skutečností, že cílový port je 80.

Komentáře

  • Protože jsem omylem vyměnil štítky za zdroj a cíl .. . Moje špatná. Aktualizoval jsem obrázek. Neexistuje žádný kontrolní součet, protože záhlaví IPv4 říkají, že paket IPv4 je dlouhý 152 bajtů, tj. Končí přesně na konci vašich dat. Můžete snadno vidět, že všechny poslední bajty jsou část nákladu podle jejich dekódované verze (' s požadavkem HTTP GET).
  • Nemám ' Nevíte, odkud ' získáváte tato čísla. Užitečné zatížení sítě Ethernet (paket IPv4) začíná od 15. bajtu. Viz: en .wikipedia.org / wiki / Ethernet_frame . V rámci I. Paket Pv4, jeho délka je ve 3. a 4. bajtu. Viz: en.wikipedia.org/wiki/IPv4#Packet_structure . Proto je délka 0x0098 (v šestnáctkové soustavě), tedy 152 bytů. Toto je délka celého paketu IPv4 (rámeček s modrým okrajem na obrázku).
  • Pochopil jsem, odkud ' získáváte čísla z: čtete diagram, který jste zveřejnili, nesprávným způsobem! Délka cílové adresy Ethernet není 32 bitů! Má ' 48 bitů = 6 bajtů … v diagramu " cílová adresa MAC " pole nekončí na konci druhého řádku, ale pokračuje i na třetím řádku (v mezerách, dokud " | " oddělovač). Totéž platí pro zdrojovou adresu (která začíná od prázdného místa ve třetím řádku a končí ve čtvrtém řádku). Navrhuji použít méně matoucí diagram …
  • Nevím ' nevím, proč jsou ve vašich odpovědích zaměněny zdrojové a cílové adresy MAC. To zní jako dobrá otázka pro kohokoli, kdo vám odpověděl … Pokud jde o paket IP, nechápu ' proč byste chtěli odebrat kontrolní součet hlaviček IP adres ?? Z vašich diagramů je v paketu IP přesně 12 bajtů před polem " Zdrojová adresa ". To přesně odpovídá mé postavě.
  • Protokol aplikační vrstvy je HTTP . Příznaky jsou nastaveny na binárně 000011000. Pokud se podíváte na seznam příznaků , ' uvidíte, že 5. a 6. příznak (odpovídá nastavení bity) jsou ACK a PSH.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *