• Home
  • Server 2003/2008
  • Windows 7
  • Office
  • Linux
  • Sieci komputerowe
  • Wujek dobra rada
  • Mapa strony
  • Napisz
  • czcionka Zmniejsz czcionkę Zmniejsz czcionkę Powiększ czcionkę Powiększ czcionkę
  • Wydrukuj
  • Email
  • Dodaj komentarz
pikolo pikolo

Co w sieci siedzi. Protokół CDP

25 październik 2013
Dział: Sieci komputerowe
Czytany 25396 razy
Oceń ten artykuł
  • 1
  • 2
  • 3
  • 4
  • 5
(10 głosów)

Protokół CDP (ang. Cisco Discovery Protocol) jest protokołem stworzonym przez firmę Cisco i działającym wyłącznie na urządzeniach tej firmy (routery, switche itd.). Stanowi świetne narzędzie do monitorowania sieci a także może posłużyć przy rozwiązywaniu wszelakich problemów mogących wystąpić w naszej sieci. Protokół ten pozyskuje informacje o bezpośrednio podłączonych urządzeniach Cisco, CDP działa w warstwie 2 modelu ISO/OSI (warstwa łącza danych) co oznacza, że nie musimy nadawać adresów IP, aby protokół ten działał a sąsiadami CDP zostają wszystkie urządzenia fizycznie współdzielące jedno łącze. Po uruchomieniu routera bądź switcha protokół ten jest domyślnie uruchamiany, co pozwala na wykrycie innych sąsiadujących urządzeń Cisco z aktywowanym protokołem CDP.

 

Przechodzimy do pierwszego urządzenia.

Urządzenie od którego zaczynamy odkrywać konfigurację\topologię naszej sieci to router R_1 i na nim wydajemy polecenie show cdp neighbors, które ujawni sąsiadów routera R_1.

Jak widać sąsiadami routera R_1 jest:

      • router R_2 - połączony poprzez interfejs Fastethernet 0/1 routera R_1 oraz interfejs Ethernet 0/1/0 routera R_2,
      • switch S_1 – połączony poprzez interfejs Fastethernet 0/0 routera R_1 oraz interfejs Fastethernet 0/1 switcha S_1,
      • switch Switch0 - połączony poprzez interfejs Ethernet 0/1/0 routera R_1 oraz interfejs Fastethernet 0/2 switcha Switch0.

       

 

Czyli jak na razie nasz topologia wygląda następująco:

 

Wydając polecenie show cdp neighbors detail, poznamy kolejne szczegóły konfiguracji, a mianowicie:

      1. adres IP interfejsu Ethernet 0/1/0 routera R_2 – 192.168.0.1,
      2. szczegóły platform sąsiadów routera R_1,
      3. format rozgłoszeń,
      4. rodzaj połączenia.

 

 

 Adresy IP interfejsów routera R_1 oraz ich stan poznamy po wydaniu polecenia show ip interface brief.

 

 

Polecenie nie zdradzi nam użytych masek sieciowych więc by uzyskać tę informację możemy posłużyć się np. poleceniem – show ip interface <nazwa interfejsu> (choć są również inne polecenia).

 

 

Tak więc nasz topologia wzbogaci się o kolejne informacje.

 

Urządzenie

Interfejs

Adres IP

Router R_1

Fa0/0

172.16.0.1/24

Router R_1

Eth0/1/0

10.10.10.1/24

Router R_1

Fa0/1

192.168.0.2/30

Router R_2

Eth0/1/0

192.168.0.1

 

 

 Przechodzimy na switch S_1.

 

 

Analiza otrzymanych informacji nie wnosi nic do topologii, potwierdza tylko część informacji uzyskanych na routerze R_1.

Kolejnym badanym urządzeniem będzie switch Switch0.

Wydanie polecenia show cdp neighbors na Switch0 ujawnia istnienie kolejnego urządzenia a mianowicie routera R_3.

Router R_3 za pomocą interfejsu Fastethernet 0/1 jest podłączony do łącza Fastethernet 0/1 switcha Switch0. Adres IP interfejsu Fastethernet 0/1 routera R_3 to 10.10.10.2

 

 

Nasza topologia przyjmie postać:

 

Urządzenie

Interfejs

Adres IP

Router R_1

Fa0/0

172.16.0.1/24

Router R_1

Eth0/1/0

10.10.10.1/24

Router R_1

Fa0/1

192.168.0.2/30

Router R_2

Eth0/1/0

