jak toky síťového provozu – Začínáme
Gideon T. Rasmussen – CISSP, CFSO, CFSA, SCSA
Chcete-li vyřešit problém, musíte vědět, jak toky síťového provozu za normálních okolností. Tento článek popisuje, co se stane, když se webový prohlížeč používá k přístupu na Web.
jakmile je název webu zadán do webového prohlížeče, dochází k řadě komunikací přes různé protokoly. Níže uvedená tabulka představuje tok síťového provozu:
linka:
|
protokol:
|
zdroj:
|
místo určení:
|
údaje:
|
1
|
ARP
|
10.0.1.13
|
vysílání
|
kdo má 10.0.1.1? Tell 10.0.1.13
|
2
|
ARP
|
10.0.1.1
|
10.0.1.13
|
10.0.1.1 je v 00: 80: c8: 57: d3: aa
|
3
|
DNS
|
10.0.1.13
|
10.0.1.1
|
standardní dotaz A www.cyberguard.com
|
4
|
DNS
|
10.0.1.1
|
10.0.1.13
|
standardní odpověď na dotaz CNAME cyberguard.com v 64.94.50.88
|
5
|
TCP
|
10.0.1.13
|
64.94.50.88
|
1939 > http
|
6
|
TCP
|
64.94.50.88
|
10.0.1.13
|
http > 1939
|
7
|
TCP
|
10.0.1.13
|
64.94.50.88
|
1939 > http
|
8
|
HTTP
|
10.0.1.13
|
64.94.50.88
|
GET / HTTP/1.1
|
9
|
HTTP
|
64.94.50.88
|
10.0.1.13
|
HTTP/1.1 200 OK
|
10
|
HTTP
|
64.94.50.88
|
10.0.1.13
|
HTTP Continuation
|
11
|
TCP
|
10.0.1.13
|
64.94.50.88
|
2577 > http Seq=388864 Ack=37076821 Win=8241 Len=0
|
12
|
TCP
|
10.0.1.13
|
64.94.50.88
|
2577 > http Seq=388864 Ack=37077089 Win=0 Len=0
|
protokol ARP
než mohou systémy komunikovat, potřebují navzájem znát hardwarové adresy. Pro tento účel se používá protokol řešení adres (ARP). Ze své konfigurace zná pracovní stanice IP adresu serveru DNS.
řádek # 1
protokol: | zdroj: | cíl: | Data: |
ARP | 10.0.1.13 | vysílání | kdo má 10.0.1.1? Tell 10.0.1.13 |
pracovní stanice vysílá požadavek na zařízení ve své síti s dotazem „kdo má“ IP adresu, se kterou potřebuje komunikovat.
Řádek # 2
protokol: | zdroj: | cíl: | Data: |
ARP | 10.0.1.1 | 10.0.1.13 | 10.0.1.1 je v 00: 80: c8: 57: d3: aa |
vzdálený systém reaguje poskytnutím své hardwarové adresy. Nyní, když pracovní stanice zná hardwarovou adresu vzdáleného systému, může s ní komunikovat.
protokol DNS
protokol DNS (Domain Name System) se používá k vyřešení názvů systémů na IP adresy. Když je název webu zadán do prohlížeče, pracovní stanice potřebuje znát odpovídající IP adresu, aby se dostala na webový server hostující web.
řádek # 3
protokol: | zdroj: | cíl: | Data: |
DNS | 10.0.1.13 | 10.0.1.1 | standardní dotaz a www.cyberguard.kom |
pracovní stanice požádá server DNS o poskytnutí IP adresy hostingu webového serveru www.cyberguard.com.
řádek # 4
protokol: | zdroj: | cíl: | Data: |
DNS | 10.0.1.1 | 10.0.1.13 | standardní odpověď na dotaz CNAME cyberguard.com v 64.94.50.88 |
server DNS odpovídá IP adresou odpovídající www.cyberguard.com.
protokol TCP
protokol TCP (Transmission Control Protocol) se používá k přenosu dat. Tyto další tři řádky zahrnují TCP trojcestný handshake:
řádek # 5
protokol: | zdroj: | cíl: | Data: |
TCP | 10.0.1.13 | 64.94.50.88 | 1939 > http |
pracovní stanice iniciuje připojení k webovému serveru (SYN). SYN je zkratka pro “ synchronizovat.“
Řádek # 6
Protokol: | zdroj: | místo určení: | Data: |
TCP | 64.94.50.88 | 10.0.1.13 | http > 1939 |
webový server reaguje zpět a naznačuje, že je připraven k přenosu (SYN ACK). SYN ACK je zkratka pro “ synchronizovat potvrzení.“
řádek # 7
protokol: | zdroj: | cíl: | Data: |
DNS | 10.0.1.13 | 64.94.50.88 | 1939 > http |
pracovní stanice odešle na webový server s uvedením, že začíná odesílat provoz(ACK). Toto potvrzení znamená, že je navázáno spojení TCP a provoz může začít proudit.
protokol HTTP
protokol Hyper Text Transfer Protocol (HTTP) se používá k zobrazování webových stránek. Můžete vidět důkaz o tom z adresy webové stránky ve Vašem prohlížeči (tj http://www.cyberguard.com).
Řádek # 8
Protokol: | Zdroj: | Cíl: | Data: |
HTTP | 10.0.1.13 | 64.94.50.88 | získat / HTTP/1.1 |
prohlížeč otevře připojení k webovému serveru.
řádek # 9
protokol: | zdroj: | cíl: | Data: |
HTTP | 64.94.50.88 | 10.0.1.13 | HTTP / 1.1 200 OK |
webový server přijímá připojení.
Řádek # 10
Protokol: | Zdroj: | Cíl: | Data: |
HTTP | 64.94.50.88 | 10.0.1.13 | HTTP pokračování |
řádky pokračování HTTP představují místo, kam se odesílá obsah stránky html. Obsahuje text, odkazy atd.
zpět na TCP protokol
řádek # 11
protokol: | zdroj: | cíl: | Data: |
TCP | 10.0.1.13 | 64.94.50.88 | 2577 > http Seq=388864 Ack=37076821 Win=8241 Len=0 |
tento řádek se ve skutečnosti opakuje čtyřikrát. Pracovní stanice uznává Poslední paket.
řádek # 12 (RST)
protokol: | zdroj: | cíl: | Data: |
TCP | 10.0.1.13 | 64.94.50.88 | 2577 > http Seq=388864 Ack=37077089 Win=0 Len=0 |
pracovní stanice odešle reset a účinně strhne připojení TCP.
Tcpdump a Ethereal
je důležité si uvědomit, že tcpdump poskytne různé podrobnosti v závislosti na tom, kde běží ve vaší síti. V tomto příkladu byl tcpdump spuštěn na interním rozhraní brány firewall s přímo připojenou pracovní stanicí. Pokud by byl tcpdump použit ke sledování stejného toku provozu na externím rozhraní, zdrojová IP adresa by se zobrazovala jako externí rozhraní brány firewall, za předpokladu, že byl zaveden dynamický překlad síťových adres (DNAT). Chcete-li sledovat, jak proudí proxy provoz, má smysl spouštět tcpdump na interním i externím rozhraní, protože proxy funguje jako prostředník mezi zdrojem a cílem.
zdrojem tabulky byl soubor tcpdump prohlížený prostřednictvím Ethereal. Přesná použitá syntaxe byla: „tcpdump – vvpni dec1-s1514-w / archive2 / dec1.DMP host 10.0.1.13“. Příkaz tcpdump má rozsáhlé možnosti pro záznam velmi specifického toku provozu (tj. zdroj / cíl, porty a Booleovské výrazy). Pro více informací zadejte do příkazového řádku „man tcpdump“. Verze systému Windows je Windump (http://windump.polito.it).
Ethereum je dobrý nástroj pro prohlížení souborů tcpdump. Je volně dostupný od http://www.ethereal.com.
některé z portů přítomných v tcpdump vám mohou být neznámé. Nejnovější seznam čísel portů lze nalézt na http://www.iana.org/assignments/port-numbers (per RFC 3232).