Narzędzia diagnostyczne w sieciach komputerowych

  1. Konfiguracja warstwy ETH - ARP

  2. Komputery komunikujące się w sieciach lokalnych potrzebują metody odzworowania numeru IP na adres fizyczny urządzdenia w sieci lokalnej. Do tego celu wykorzystywany jest protokół ARP - Address Resolution Protocol, który definiuje sposób wymiany informacji o odzorowaniach numeru IP na MAC pomiędzy komputerami w sieci lokalnej. System operacyjny posiada mechanizm zapamiętywania w pamięci podręcznej informacji o tych odwzorowaniach, po to by przy wysyłaniu pakietów za każdym razem nie odpytywać o odzoworowanie. Poniżej opisujemy polecenia pozwalające na zarządzanie tablicą odwzorowań ARP.

    Polecenie ARP
    Pomoc kontektstowa dla polecenia arp:
    DSIK:~# arp -h
    arp [-vn]  [] [-i ] [-a] []             <-Display ARP cache
    arp [-v]          [-i ] -d   [pub]               <-Delete ARP entry
    arp [-vnD] [] [-i ] -f  []            <-Add entry from file
    arp [-v]   [] [-i ] -s    [temp]            <-Add entry
    arp [-v]   [] [-i ] -Ds   [netmask ] pub          <-''-         
    -a                       display (all) hosts in alternative (BSD) style
    -s, --set                set a new ARP entry
    -d, --delete             delete a specified entry
    -v, --verbose            be verbose
    -n, --numeric            don't resolve names
    -i, --device             specify network interface (e.g. eth0)
    -D, --use-device         read  from given device
    -A, -p, --protocol       specify protocol family
    -f, --file               read new entries from file or from /etc/ethers
    
    Przykłady:
    Wyświetlanie tablicy ARP:
    test:~# arp -a
    gw-v5.core.wmi.amu.edu.pl (150.254.78.65) at 00:07:4f:f6:84:fc [ether] on eth0
    
    Dodawanie wpisu do tablicy ARP:
    test:~# arp -s 150.254.78.70 12:34:56:78:90:AB
    
    Wyświetlanie wpisów w tablicy ARP:
    test:~# arp -a
    gw-v5.core.wmi.amu.edu.pl (150.254.78.65) at 00:07:4f:f6:84:fc [ether] on eth0
    test.wmi.amu.edu.pl (150.254.78.70) at 12:34:56:78:90:ab [ether] PERM on eth0
    
    Usuwanie wpisu z tablicy ARP:
    test:~# arp -a
    gw-v5.core.wmi.amu.edu.pl (150.254.78.65) at 00:07:4f:f6:84:fc [ether] on eth0
    test.wmi.amu.edu.pl (150.254.78.70) at 12:34:56:78:90:ab [ether] PERM on eth0
    test2.wmi.amu.edu.pl (150.254.78.71) at 12:34:56:78:90:cd [ether] PERM on eth0
    test:~# arp -d 150.254.78.71
    test:~# arp -a
    gw-v5.core.wmi.amu.edu.pl (150.254.78.65) at 00:07:4f:f6:84:fc [ether] on eth0
    test.wmi.amu.edu.pl (150.254.78.70) at 12:34:56:78:90:ab [ether] PERM on eth0
    test2.wmi.amu.edu.pl (150.254.78.71) at  on eth0
    

    Polecenie IP NEIGHBOUR
    Polecenie "ip neighbour" to jedno z rodziny poleceń "ip" służące podobnie jak arp do zarządzania tablicą w jądrze zawierającą odzworowania numerów IPv4 sąsiadów na adresy MAC. Polecenie można wykorzystywać podając również skrótową wersję "ip n", "ip neigh", "ip neighbor"

    Wyświetlanie tablicy ARP - opcja "show" (lub "s"):
    test:~# ip neigh show
    150.254.78.65 dev eth0 lladdr 00:07:4f:f6:84:fc REACHABLE
    150.254.78.70 dev eth0 lladdr 12:34:56:78:90:ab PERMANENT
    test:~# ip n s
    150.254.78.65 dev eth0 lladdr 00:07:4f:f6:84:fc REACHABLE
    150.254.78.70 dev eth0 lladdr 12:34:56:78:90:ab PERMANENT
    

    Dodawanie wpisów ARP - opcja "add" (lub "a"):
    ip neigh add IPADDRESS lladdr MACADDRESS dev IFNAME nud PERM
    (nud - stan wpisów w tablicy sąsiadów. Skrót nud pochodzi od angielskich słów 
    "Neighbour Unreachability Detection".)
    PERM:
      none 	    - stan jest pusty.
      incomplete - w trakcie sprawdzania (występuje po wysłaniu zapytania  ARP).
      stale     - wpis jest ważny, ale prawdopodobnie nieosiągalny - jądro sprawdzi go przy 
                  pierwszej próbie trnamisji.
      delay     - zapytanie zostało wysłane do wpisu z wcześniejszym wpisem stale - jądro 
    	      czeka na odpowiedź.
      probe     - stan delay trwał ponad dozwolony czas, bez odpowiedzi. Jądro wysłało ARP/NDISC.
      failed    - odzorowanie się nie udało.
      noarp     - sąsiad jest poprawny, system nie będzie podejmował próby sprawdzenia.
      permanent - wpis podobny jak noarp, jednakże tylko administrator może ten wpis usunąć.
      reachable - wpis jest poprawny do czasu aż wygaśnie czas poprawnej osiągalności.
    
    Przykład dodania wpisu:
    test:~# ip neigh add 150.254.78.77 lladdr 12:34:56:78:90:de dev eth0 nud perm
    test:~# ip n s
    150.254.78.65 dev eth0 lladdr 00:07:4f:f6:84:fc REACHABLE
    150.254.78.77 dev eth0 lladdr 12:34:56:78:90:de PERMANENT
    

    Modyfikacja wpisu - opcja "ip n change" (lub "chg"):
    ip neigh chg 10.0.0.3 dev eth0 nud reachable
    

    Podmiana wpisu - opcja "ip n replace" (lub "repl"):
    ip n repl 
    

    Wyczyszczenie wpisów :
    ip n flush
    

    Usuwanie wpisów:
    ip n del 192.168.0.1
    

    Statystyki wpisów:
    test:~# ip -s n
    150.254.78.65 dev eth0 lladdr 00:07:4f:f6:84:fc ref 4 used 18/0/18 REACHABLE
    
    Informacja 18/0/18 oznacza, że odpowiednio 12 sekund temu wpis był ostatni raz użyty, 0 sekund temu wpis był ostatni raz potwierdzony, 18 sekund temu wpis był ostatni raz aktualizowany.

    Podsłuch zapytań arp:
    amppz:~# tcpdump -vv -i eth0 arp
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
    21:55:34.688205 arp who-has masterm.wmi.amu.edu.pl tell gw-v5.core.wmi.amu.edu.pl
    21:55:37.683962 arp who-has masterm.wmi.amu.edu.pl tell gw-v5.core.wmi.amu.edu.pl
    21:55:41.912520 arp who-has masterm.wmi.amu.edu.pl tell gw-v5.core.wmi.amu.edu.pl
    
    amppz:~# tcpdump -XX -vv -i eth0 arp
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
    21:57:40.709557 arp who-has masterm.wmi.amu.edu.pl tell gw-v5.core.wmi.amu.edu.pl
    0x0000:  ffff ffff ffff 0007 4ff6 84fc 0806 0001  ........O.......
    0x0010:  0800 0604 0001 0007 4ff6 84fc 96fe 4e41  ........O.....NA
    0x0020:  0000 0000 0000 96fe 4e5d 0000 0000 0000  ........N]......
    0x0030:  0000 0000 0000 0000 0000 0000            ............
    21:57:43.707197 arp who-has masterm.wmi.amu.edu.pl tell gw-v5.core.wmi.amu.edu.pl
    0x0000:  ffff ffff ffff 0007 4ff6 84fc 0806 0001  ........O.......
    0x0010:  0800 0604 0001 0007 4ff6 84fc 96fe 4e41  ........O.....NA
    0x0020:  0000 0000 0000 96fe 4e5d 0000 0000 0000  ........N]......
    0x0030:  0000 0000 0000 0000 0000 0000            ............
    ^C
    2 packets captured
    2 packets received by filter