192.168.0.1

Router R_3

Fa0/1

10.10.10.2

 

 

Zobaczmy co zdradzi nam router R_2.

Wydajemy polecenia protokołu CDP.

Protokół CDP odkrywa nam istnienie kolejnego urządzenia – switcha S_2 podłączonego z routerem R_2. Od strony routera R_2 jest to interfejs Fastethernet 0/0 natomiast od strony switcha S_2 jest to interfejs Fastethernet 0/1.

Dowiadujemy się również, że routery R_2 i R_3 są ze sobą połączone, poprzez interfejs Fastethernet 0/1 (router R_2) oraz interfejs Ethernet 0/1/0 (router R_3). Adres IP interfejsu Ethernet 0/1/0 routera R_3 to 192.168.1.2

 

 

Sprawdźmy jeszcze adresy IP interfejsów routera R_2.

 

 

Tak więc po analizie otrzymanych danych otrzymujemy:

 

Urządzenie

Interfejs

Adres IP

Router R_1

Fa0/0

172.16.0.1/24

Router R_1

Eth0/1/0

10.10.10.1/24

Router R_1

Fa0/1

192.168.0.2/30

Router R_2

Fa0/1

192.168.1.1/30

Router R_2

Eth0/1/0

192.168.0.1/30

Router R_2

Fa0/0

10.0.0.1/24

Router R_3

Fa0/1

10.10.10.2

Router R_3

Eth0/1/0

192.168.1.2

 

 

Nie pozostało nam nic innego jak sprawdzić jakie tajemnice kryje router R_3.

 

 

Protokół CDP odkrył przed nami 2 nowe urządzenia a mianowicie switch S_3 i router R_4. Switch S_3 jest podłączony interfejsem Fastethernet 0/1 do interfejsu Fastethernet 0/0 routera R_3 natomiast router R_4 jest podłączony interfejsem Serial0/0/0 do interfejsu Serial 0/0/0 routera R_3.

By uzupełnić nasze adresy IP o maski sieci sprawdźmy interfejsy router R_3.

 

 

Tak więc nasza konfiguracja sieci przyjmie teraz postać:

 

 

Urządzenie

Interfejs

Adres IP

Router R_1

Fa0/0

172.16.0.1/24

Router R_1

Eth0/1/0

10.10.10.1/24

Router R_1

Fa0/1

192.168.0.2/30

Router R_2

Fa0/1

192.168.1.1/30

Router R_2

Eth0/1/0

192.168.0.1/30

Router R_2

Fa0/0

10.0.0.1/24

Router R_3

Fa0/0

172.16.1.1/24

Router R_3

Fa0/1

10.10.10.2/24

Router R_3

Serial0/0/0

172.16.2.1/24

Router R_3

Eth0/1/0

192.168.1.2/30

 

Kolejnym urządzeniem, które będziemy badać będzie switch S_3.

 

 

Protokół CDP potwierdza tylko wcześniejsze ustalenia.

Przechodzimy do routera R_4.

 

 

Jak widać powyżej do całej topologii dochodzą dwa nowe switche S_4 i S_5, które są odpowiednio podpięte do interfejsu FastEthernet0/0 (switch S_4) oraz interfejsu FastEthernet0/1 (switch S_5) routera R_4.

Zdobądźmy jeszcze informację o adresach IP interfejsów oraz maskach.

 

 

Tak więc otrzymujemy:

 

 

Urządzenie

Interfejs

Adres IP

Router R_1

Fa0/0

172.16.0.1/24

Router R_1

Eth0/1/0

10.10.10.1/24

Router R_1

Fa0/1

192.168.0.2/30

Router R_2

Fa0/1

192.168.1.1/30

Router R_2

Eth0/1/0

192.168.0.1/30

Router R_2

Fa0/0

10.0.0.1/24

Router R_3

Fa0/0

172.16.1.1/24

Router R_3

Fa0/1

10.10.10.2/24

Router R_3

Serial0/0/0

172.16.2.1/24

Router R_3

Eth0/1/0

192.168.1.2/30

Router R_4

Fa0/0

10.0.1.1/24

Router R_4

Fa0/1

10.0.2.1/24

Router R_4

Serial0/0/0

172.16.2.2/24

 

Idziemy dalej i sprawdźmy czy switch S_4 ma jeszcze innych sąsiadów niż router R_4.

 


Jak widać powyżej jedynym sąsiadem switcha S_4 jest router R_4.

