1. [2p.] Napisz skrypt, który sprawdzi konfigurację interfejsów komputera (poleceniem ifconfig), i dla każdego skonfigurowanego interfejsu wyświetli jednowierszowy komunikat typu:
    eth0 ip 172.16.0.9 broadcast 172.16.255.255 maska 255.255.0.0
    eth1 ip6 fe80::224:e8ff:fef6:a0c/64
    
    Wklej opracowany skrypt do raportu z wykonania ćwiczenia.

    Premia: za dodatkowe sprawdzenie czy poszczególne raportowane konfiguracje są statyczne czy dynamiczne (dhcp). Sprawdzenie może polegać na odczytaniu odpowiednich plików konfiguracyjnych komputera,

  2. [1p. - opcjonalne, tylko na komputerze z interfejsem DHCP] Na komputerze z dynamiczną konfiguracją interfejsu sieciowego (DHCP) sprawdź czas wypożyczenia konfiguracji (lease time). Sprawdź również jakie parametry zostały podane w konfiguracji DHCP (adres IP, maska, itp.). Podaj zastosowane polecenia i wynik w raporcie.

  3. [1p.] (To ćwiczenie ma sens jedynie w jakiejś sieci lokalnej, gdzie istnieją inne urządzenia i jakiś ruch sieciowy między nimi. Jednocześnie, należy wykonać ten punkt przed bardziej intensywnym testowaniem sieci lokalnej. Alternatywnie, zrestartuj swój komputer w celu wykonania tego punktu.)
    Za pomocą narzędzia arp sprawdź aktualną tablicę translacji ARP komputera. Zapamiętaj jej zawartość. Następnie wykonaj przegląd sieci lokalnej wykorzystując opcję -b (broadcast) programu ping, albo uruchom ping dla wielu adresów sieci lokalnej. Ponownie sprawdź zawartość tablicy arp. Podsumuj zauważone zmiany w raporcie.

  4. [1p.] Eksperymentując za pomocą programu ping z adresami serwerów/sieci z których korzystasz, znajdź zdalny serwer, który odpowiada na pingi, i taki który na pingi nie odpowiada. Do raportu z wykonania zadania wklej dwa wywołania ping potwierdzające wynik ćwiczenia (muszą one być skończone, to znaczy wysłać małą liczbę pingów).

  5. [2p.] Napisz skrypt, który sprawdzi czy komputer posiada domyślną ścieżkę sieciową, i jeśli tak, to wyśle pięć pingów do routera (bramy) obsługującego tę ścieżkę. Sprawdź czy program ping poprawnie ustawia status, i jeśli tak, to zamiast pozwolić pingowi wyświetlać swój output na ekranie, wyświetl krótki komunikat w stylu: „Default gateway UP.” lub „Default gateway DOWN.” (Pomijamy tu kwestię, czy sprawdzony router rzeczywiście przekazuje nasze pakiety sieciowe.) Wklej opracowany skrypt do raportu.

    Uwaga: komputer może mieć zdefiniowaną więcej niż jedną ścieżkę domyślną. Może to być poprawna konfiguracja redundantna, ale może również być błąd (np. pozostałość wcześniejszej konfiguracji). Wtedy należy uznać, że ścieżka domyślna jest czynna jeśli za co najmniej jedną stoi czynny router.

  6. [1p. - opcjonalne, tylko gdy dostępne jest traceroute] Dla zdalnych serwerów badanych wcześniej programem ping sprawdź ścieżkę sieciową prowadzącą do nich programem traceroute. Jeśli program nie znajduje pełnej informacji o ścieżce metodą domyślną (UDP), możesz spróbować pozostałymi metodami (ICMP i TCP). Na wielu Linuksach użycie tych metod jest zablokowane dla nieuprzywilejowanego użytkownika, więc możesz ich spróbować przez sudo lub su na własnym komputerze albo na zainstalowanej wcześniej maszynie wirtualnej. Podsumuj krótko otrzymane wyniki w raporcie, oraz podaj zastosowane wywołania traceroute.

  7. [1p. - opcjonalne, tylko gdy dostępne jest mtr] Eksperymentując z programem mtr poszukaj jakiegoś serwera internetowego, dla którego można zauważyć dynamicznie zmieniającą się ścieżkę sieciową. Podaj w raporcie.

  8. [1p. - opcjonalne, tylko gdy dostępne jest traceroute] Znajdź w internecie jakiś serwer traceroute (badający ścieżkę do zadanego adresu). Sprawdź ścieżkę do swojego komputera, a następnie ścieżkę od siebie do użytego serwera, i porównaj. Wynik opisz w raporcie. Jeśli ścieżki się różniły, spróbuj wyjaśnić dlaczego.

  9. [1p.] Za pomocą programu dig sprawdź informację DNS o wybranym (wskazanym przez prowadzącego) serwerze internetowym. Przeanalizuj informacje zawarte w poszczególnych sekcjach odpowiedzi. Zidentyfikuj rekordy typu A (adres IP) i NS (nameserver). Sprawdź ich termin ważności (TTL). Podsumuj w raporcie.

  10. [1p.] Za pomocą programu dig sprawdź rekord MX (mail exchanger) serwera pocztowego jakiego używasz do odbierania poczty (czyli część sieciową Twojego adresu email). Jeśli istnieje kilka rekordów MX dla tego adresu, sprawdź ich priorytety. Następnie sprawdź możliwość wysłania do siebie maila bezpośrednio do serwerów wykazanych w rekordach MX (uwaga: rekord MX komputera może wskazywać do samego siebie). Otrzymane wyniki podsumuj w raporcie.

  11. [2p.] Za pomocą programu dig spróbuj uzyskać translację adresu od określonego serwera DNS (opcja @server) NIE OBSŁUGUJĄCEGO domeny adresu o który pytasz. Pierwsze zapytanie koniecznie wyślij nierekurencyjne (+norecurse). Znajdź serwer, który zamiast poprawnego rekordu A przyśle odsyłacz (brak rekordów A w sekcji ANSWER, rekordy NS w sekcji AUTHORITY). Wyślij do tego serwera drugie zapytanie rekurencyjne uzyskując odpowiedź (rekord A). Uwaga: niektóre serwery DNS uważają się za do tego stopnia ważne, że nie chcą wykonać rekursji. Porównaj np. szermierz.uni.wroc.pl, dns.pwr.wroc.pl, i dns.tpsa.pl.

    Po znalezieniu serwera DNS, który pierwotnie nie zna odpowiedzi, ale uzyskuje ją rekurencyjnie, wyślij mu powtórne zapytanie nierekurencyjne o ten sam adres. Na podstawie otrzymanej odpowiedzi określ, czy ów serwer zapamiętuje znalezione przez siebie translacje adresów w swojej pamięci cache. Spróbuj znaleźć taki serwer DNS który zapamiętuje i taki, który nie zapamiętuje. Podaj w raporcie zastosowane zapytania i podsumuj wyniki.