heise networks

Wiadomości i artykuły heise Networks

27 kwietnia 2009, 11:29

Ernst Ahlers, Adam Rudziński

Mostek sieciowy do analizy transferu

Programowy mostek w Linuksie

0.jpg
Komputer do analizy transferu przyłączony jako mostek sieciowy pozwala na analizę sieciową w trybie pełnego dupleksu

Analizatory sieciowe takie jak Wireshark czy tcpdump to użyteczne narzędzia, które pomagają przy rozwiązywaniu wielu problemów. Zanim jednak zaczniemy analizowanie danych, musimy do nich dotrzeć. Informacje o ruchu zdobędziemy dzięki mostkowi sieciowemu zbudowanemu z wykorzystaniem komputera.

Tradycyjny sposób pozyskiwania danych do analizy sieciowej polega na przyłączeniu koncentratora (huba). Pozwala on na przekazywanie otrzymanego strumienia informacji wszystkim portom. Administrator ze swoim komputerem analizującym dociera do najniższej warstwy protokołu (Layer 2, MAC-Layer) i może przebadać obsługę protokołów warstw trzeciej i czwartej: IP, TCP, UDP, SMB, CIFS, HTTP...

Niestety, przyłączony do koncentratora komputer nie będzie przesyłał danych szybciej niż 10 Mb/s, co nierzadko okaże się zbyt dużym wyrzeczeniem. Szybkie przełączniki sieciowe (switch) nie są w stanie zastąpić huba. Wynika to z faktu, że dla każdego pakietu danych włączają one połączenie tylko między portami zaangażowanymi w transmisję. Pozostałe porty nie są w ogóle informowane o przesyle, więc nie ma jak zbierać danych.

Do naszych celów nieprzydatne mogą okazać się nawet przełączniki do zastosowań profesjonalnych, które oferują funkcję monitoringu: w niektórych modelach port monitoringu pozwala na przekazywanie danych tylko w jedną stronę transmisji (do nadawcy lub do odbiorcy). W tym przypadku port, który obserwujemy oraz ten, do którego przyłączony jest komputer monitorujący, pracują zwykle z tą samą szybkością, transmitując np. dane z prędkością 100 Mb/s. Tymczasem przez port, który obserwujemy w trybie pełnego dupleksu (full duplex), informacje mogą płynąć z prędkością 200 Mb/s. W efekcie trzeba się ograniczać się do śledzenia jednego kierunku transmisji.

Alternatywą byłoby skorzystanie z urządzenia typu Ethernet TAP. Jest ono wyposażone w port monitorujący oraz dwa inne, do których przyłącza się dwa końce kabla sieciowego. Sęk w tym, że model pracujący w trybie Fast Ethernet kosztuje około 1300 złotych, a wersja obsługująca standard Gigabit Ethernet to nieraz wydatek dziesięciokrotnie większy.

W Internecie znajdziemy także wskazówki o tym, jak samemu za pomocą kabla zbudować mostki łączące końcówki sieci lokalnej. Jednak tego rodzaju rozwiązanie nie pozwoli na pracę w standardzie Gigabit Ethernet, a poza tym przy dłuższych kablach takie rękodzieło potrafi zablokować połączenia.

0.gif
Karty PCI-X działają także na krótszych gniazdach PCI
By wychwytywać dane płynące w dwóch kierunkach, komputer służący nam do analizy musi zostać wyposażony w dwie karty sieciowe. Dobrym pomysłem jest skonfigurowanie obydwu portów pod Linuksem jako mostków sieciowych (software-bridge). Taki mostek będzie z niewielkim opóźnieniem przesyłał wchodzące pakiety do innego portu. Jednak w przeciwieństwie do wspomnianego urządzenia Ethernet TAP nie przepuści uszkodzonych pakietów.

Jeżeli nasz komputer ma wystarczającą liczbę wolnych gniazd PCI, wówczas należy do niego podłączyć po prostu jakąś niedrogą kartę sieciową. Trzecia karta pozwoli na sterowanie komputerem także na odległość w obrębie sieci LAN (na przykład w sytuacji, gdy musimy na dłuższy czas odstawić nasz sprzęt do osobnego pomieszczenia). Jeżeli natomiast komputer, z którego korzystamy, nie ma już wolnych gniazd, to pomoże nam sięgnięcie po kartę wieloportową (Multi-Port). Starsze, używane modele przeznaczone dla serwerów kupimy już za około 300 złotych. Zresztą na półkach z nowym sprzętem znajdziemy takie, które kosztują niewiele więcej. Ale uwaga: karty przeznaczone do serwerów są często pokaźnych rozmiarów. Dlatego też zanim zdecydujemy się na zakup, najpierw należy upewnić się, że w obudowie będzie wystarczająco dużo miejsca.

Zwykle dla kart używanych nie będzie problemu ze znalezieniem sterowników pod Linuksa. Komputer traktuje kartę wieloportową tak jak kilka pojedynczych kart. W przypadku przedstawionej w artykule konfiguracji pakiety nie korzystają ze skrótu między portami na karcie, lecz przechodzą od danego gniazda do komputera i dopiero wracają do kolejnego portu na karcie. Jeżeli jednocześnie nie podłączymy innych urządzeń do gniazda PCI, to tak skonfigurowany sprzęt pozwoli nam śledzić transfer danych w sieci Fast Ethernet. Natomiast karta zgodna ze standardem Gigabit Ethernet podłączona do gniazda PCI będzie znacznie wolniejsza; dlatego też lepiej wówczas korzystać z szybciej pracujących kart PCI-E albo PCI eXtended (PCI-X).

Jednak nic nie uchroni nas przed niespodziankami: podczas naszych testów dwuportowa karta ANA-6922 pracowała co prawda bez zarzutu, jednak nie pozwalała na przesyłanie pakietów pomiędzy modemem DSL a routerem. Źródłem kłopotów okazał się chipset urządzenia. Z problemem poradziliśmy sobie, zamieniając kartę na dwuportowy sprzęt firmy Intel.

  • Podziel się
  • Wykop.pl
  • StumbleUpon
  • del.icio.us
  • OSnews.pl