Przechodzimy do switcha S_5.

 

 

Tutaj również okazuje się że switch S_5 nie ma więcej sąsiadów. Tak więc znamy całą topologię sieci. Oczywiście należy cały czas pamiętać, że protokół CDP działa tylko na urządzeniach Cisco a urządzenia innych producentów nie będą „widziane” przez ten protokół.

Znamy urządzenia, użyte adresy IP, maski i interfejsy - jak sam widzisz czytelniku można poznać te wszystkie informacje nie ruszając się z miejsca (choć ruch w pracy informatyka jak najbardziej jest zalecany). Dzięki protokołowi CDP logując się na każde z urządzeń (nieważnie czy lokalnie czy zdalnie) możemy wykonać mapę naszej sieci i niewątpliwie jest to wielką zaletą tego rozwiązania. Choć obok zalet są również wady. Postawmy o to takie pytanie - Czy użycie protokołu CDP może narazić nas na niebezpieczeństwo? Na tak zadane pytanie trzeba odpowiedzieć niestety twierdząco. Pomimo wszystkich swoich korzyści (co zostało pokazane powyżej) nie zalecane jest by protokół ten był włączony. Dzieje się tak, ponieważ protokół CDP jest protokołem warstwy drugiej modelu ISO/OSI i protokół ten (zresztą jak parę innych protokołów łącza danych – STP, VTP, DTP) nie zapewnia żadnego uwierzytelnienia i bezpieczeństwa przetwarzanych danych. Tak naprawdę każdy host w sieci może wysłać ramki CDP a analiza przechwyconych ramek daje atakującemu obraz naszej sieci (topologia, adresacja). By zobrazować, że jest to możliwe wykonajmy proste doświadczenie (poniższy przykład nie jest związany z ćwiczeniem wykonanym powyżej).

Na routerze R3 uruchamiamy debugowanie pakietów CDP. Jak widać wysyłane są pakiety poprzez interfejs Ethernet0/0.

 

 

Router R3 nie wykrywa żadnych sąsiadów.

 

 

Przechwycona ramka dostarcza nam następujących informacji:

      1. protokół CDP korzysta z adresu multicast 01-00-0c-cc-cc-cc,
      2. nazwę urządzenia,
      3. wersja oprogramowania IOS,
      4. platforma urządzenia,
      5. adres IP interfejsu,
      6. interfejs.

 

Czyli jak widać atakujący na wstępie zdobywa wiele użytecznych informacji o naszej sieci.

 

 

Zasymulujemy atak typu flooding (ang. flood - potop, powódź) czyli wyślemy wielokrotnie spreparowane ramki CDP. Intensywność wysyłania ramek jest tak duża, że powoduje niestabilność działania urządzenia a w pewnych wypadkach (wersja IOS) do odzyskania sprawności działania switcha bądź routera może być wymagane zrestartowanie urządzenia.

Do wywołania ataku użyjemy narzędzia Yersinia, dostępnego w systemie Linux. Program możemy obsługiwać w trybie graficznym jak i z linii poleceń (notabene uruchomienie programu z CLI włącza pseudo tryb graficzny). Jak widać poniżej oprócz możliwości ataku program również działa jako sniffer (w tym przypadku program rejestruje pakiety CDP).

 

 

Aby uruchomić atak wybieramy Launch attack, przechodzimy do zakładki CDP i wybieramy flooding CDP table.

 

 

Po kliknięci na OK zostanie uruchomiony atak, który zaleje urządzenie setkami/tysiącami pakietów (wszystko zależy od długości trwania ataku) CDP symulującymi nowe urządzenia.

 

 

Włączony proces debugowania również uwidacznia atak.

 

 

 Włączony Wireshark (sniffer plików) potwierdza tylko fakt przeprowadzenia ataku.

 

 

Wydanie na urządzeniu polecenia show cdp neighbors ukarze nam listę wszystkich fikcyjnych urządzeń.

 

 

Więcej szczegółów o fikcyjnych urządzeniach dowiemy się jeśli wydamy polecenie show cdp neighbors detail.

 

 

Innym narzędziem, które możemy użyć do wysłania fałszywych ramek CDP jest oprogramowanie IRPAS czyli Internetwork Routing Protocol Attack Suite. Oprogramowanie podobnie zresztą jak Yersinia może przeprowadzać wiele ataków z wykorzystaniem różnych protokołów.

