Jak przepływa ruch sieciowy

jak przepływa ruch sieciowy – pierwsze kroki
Gideon T. Rasmussen – CISSP, CFSO, CFSA, SCSA

aby rozwiązać problem, musisz wiedzieć, jak przepływa ruch sieciowy w normalnych okolicznościach. W tym artykule opisano, co się dzieje, gdy przeglądarka internetowa jest używana do uzyskania dostępu do strony internetowej.

po wprowadzeniu nazwy strony internetowej do przeglądarki internetowej następuje seria komunikacji za pośrednictwem różnych protokołów. Poniższa tabela przedstawia przepływ ruchu w sieci:

Kolejka:
protokół:
źródło:
miejsce przeznaczenia:
dane:
1
ARP
10.0.1.13
Transmisja
kto ma 10.0.1.1? Tell 10.0.1.13
2
ARP
10.0.1.1
10.0.1.13
10.0.1.1 jest o 00: 80: c8: 57: D3: aa
3
DNS
10.0.1.13
10.0.1.1
zapytanie standardowe A www.cyberguard.com
4
DNS
10.0.1.1
10.0.1.13
standardowa odpowiedź na zapytanie CNAME cyberguard.com A 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

protokół ARP

zanim systemy będą mogły się komunikować, muszą znać swoje adresy sprzętowe. Do tego celu wykorzystywany jest protokół rozwiązywania adresów (Arp). Z konfiguracji stacja robocza zna adres IP serwera DNS.

Kolejka # 1

protokół: źródło: cel: dane:
ARP 10.0.1.13 nadawanie kto ma 10.0.1.1? Tell 10.0.1.13

stacja robocza wysyła żądanie do urządzeń w swojej sieci z pytaniem „kto ma” adres IP, z którym musi się komunikować.

Kolejka # 2

protokół: źródło: cel: dane:
ARP 10.0.1.1 10.0.1.13 10.0.1.1 jest o 00: 80: c8: 57: D3: aa

zdalny system odpowiada podając swój adres sprzętowy. Teraz, gdy stacja robocza zna adres sprzętowy zdalnego systemu, może się z nią komunikować.

protokół DNS
protokół DNS (Domain Name System) służy do rozdzielania nazw systemowych na adresy IP. Gdy Nazwa witryny sieci Web jest wprowadzana do przeglądarki, stacja robocza musi znać odpowiedni adres IP, aby dotrzeć do serwera sieci Web hostującego witrynę.

Kolejka # 3

protokół: źródło: cel: dane:
DNS 10.0.1.13 10.0.1.1 standardowe zapytanie a www.cyberguard.kom

stacja robocza prosi serwer DNS o podanie adresu IP hostującego Serwer Www www.cyberguard.com.

linia # 4

protokół: źródło: cel: dane:
DNS 10.0.1.1 10.0.1.13 standardowa odpowiedź na zapytanie CNAME cyberguard.com A 64.94.50.88

serwer DNS odpowiada adresem IP odpowiadającym www.cyberguard.com.

protokół TCP

protokół TCP (Transmission Control Protocol) służy do przesyłania danych. Następne trzy linie zawierają TCP three-way handshake:

Line # 5

protokół: źródło: cel: dane:
TCP 10.0.1.13 64.94.50.88 1939 > http

stacja robocza inicjuje połączenie z serwerem WWW (SYN). SYN jest skrótem od ” synchronize.”

Linia # 6

Protokół: źródło: cel: dane:
TCP 64.94.50.88 10.0.1.13 http > 1939

Web serwer odpowiada wstecz wskazując, że jest gotowy do transmisji (SYN ACK). SYN ACK jest skrótem od ” synchronize acknowledgement.”

linia # 7

protokół: źródło: cel: dane:
DNS 10.0.1.13 64.94.50.88 1939 > http

stacja robocza wysyła do serwera www informując, że zaczyna wysyłać ruch (ACK). Potwierdzenie to wskazuje, że połączenie TCP zostało nawiązane i ruch może zacząć płynąć.

protokół HTTP

protokół Hyper Text Transfer Protocol (HTTP) służy do obsługi stron internetowych. Możesz zobaczyć dowody na to z adresu strony internetowej w przeglądarce (tj. http://www.cyberguard.com).

Kolejka # 8

Protokół: Źródło: Cel: Dane:
HTTP 10.0.1.13 64.94.50.88 GET / HTTP/1.1

przeglądarka otwiera połączenie z serwerem WWW.

Kolejka # 9

protokół: źródło: cel: dane:
HTTP 64.94.50.88 10.0.1.13 HTTP / 1.1 200 OK

serwer WWW akceptuje połączenie.

Kolejka # 10

Protokół: Źródło: Cel: Dane:
HTTP 64.94.50.88 10.0.1.13 kontynuacja HTTP

linie kontynuacji HTTP reprezentują miejsce, w którym przesyłana jest zawartość strony html. Zawiera tekst, linki itp.

powrót do protokołu TCP

linia # 11

protokół: źródło: cel: dane:
TCP 10.0.1.13 64.94.50.88 2577 > http Seq=388864 Ack = 37076821 Win = 8241 Len=0

ta linia jest w rzeczywistości powtórzona cztery razy. Stacja robocza potwierdza ostatni pakiet.

linia nr 12 (RST)

protokół: źródło: cel: dane:
TCP 10.0.1.13 64.94.50.88 2577 > http Seq=388864 Ack=37077089 Win = 0 Len=0

stacja robocza wysyła reset, skutecznie niszcząc połączenie TCP.

Tcpdump i Ethereal

ważne jest, aby pamiętać, że tcpdump będzie dostarczać różne szczegóły w zależności od tego, gdzie działa w sieci. W tym przykładzie tcpdump został uruchomiony na wewnętrznym interfejsie zapory sieciowej z bezpośrednio podłączoną stacją roboczą. Jeśli tcpdump był używany do monitorowania tego samego przepływu ruchu na zewnętrznym interfejsie, źródłowy adres IP pojawiłby się jako zewnętrzny interfejs zapory, pod warunkiem, że wprowadzono dynamiczne tłumaczenie adresów sieciowych (DNAT). Aby obserwować przepływ ruchu proxy, warto uruchomić tcpdump zarówno na interfejsie wewnętrznym, jak i zewnętrznym, ponieważ proxy działa jako pośrednik między źródłem a miejscem docelowym.

źródłem tabeli był plik tcpdump przeglądany przez Ethereal. Dokładna zastosowana składnia brzmiała: „tcpdump-vvpni dec1-s1514-w/archive2 / dec1.DMP host 10.0.1.13” Polecenie tcpdump ma rozbudowane opcje do rejestrowania bardzo określonego przepływu ruchu (tj. źródła / miejsca przeznaczenia, porty i wyrażenia logiczne). Aby uzyskać więcej informacji, wpisz „man tcpdump” w wierszu poleceń. Wersja systemu Windows To Windump (http://windump.polito.it).

Ethereal jest dobrym narzędziem do przeglądania plików tcpdump. Jest dostępny bezpłatnie od http://www.ethereal.com.

niektóre porty obecne w tcpdump mogą być ci Nieznane. Najbardziej aktualna lista numerów portów znajduje się pod adresem http://www.iana.org/assignments/port-numbers (dla RFC 3232).

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.