Programy do
monitorowania ruchu w
sieci
Made by: Paweł Motowidło
Wireshark 0.99.6a
Analizator protokołu sieciowego,
umożliwiający dokładne zbadanie ruchu w
obrębie lokalnej infrastruktury sieciowej.
Może być również wykorzystany jako
sniffer, czyli narzędzie umożliwiające
przechwytywanie komunikacji sieciowej, w
tym niezaszyfrowanych rozmów Gadu-
Gadu. W programie wykorzystano
WinPcap.
Program można pobrać ze strony:
Wireshark Screen
BWMeter 3.3.3
Niezwykle poręczne narzędzie służące do
mierzenia i wyświetlania informacji o
przepustowości łącza. To, co odróżnia go od
innych programów tego typu to szczegółowa
analiza pakietów danych, dzięki czemu można
odseparować ruch w sieci lokalnej od
wymiany danych z Internetem. Dodatkowo
aplikacja umożliwia tworzenie statystyk dla
wszystkich komputerów w sieci lokalnej oraz
pozwala obserwować ilość pobieranych
danych z poszczególnych, wybranych przez
użytkownika serwerów.
BWmeter screen
Co to jets ramka ?
Ramka określa strukturę
przesyłanego pakietu danych.
Określona jest w niej pozycja
nagłówka, bitów danych oraz
wypełnienia pakietu. Rozeznanie
w typach ramek jest ważne przy
monitorowaniu pracy w sieci.
W sieciach Ethernet
funkcjonują 4 typy ramek:
• Ethernet II - oryginalna ramka Ethernetu, przydziela pakietowi unikalny
nagłówek.
• Ethernet 802.3 - typ ramki używany najczęściej w sieciach Novell.
• Ethernet 802.2 - standardowy typ ramki dla sieci Novell 4.x.
• Ethernet SNAP - AppleTalk.
Poszczególne skróty mają następujące znaczenie:
• PR - nagłówek (preambuła) - pole sygnalizujące początek ramki (101010...).
• SFD (Start Frame Delimiter) - znacznik początku ramki (10101011).
• DA (Destination Address) - adres docelowy.
• SA (Source Address) - adres źródłowy.
• LE (Length) - długość segmentu danych w ramce.
• Data transmitowane dane.
• PAD - uzupełnienie pola Data w celu zapewnienia minimalnej długości ramki.
• FCS - suma kontrolna dla pakietu.
Patrząc na ramki
Ethernet II i IEEE
802.3 dochodzimy do
wniosku, że są
bardzo podobne. Jest
to jednak
podobieństwo
pozorne. Ramka
802.3 nie definiuje
podwarstwy Logical
Link Control (LLC),
natomiast ramka
Ethernetu jest
ograniczona tylko do
jednej specyfikacji
warstwy Fizycznej.
Początkowe założenia
Ethernetu dotyczące
firmowanego przez
Xerox PARC
Ethernetu były takie,
że będzie on
przenosił dane
protokołów warstw
wyższych.
Odpowiedzialność za
kontrolę błędów, jak
też określenie
rozmiaru pola
danych, przerzucono
na te właśnie
protokoły.
Struktura
ramek
Ramka IEEE 802.3
Podstawowa ramka IEEE 802.3 jest często nazywana
„surową ramką ethernetową” i w takiej postaci jest
rzadko używana.
Najczęściej w polu danych znajdują się struktury
zdefiniowane standardem 802.2, które potocznie zwane
są: ramką LLC i ramką SNAP.
Charakterystyka
poszczególnych pól w
ramce Ethernet i IEEE
802.3.
Charakterystyka poszczególnych pól w ramce Ethernet i IEEE 802.3.
•
Preambuła jest naprzemiennym ciągiem bitów 1 i 0, informującym o nadchodzącej ramce.
Najczęściej nie jest on włączany do wielkości ramki. Uznawany jest za część procesu
komunikacji. W ramce Ethernet znajduje się dodatkowy bajt odpowiadający polu SOF (Start
of Frame Delimiter) określonemu w race IEEE 802.3.
•
SOF (Start of Frame Delimiter) jest bajtem kończącym preambułę. Bajt ten ma postać:
‘10101011’ i zawsze jest zakończony dwoma bitami ‘1’. W standardzie Ethernet bajt ten nie
występuje, zastąpiony jest kolejnym bajtem preambuły, w którym ostatni bit jest równy ‘0’.
•
Adresy stacji odbiorczej i stacji nadawczej są to liczby 6 bajtowe, będące adresami
sprzętowymi komunikujących się interfejsów sieciowych. Trzy pierwsze bajty adresu są
związane z producentem. Trzy ostatnie są numerem przypisanym przez dostawcę do danego
interfejsu sieciowego.
•
Typ jest polem występującym w Ethernecie i określa protokół wyższej warstwy, który ma
posłużyć do odebrania danych z ramki Ethernetu.
•
Długość – pole występujące w IEEE 802.3; określa w bajtach ilość danych, które nastąpią
po tym polu – nie może być więcej niż 1500. W standardzie Ethernet wartość w tym polu jest
zawsze większa od 1500 (dziesiętnie) i określa numer protokołu warstwy wyższej, który
odbierze dane po zakończeniu obróbki przez standard Ethernet.
•
Dane – jeśli ilość danych jest mniejsza od 46 bajtów, wprowadzane jest tzw. uzupełnienie
PAD (padding) i dane są dopełniane jedynkami, tak, aby ramka nie była mniejsza niż 512
bitów, czyli czas slotu dla 10Mb/s. Dane zawarte w ramce zostaną przesłane do protokołu
wyższej warstwy zdefiniowanego odpowiednio:
–
w polu Danych - dla IEEE 802.3;
–
w polu Typ w przypadku Ethernetu.
•
FCS – Sekwencja Sprawdzania Ramki (ang. Frame Check Sequence), która zawiera 4 bajty
kontrolne (cyclic redundancy check - CRC) wygenerowane przez interfejs nadający i
sprawdzane przez odbierający. Określają one, czy dane nie zostały uszkodzone podczas
transmisji.
•
Jednostka danych LLC (Logical Link Control) nazywa się PDU (Protocol Data Unit). PDU
zawarta jest w pierwszych kilku bajtach pola danych ramki Ethernetowej (schemat 3.4.) i
składa się z:
–
Pola punktu dostępu do usługi docelowej (DSAP) - identyfikuje przewidywalny punkt dostępu do
usługi LLC urządzenia docelowego.
–
Pola punktu dostępu do usługi źródłowej (SSAP) - określa punkt dostępu do usługi LLC
urządzenia źródłowego.
–
Pola kontroli - wskazuje typ przenoszonej ramki.
Ramka LLC umożliwia identyfikację
protokołów warstw wyższych przenoszonych
w ramkach 803.2. Pozwala to zachować
kompatybilność z ramką DIX Ethernetu, która
posiada własne, osobne mechanizmy
identyfikowania protokołów.
Ramka protokołu dostępu do podsieci - SNAP (Sub-
Network Access Protocol) dodaje 5-oktetowe pole
identyfikacji protokołu. Pole to dołączane jest do
ramki za nagłówkiem LLC. Składa się z 3-oktetowego
identyfikatora organizacyjnie unikatowego i 2-
oktetowego identyfikatora protokołu. Pola te
określają, dla których z protokołów warstw wyższych
przeznaczona jest ramka. Podramka SNAP została
stworzona w celu zwiększenia możliwości podramek
LLC w zakresie kompatybilności wstecz, z
poprzednimi wersjami Ethernetu.
Stacja, która wysyła ramkę PAUSE na określony adres
grupowy, oprócz kodu rozkazu PAUSE, wysyła informację
o czasie, przez jaki należy wstrzymać przesyłanie
kolejnych ramek z danymi. Czas ten podany jest w postaci
dwubajtowej liczby. Wartość jej odpowiada czasowi przez
jaki, od momentu odebrania ramki, stacja wysyłająca
dane powinna wstrzymać dalszą transmisję. Czas
mierzony jest w jednostkach zwanych kwantami. Jeden
kwant odpowiada czasowi, jaki potrzebny jest do
przesłania w sieci 512 bitów. Liczba jednostek czasu, o
jaką można odroczyć dalsze przesyłanie ramek, zawiera
się w przedziale od 0 do 65535.
.
Ramka
PAUSE
Protokoły internetowe
Protokoły internetowe to podzbiór
protokołów komunikacyjnych, mający
zastosowanie w środowisku internetu.
Protokoły internetowe to zbiór ścisłych
reguł i kroków postępowania, które są
automatycznie wykonywane przez
urządzenia w celu nawiązania łączności i
wymiany danych.
Najpopularniejsze
protokoły internetowe:
• HTTP
• HTTPS
• FTP
• SMTP
• POP3
• IMAP
• IRC
• DNS
HTTP
HTTP (ang. Hypertext Transfer Protocol –
protokół przesyłania dokumentów
hipertekstowych) to protokół sieci WWW (ang.
World Wide Web). Obecną definicję HTTP
stanowi RFC 2616. Za pomocą protokołu HTTP
przesyła się żądania udostępnienia dokumentów
WWW i informacje o kliknięciu odnośnika oraz
informacje z formularzy. Zadaniem stron WWW
jest publikowanie informacji - natomiast protokół
HTTP właśnie to umożliwia.
HTTP standardowo korzysta z portu nr 80
HTTPS
HTTPS (ang. HyperText Transfer Protocol Secure) to
szyfrowana wersja protokołu HTTP. Zamiast używać w
komunikacji klient-serwer niezaszyfrowanego tekstu,
szyfruje go za pomocą technologii SSL. Zapobiega to
przechwytywaniu i zmienianiu przesyłanych danych.
HTTPS działa domyślnie na porcie nr 443 w protokole TCP.
Wywołania tego protokołu zaczynają się od https:, a
zwykłego połączenia HTTP od http:. Protokół HTTP jest
warstwę wyżej (na transporcie SSL), najpierw następuje
więc wymiana kluczy SSL, a dopiero później żądanie HTTP.
Powoduje to, że jeden adres IP może serwować tylko jedną
domenę lub też tylko subdomeny danej domeny (zależnie
od certyfikatu).
FTP
FTP (ang. File Transfer Protocol) - protokół typu klient-
serwer, który umożliwia przesyłanie plików z i na serwer
poprzez sieć TCP/IP. Protokół ten jest zdefiniowany przez
IETF w RFC 959
FTP jest protokołem 8-bitowym, dlatego nie wymaga
specjalnego kodowania danych na postać 7-bitową, tak jak
ma to miejsce w przypadku poczty elektronicznej
Jeżeli FTP pracuje w trybie aktywnym, korzysta z portów:
21 dla poleceń (połączenie to jest zestawiane przez
klienta) oraz 20 do przesyłu danych. Połączenie
nawiązywane jest wówczas przez serwer. Jeżeli FTP
pracuje w trybie pasywnym wykorzystuje port 21 do
poleceń i port o numerze > 1024 do transmisji danych,
gdzie obydwa połączenia zestawiane są przez klienta.
SMTP
SMTP (ang. Simple Mail Transfer Protocol) –
protokół komunikacyjny opisujący sposób
przekazywania poczty elektronicznej w Internecie.
SMTP to względnie prosty, tekstowy protokół, w
którym określa się co najmniej jednego odbiorcę
wiadomości (w większości przypadków
weryfikowane jest jego istnienie), a następnie
przekazuje treść wiadomości. Demon SMTP działa
najczęściej na porcie 25.
SMTP nie pozwala na pobieranie wiadomości ze
zdalnego serwera. Do tego celu służą POP3 lub
IMAP.
POP3
Post Office Protocol version 3 (POP3) to protokół internetowy z warstwy
aplikacji pozwalający na odbiór poczty elektronicznej ze zdalnego serwera do
lokalnego komputera poprzez połączenie TCP/IP. Ogromna większość
współczesnych internautów korzysta z POP3 do odbioru poczty
Kiedy użytkownik połączy się z siecią, to korzystając z POP3 może
pobrać czekające na niego listy do lokalnego komputera. Jednak
protokół ten ma wiele ograniczeń:
• połączenie trwa tylko, jeżeli użytkownik pobiera pocztę i nie może pozostać
uśpione,
• do jednej skrzynki może podłączyć się tylko jeden klient równocześnie,
• każdy list musi być pobierany razem z załącznikami i żadnej jego części nie
można w łatwy sposób pominąć - istnieje co prawda komenda top, ale
pozwala ona jedynie określić przesyłaną liczbę linii od początku wiadomości,
• wszystkie odbierane listy trafiają do jednej skrzynki, nie da się utworzyć ich
kilku,
• serwer POP3 nie potrafi sam przeszukiwać czekających w kolejce listów.
Istnieje bardziej zaawansowany protokół IMAP, który pozwala na przeglądanie
czekających listów nie po kolei na podobieństwo plików w katalogach i
posiada niektóre funkcje pominięte w POP3.
IMAP
IMAP (Internet Message Access Protocol) to
internetowy protokół pocztowy zaprojektowany jako
następca POP3.
W przeciwieństwie do POP3, który umożliwia
jedynie pobieranie i kasowanie poczty, IMAP
pozwala na zarządzanie wieloma folderami
pocztowymi oraz pobieranie i operowanie na listach
znajdujących się na zdalnym serwerze.
IMAP pozwala na ściągnięcie nagłówków
wiadomości i wybranie, które z wiadomości chcemy
ściągnąć na komputer lokalny. Pozwala na
wykonywanie wielu operacji, zarządzanie folderami
i wiadomościami.
IRC
IRC (ang. Internet Relay Chat) to jedna ze starszych
usług sieciowych umożliwiająca rozmowę na
tematycznych lub towarzyskich kanałach
komunikacyjnych, jak również prywatną z inną
podłączoną aktualnie osobą.
Usługa ta funkcjonuje w architekturze klient-serwer, tj.
fizycznie składa się z grupy połączonych ze sobą na
stałe serwerów oraz programów-klientów. Programy
klienckie uruchamiane są przez końcowych
użytkowników lokalnie – na ich własnych komputerach,
lub zdalnie, za pośrednictwem usługi SSH lub telnet.
Rozmowy w sieci IRC odbywają się na tzw. kanałach, z
których część funkcjonuje stale. Inne mogą być
uruchamiane przez jednego użytkownika w celu
porozmawiania choćby z jedną inną osobą. Można także
prowadzić prywatną rozmowę z innym użytkownikiem.
DNS
DNS (ang. Domain Name System, system nazw domenowych) to
system serwerów oraz protokół komunikacyjny zapewniający zamianę
adresów znanych użytkownikom Internetu na adresy zrozumiałe dla
urządzeń tworzących sieć komputerową. Dzięki wykorzystaniu DNS
nazwa mnemoniczna, np. pl.wikipedia.org, może zostać zamieniona
na odpowiadający jej adres IP, czyli 145.97.39.155.
Adresy DNS składają się z domen internetowych rozdzielonych
kropkami. Dla przykładu w adresie Wikipedii org oznacza domenę
funkcjonalną organizacji, wikipedia domenę należącą do fundacji
Wikimedia, a pl polską domenę w sieci tej instytucji. W ten sposób
możliwe jest budowanie hierarchii nazw, które porządkują Internet.
DNS to złożony system komputerowy oraz prawny. Zapewnia z jednej
strony rejestrację nazw domen internetowych i ich powiązanie z
numerami IP. Z drugiej strony realizuje bieżącą obsługę komputerów
odnajdujących adresy IP odpowiadające poszczególnym nazwom.