Wysłanie spreparowanych ramek CDP sprowadza się do wydania jednego polecenia np.
cdp –i eth1 –n 100 (choć możliwości jest znacznie więcej). Wywołanie komendy spowoduje wysłanie 100 fałszywych ramek CDP poprzez interfejs eth1.

 

 

Jak widać poniżej proces debugowania uwidacznia fakt odebrania przez urządzenie ramek CDP.

 

 

Tak samo informacja o wszystkich fałszywych urządzeniach będzie dostępna po wydaniu polecenia show cdp neighbors czy show cdp neighbors detail

 

 

Fałszywe ramki również możemy podejrzeć w sniferze plików.

 

 

Jak widać spowodowanie zamieszania w sieci z wykorzystaniem protokołu CDP wcale nie jest trudne, atak tego typu na pewno będzie miał negatywny wpływ na działanie naszej sieci.

A więc automatycznie nasuwa się pytanie - Jak się ustrzec przed tego typu atakiem? Odpowiedź jest prosta - wyłączyć protokół CDP.

Wyłączenie protokołu CDP możemy wykonać odgórnie za pomocą polecenia no cdp run, które wydajemy w trybie konfiguracji globalnej. Polecenie całkowicie wyłącza użycie protokołu CDP na danym urządzeniu.

 

 

Drugim sposobem wyłączenia użycia CDP jest wyłączenie protokołu na danym interfejsie:

      • no cdp enable - wyłącza CDP na konkretnym interfejsie
      • cdp enable - włącza CDP na konkretnym interfejsie

Polecenia clear (tryb uprzywilejowany):

      • clear cdp counters - zeruje liczniki pakietów CDP
      • clear cdp table - usuwa informacje o sąsiadach CDP

Możemy również modyfikować czas wysyłania ramek CDP (domyślnie 60 sekund) jak i czas po jakim dane urządzenie zostaje usunięte z tablicy sąsiadów CDP (domyślnie 180 sekund). Polecenia wydajemy w trybie konfiguracji globalnej.

      • cdp timer <czas sekundy> - czas wysyłania
      • cdp holdtime <czas sekundy> - licznik usunięcia

 

 

Domyślnie na urządzeniach Cisco we wszystkich systemach IOS od wersji 12.0(3)T (włącznie) protokół CDP jest uruchamiany w wersji 2. Jeśli istnieje potrzeba uruchomienia wersji pierwszej tego protokołu należy wydać polecenie - no cdp advertise-v2

Do rozwiązywania problemów z protokołem CDP, możemy użyć poleń show:

show cdp interface - ustawienia interfejsu, na rysunku poniżej brak jest interfejsu Ethernet0/1 ponieważ na interfejsie tym został wyłączony protokół CDP.

 

 

show cdp traffic –polecenie pokazuje informacje o ramkach CDP

 

 

show cdp - ogólne informacje

show cdp entry <nazwa sąsiada> - szczegółowe informacje o sąsiedzie CDP

 

 

Informacje o protokole CDP możemy również zdobywać w procesie debugowania.

debug cdp adjacency - wyświetla informacje CDP o urządzeniach sąsiednich

 

 

debug cdp events - wyświetla zdarzenia CDP

 

 

debug cdp ip - wyświetla informacje CDP IP

debug cdp packets - wyświetla informacje o pakietach CDP

 

 

 

 


 

Bibliografia:

 

http://www.cisco.com/en/US/docs/ios/12_2/configfun/command/reference/frf015.html

http://www.phenoelit.org/irpas/

http://www.yersinia.net/

http://www.cisco.com/en/US/docs/ios-xml/ios/cdp/command/cdp-cr-a1.html

Ostatnio zmieniany piątek, 08 styczeń 2016 23:37
Etykiety
  • CDP
  • CISCO
  • Router
  • switch
  • Yersinia
  • przełącznik
  • warstwa 2
  • warstwa łącza danych

Artykuły powiązane

  • Atak na warstwę 2 modelu ISO/OSI - preludium
  • Windows Server 2012 - Ochrona dostępu do sieci z wykorzystaniem 802.1X
  • Serwer Syslog (po raz drugi) z wykorzystaniem systemu Linux.
  • Rejestracja zdarzeń z wykorzystaniem serwera Syslog.
  • Listy kontroli dostępu ACL
Więcej w tej kategorii: « Zarządzanie routerem CISCO Co w sieci siedzi. Routing dynamiczny. »

Dodaj komentarz



Odśwież

Wyślij
Skasuj
JComments
Powrót na górę

