Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Komenda arp

poniedziałek,

Komenda arp

Komenda arp w systemach operacyjnych typu Unix, w tym Linux i Unix, oraz Windows jest używana do wyświetlania i modyfikowania tabeli ARP (Address Resolution Protocol) w pamięci lokalnego komputera. W wersjach dla różnych systemów istnieją pewne drobne różnice, ale wynikają głównie głównie z odmiennych konwencji stosowanych w różnych systemach operacyjnych. ARP jest protokołem sieciowym używanym do mapowania adresów IP na adresy fizyczne (MAC) w sieciach lokalnych. Modyfikacje tabeli ARP za pomocą komendy arp są zazwyczaj tymczasowe i zostaną usunięte po restarcie systemu lub odnowieniu połączenia sieciowego. Ponadto, niewłaściwe użycie tej komendy może prowadzić do problemów w komunikacji sieciowej.

Przykłady użycia komendy arp

Prezentowane przykłady koncentrują się na systemach Linux/Unix, ale w większości przypadków będą zgodne także z Windows. Jedną z ważniejszych różnic jest aposób zapisu adresu MAC – w Windows przyjęto konwencję 00-aa-00-62-c6-09, w Linux/Unix 00:AA:00:62:C6:09.

Nektóre systemy mogą wymagać uprawnień administratora do dodawania lub usuwania wpisów z tabeli ARP. Użycie komendy arp może być szczególnie przydatne w diagnozowaniu i rozwiązywaniu problemów sieciowych, takich jak konflikty adresów IP czy kwestie związane z mapowaniem IP na adresy MAC.

Wyświetlenie pomocy dla komendy arp

W Linux/Unix komenda arp --help lub man arp wyświetla pomoc dotyczącą komendy arp, pokazując różne opcje i ich użycie.

arp --help

W systemie Windows pomoc uzyskasz w ten sposób:

arp /?

Wyświetlenie tabeli ARP

Ta komenda wyświetla wszystkie wpisy w tabeli ARP. Pokazuje ona adresy IP i odpowiadające im adresy MAC, a także typ interfejsu, do którego są przypisane"

arp -a

Dodanie statycznego wpisu do tabeli ARP

arp -s 192.168.1.5 00:1A:2B:3C:4D:5E

Komenda umożliwia dodanie statycznego wpisu do tabeli ARP. Jest to przydatne, gdy chcesz, aby twój system zawsze przypisywał określony adres MAC do określonego adresu IP.

Usunięcie wpisu z tabeli ARP

arp -d 192.168.1.5

Ta komenda pozwala usunąć wpis z tabeli ARP. Jest to przydatne w przypadku rozwiązywania problemów sieciowych lub gdy chcesz, aby twój system na nowo odkrył adres MAC dla danego adresu IP.

Wyświetlenie wpisu dla konkretnego adresu IP

arp -a 192.168.1.5     

Ta komenda pozwala zobaczyć wpis ARP dla konkretnego adresu IP.

Usuwanie wszystkich wpisów

W systemach Unix/Linux, aby usunąć wszystkie wpisy z tabeli ARP, musisz to zrobić dla każdego wpisu indywidualnie. W Windows istnieje wygodniejsza opcja:

arp -d *

W systemach Linux/Unix alternatywnym rozwiązaniem może być napisanie prostego skryptu, który automatyzuje ten proces. Przykładowy skrypt bash do usunięcia wszystkich wpisów z tabeli ARP:

#!/bin/bash

# Pobierz listę adresów IP z tabeli ARP
ip_list=$(arp -a | awk '{print $2}' | tr -d '()')

# Usuń każdy wpis ARP
for ip in $ip_list; do
    sudo arp -d $ip
done

echo "Wszystkie wpisy ARP zostały usunięte."

Aby użyć tego skryptu:

  1. Skopiuj powyższy skrypt do pliku, na przykład clear_arp.sh.
  2. Nadaj plikowi uprawnienia do wykonania za pomocą komendy chmod +x clear_arp.sh.
  3. Uruchom skrypt jako superużytkownik (root), ponieważ zmiana tabeli ARP wymaga uprawnień administratora.

Pamiętaj, że modyfikowanie tabeli ARP może wpływać na działanie sieci, więc wykonuj te operacje ostrożnie.

Wyjście komendy arp -a

