Metody płatności Abuse

Skanowanie ARP sieci lokalnej systemu Linux

08.06.2024, 15:00

Często musisz wiedzieć, które urządzenia są podłączone do Twojej sieci. Dzieje się tak w przypadku, gdy chcesz połączyć się z jednym z komputerów i nie masz jasnego pojęcia o jego adresie, lub jeśli chcesz po prostu upewnić się, że Twoja sieć jest bezpieczna lub nie, lub jeśli chcesz znaleźć wszystkie ukryte urządzenia. Możesz znaleźć wszystkie podłączone urządzenia, w tym urządzenia ukryte, za pomocą skanowania ARP.

Co to jest ARP

ARP (Address Resolution Protocol) to protokół używany w sieciach komputerowych do komunikacji między węzłami sieci. Służy on do mapowania adresów IP urządzeń sieciowych na ich fizyczne adresy MAC. Gdy węzeł w sieci chce wysłać dane do innego węzła, używa ARP do określenia adresu MAC odbiorcy na podstawie jego adresu IP.

W systemie Linux tabela ARP jest przechowywana w pamięci RAM i zawiera dopasowania między adresami IP i adresami MAC innych urządzeń w sieci. Zawartość tablicy ARP w systemie Linux można wyświetlić za pomocą polecenia arp -a. Linux zapewnia narzędzia do wykonywania operacji ARP, takich jak dodawanie statycznych wpisów ARP lub czyszczenie pamięci podręcznej ARP. ARP jest ważnym elementem działania sieci TCP/IP i odgrywa kluczową rolę w komunikacji między urządzeniami w sieci lokalnej.

Skanowanie za pomocą ARP

Każda sieć komputerowa posiada adres IP - każdy o tym wie. Czy zastanawiałeś się kiedyś, który komputer ma przypisany konkretny adres? Wiadomo, że istnieją różne sieci - przewodowe, bezprzewodowe, ppp. W każdej sieci adres sprzętowy komputera ma inny format, który zależy od cech konstrukcyjnych sieci lokalnej.

Wyjaśnijmy, że w rzeczywistości wszystko jest bardzo proste. Do konwersji adresu fizycznego na IP służy ARP, mówiąc najprościej, jest to protokół rozpoznawania adresów. Kiedy komputer wchodzi do sieci, wysyła żądanie do innych komputerów i zadaje pytanie - "Kto ma adres IP XXX.XXX.X.X.X". Jego odpowiedź nie jest ignorowana, ale wygląda nieco inaczej - "Mam, mój adres to xx:xx:xx:xx:xx". Oznacza to, że w odpowiedzi wysyłany jest adres fizyczny. Adres ten jest wprowadzany do specjalnej tabeli.

Należy powiedzieć, że format wiadomości ARP jest niezwykle prosty. Wiadomość zawiera albo żądanie z adresem IP, albo odpowiedź. Rozmiar wiadomości zależy od protokołu - IPv4 lub IPv6, rodzaju sprzętu sieciowego. Nagłówek wiadomości określa typy i rozmiary tych wiadomości. Nagłówek kończy się kodem wiadomości. W przypadku żądania kod wynosi 1, a w przypadku odpowiedzi kod wynosi 2. Treść wiadomości zawiera cztery adresy, sprzętowe i sieciowe, należące do nadawcy i odbiorcy.

Instalacja narzędzia

Narzędzie ARP Scan, zwane również MAC Scanner, jest poręcznym, funkcjonalnym narzędziem do skanowania sieci lokalnej Linux za pomocą ARP. Program wyświetla adresy Pv4 urządzeń sieciowych. Osobliwością ARP jest to, że nie obejmuje routingu. Ten typ skanowania jest odpowiedni tylko dla sieci lokalnych. Program wykrywa aktywne urządzenia, komputery nie mogą ukryć się przed ARP. Jeśli komputer ma zostać wykryty poza siecią lokalną, używane jest skanowanie ping.

Network Scanner jest dostępny dla następujących systemów operacyjnych:

  1. Debian;
  2. Ubuntu;
  3. Fedora;
  4. RedHat;
  5. Gentoo;
  6. ArchLinux.

Aby zainstalować, wykonamy:

$ sudo apt install arp-scan

Skanowanie

Za pomocą programu będzie można znaleźć wszystkie aktywne komputery zarówno w przewodowych sieciach ethernet, jak i w bezprzewodowych sieciach Wifi. Połączenia PPP i SLIP nie są dostarczane, ponieważ nie ma w nich ARP. Z programem należy pracować na prawach superużytkownika.

Na początku sprawdzamy interfejs sieciowy za pomocą programu ip:

$ ip addr list

APR сканирование

Widzimy tutaj enp24s0. Najłatwiej zrobić to za pomocą ARP, skanując i wychodząc z każdego komputera podłączonego do sieci - uruchamiamy program ustawiając parametry:

$ sudo arp-scan --interface=enp24s0 --localnet

APR сканирование

Widzimy parametr --interface, określający interfejs skanowania, oraz --localnet, wskazujący na zastosowanie wszystkich możliwych adresów IP dla bieżącej sieci.

Jeśli pominiemy pierwszy parametr, program wyszuka wszystkie węzły dla interfejsu o niższym numerze w systemie. W naszym przypadku jest to enp24s0.

Zamiast parametru --localnet można podać maskę sieci:

$ sudo arp-scan --interface=enp24s0 10.0.1.0/24

ARP jest również odpowiedni, jeśli interfejs nie ma własnego adresu IP. W tym przypadku adres wychodzący to 0.0.0.0. Ale nie wszystkie systemy odpowiedzą na takie żądanie Dlatego w tej sytuacji skaner będzie nieskuteczny.

Dlaczego ARP nie działa

Istnieje kilka powodów, dla których ARP może nie działać poprawnie w sieci. Niektóre z najczęstszych problemów obejmują

  1. Konflikt adresów IP: Jeśli dwa urządzenia w sieci używają tego samego adresu IP, może to spowodować konflikt ARP.
  2. Nieprawidłowa konfiguracja sieci: Nieprawidłowe adresowanie IP, podsieci lub ustawienia bramy mogą powodować awarię ARP.
  3. Problemy ze sprzętem sieciowym: Wadliwe przełączniki, routery lub karty sieciowe mogą powodować nieprawidłowe działanie ARP.
  4. Ustawienia zabezpieczeń lub filtrowania na urządzeniach sieciowych mogą blokować pakiety ARP.
  5. Atakujący mogą stosować ataki takie jak ARP poisoning lub ARP flooding, które również mogą powodować problemy z ARP w sieci.

Aby zdiagnozować i rozwiązać problemy z ARP, zaleca się sprawdzenie ustawień sprzętu sieciowego, przeanalizowanie konfiguracji adresacji IP oraz użycie narzędzi do monitorowania i analizowania ruchu sieciowego.