Wujek dobra rada

Szybkie pytania i szybkie odpowiedzi czyli garść porad do wykorzystania w codziennej pracy z komputerem.

  • Jak utworzyć RAMdysk w systemie Windows? Jak utworzyć RAMdysk w systemie Windows?

    RAMdysk jest wydzieloną częścią pamięci, która w systemie operacyjnym jest widziana jak kolejny dysk/partycja. Praca z tak wydzielona przestrzenią pamięci odbywa się jak z normalnym dyskiem. Dostępne są wszystkie operacje związane z plikami.  

    Napisano poniedziałek, 04 grudzień 2017 21:44
  • Bezpieczny pendrive Bezpieczny pendrive

    Jak zabezpieczyć nasze dane w sytuacji utraty pendiva/karty pamięci.

    Napisano czwartek, 29 czerwiec 2017 12:00
  • Wyszukiwanie plików w systemie Windows Wyszukiwanie plików w systemie Windows

    Krótki opis jak wyszukać pliki przy wykorzystaniu Eksploratora plików.

    Napisano sobota, 17 czerwiec 2017 20:31
  • Diagnostyka pamięci RAM Diagnostyka pamięci RAM

    Jak zdiagnozować uszkodzenie modułu pamięci RAM

    Napisano wtorek, 16 maj 2017 12:39
  • Konwersja maszyny fizycznej na wirtualną (odsłona druga). Konwersja maszyny fizycznej na wirtualną (odsłona druga).

    W poprzednim wpisie (Konwersja maszyny fizycznej na wirtualną) opisałem konwersję maszyny fizycznej do wirtualnej, efektem Naszych działań było przeniesienie systemu działającego na fizycznym hoście do środowiska opartego o oprogramowanie Vmware. Zaś w tym wpisie wykonamy podobne działanie lecz efektem będzie uzyskanie maszyny działającej w VirtualBox.

    Napisano czwartek, 04 maj 2017 11:53
Czytaj więcej...

Najczęściej komentowane

  • Jak wyznaczyć broadcast, adres sieci i liczbę hostów? (+19)
  • Instalacja Windows XP/Vista/7 z pendriv'a. (+12)
  • Dostęp zdalny oraz prawa użytkownika w urządzeniach CISCO (+12)
  • Co w sieci siedzi. Protokół DNS. (+10)
  • Windows i Linux w jednej stali sieci. (+8)

Najnowsze komentarze

  • Dzak 07.09.2020 17:32
    Witam. Nie rozumiem dlaczego zamiast podziału na podsieci nie możemy po prostu ustanowić 7 lokalnych ...
     
  • fgm 03.09.2020 06:47
    jak nie pamietam daty rozszezenia i dokladnej nazwy tylko podobna to jak wyszukac taki plik lub wiele ...
     
  • Andrzej 13.08.2020 07:26
    Usunięcie x z /etc/passwd uważam za niebezpieczne rozwiązanie. Ponieważ po takiej operacji i ustawieniu ...
     
  • Andrzej 13.08.2020 07:15
    To zdanie Utworzenie użytkownika w ten sposób powoduje wyłączenie konta poprzez wstawienie znaku x w ...
     
  • goodbye world 01.07.2020 10:20
    Będą jakieś nowe wpisy?

Ostatnio komentowane

  • Słów kilka o adresacji sieci. (3)
  • Wyszukiwanie plików w systemie Windows (1)
  • Dogadać się z Linuksem. Zarządzanie kontem użytkownika. (3)
  • Yubico czyli jak chronić dostęp do naszych kont (6)
  • Atak na warstwę 2 modelu ISO/OSI - preludium (4)

Popularne tagi

80211 Active Directory arkusz kalkulacyjny CISCO cmd DHCP domena EXCEL filtrowanie formuła FTP funkcja GPO grupy jednostka organizacyjna JEŻELI kontroler LibreOffice Linux MSOffice panel sterowania PowerShell przełącznik rejestr Router Serwer SUMA switch TCP trunk Ubuntu UDP usługi VirtualBox VLAN warstwa 2 warstwa 3 warstwa sieciowa warstwa łącza danych wifi Windows wirtualizacja WORD zakres ŚREDNIA

UWAGA! Ten serwis używa cookies

Brak zmiany ustawienia przeglądarki oznacza zgodę na to.

Zrozumiałem

Created by: clivio.pl

Copyright © Created by: 2022 All rights reserved. Custom Design by Youjoomla.com
Home