W przypadku braku aktywnego połączenia sieciowego zachowanie komendy arp będzie zależeć od systemu operacyjnego, jednak należy oczekiwać jednago z dwóch wyników, możesz otrzymać komunikat informujący o braku wpisów lub nie zobaczyć żadnych wyników. Warto zauważyć, że wyjście komendy arp może się różnić w zależności od konfiguracji sieci, liczby podłączonych urządzeń oraz specyfiki systemu operacyjnego.

Przykładowe wyjście komendy arp -a w Linux/Unix

arp -a
? (192.168.1.1) at 00:1C:B3:09:85:15 [ether] on wlan0
? (192.168.1.2) at 00:0C:29:36:BC:8E [ether] on wlan0
? (192.168.1.3) at 18:65:90:c6:ca:8e [ether] on wlan0

192.168.1.1, 192.168.1.2, 192.168.1.3 to adresy IP urządzeń w sieci lokalnej. Adresy takie jak 00:1C:B3:09:85:15 są adresami MAC tych urządzeń. [ether] wskazuje na typ połączenia (Ethernet), a wlan0 jest nazwą interfejsu sieciowego.

Przykładowe wyjście komendy arp -a w Windows

Interface: 192.168.1.4 --- 0x3
  Internet Address      Physical Address      Type
  192.168.1.1           00-1c-b3-09-85-15     dynamic
  192.168.1.2           00-0c-29-36-bc-8e     dynamic
  192.168.1.255         ff-ff-ff-ff-ff-ff     static

Podobnie jak w Unix/Linux, widzimy tutaj adresy IP (192.168.1.1, 192.168.1.2, 192.168.1.255) i odpowiadające im adresy MAC (00-1c-b3-09-85-15, 00-0c-29-36-bc-8e, ff-ff-ff-ff-ff-ff). Type wskazuje, czy wpis jest dynamiczny (automatycznie dodany przez ARP) czy statyczny (dodany ręcznie). Adres 192.168.1.255 z adresem MAC ff-ff-ff-ff-ff-ff jest adresem rozgłoszeniowym.

Inne opcje wyjścia komendy arp -a

Wyjście komendy arp -a może zawierać jeszcze inne terminy, takie jak nnp. ifscope, permanent, czy incomplete, odnoszą się one do specyficznych stanów lub typów wpisów w tablicy ARP.

  • ifscope – odnosi się do zakresu interfejsu, co oznacza, że dany wpis ARP jest związany z konkretnym interfejsem sieciowym. W systemach, które obsługują wiele interfejsów sieciowych, taki wpis ARP jest stosowany tylko w kontekście określonego interfejsu, a nie globalnie dla całego systemu.
  • permanent – wpis oznaczony jako permanent w tablicy ARP to statyczny wpis, który został ręcznie dodany do tablicy ARP i nie wygasa. W przeciwieństwie do wpisów dynamicznych, które są automatycznie tworzone i usuwane przez system, wpisy permanentne pozostają w tablicy ARP do momentu ich ręcznego usunięcia lub restartu systemu.
  • incomplete – stan incomplete oznacza, że system próbował rozwiązać adres IP na adres MAC, ale proces ten nie został jeszcze ukończony. Może to być spowodowane tym, że urządzenie o danym adresie IP nie odpowiedziało na zapytanie ARP lub nie jest obecnie dostępne w sieci. Wpis w stanie incomplete może wskazywać na problem z łącznością lub tymczasowe opóźnienie w odpowiedzi sieciowej.

Przykładowe wyjście arp -a uwzględniające te terminy mogłoby wyglądać następująco:

? (192.168.1.2) at <incomplete> on en0 ifscope [ethernet]
? (192.168.1.3) at 00:1c:b3:09:85:15 on en0 ifscope [ethernet]
? (192.168.1.4) at 00:0c:29:36:bc:8e permanent on en0 ifscope [ethernet]

W tym przykładzie, pierwszy wpis dla 192.168.1.2 jest w stanie incomplete, drugi wpis dla 192.168.1.3 jest normalnym, dynamicznym wpisem ARP, a trzeci wpis dla 192.168.1.4 jest wpisem statycznym (permanent) powiązanym z interfejsem en0.

Artykuł: Olimpiada Zdrowia PCK

Olimpiada Zdrowia PCK

Artykuł: Zostań dawcą szpiku!

Zostań dawcą szpiku!

Artykuł: Przeglądarka Vivaldi

Przeglądarka Vivaldi

Artykuł: Lenovo

Lenovo

Artykuł: Światowy Dzień Oszczędzania

Światowy Dzień Oszczędzania

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły