--- tags: SK, w6 --- # Sieci komputerowe warsztaty 6 ## KONFIGURACJA POCZĄTKOWA ## TUTORIAL 1 1. Poleceniem *dig* sprawdź, jakie adresy IP są przypisane do domeny www.debian.org. Wybierz jeden z nich; będziemy go nazywać *adres IP*. * *130.89.148.77* 2. W jednej konsoli uruchom w polecenie * ```(while true; do netstat -tan | grep adres IP ; done) | tee tcp log``` Zaś w drugiej pobierz stronę główną www.debian.org za pomocą polecenia * ``` wget http://adres IP/ ``` Sprawdź, czy w pliku tcp log zostały zaobserwowane stany TCP gniazda SYN SENT, ESTABLISHED i niektóre ze stanów zamykania połączenia. 3. W Wiresharku obejrzyj pakiety IP i zawarte w nich segmenty TCP związane z wykonanym powyżej zapytaniem i odpowiedzią HTTP. :memo: * Jakie gniazda tworzone są do pobierania pliku przez HTTP? * Jaki jest port źródłowy a jaki docelowy połączenia? * Dla każdego przesyłanego segmentu TCP określ: * Jakie z flag SYN / ACK / FIN są włączone dla danego segmentu? * Które bajty (strumienia danych protokołu HTTP) są przesyłane w segmencie? * Które bajty strumienia danych są potwierdzane danym segmentem? * Na podstawie diagramu stanów TCP (https://en.wikipedia.org/wiki/File:Tcp_state_diagram.png), sprawdź jak zmienia się stan połączenia TCP (po stronie klienta i po stronie serwera) w momencie wysłania i odebrania danego segmentu.Które z tych stanów są widoczne w pliku tcp log? * Która strona wykonuje otwarcie aktywne, a która zamknięcie aktywne? ## TUTORIAL 2 1. Odpytując iteracyjnie kolejne serwery DNS poleceniem dig, dowiedz się jaki jest adres IP związany z nazwą www.cs.uni.wroc.pl. W tym celu zacznij od jednego z serwerów głównych, np. od 198.41.0.4. Pierwszym poleceniem będzie zatem: * ```dig www.cs.uni.wroc.pl @198.41.0.4``` Ten serwer powinien odpowiedzieć adresami serwerów DNS odpowiedzialnych za strefę pl. Wykonaj powyższe zapytanie, tym razem kierując je do jednego z serwerów odpowiedzialnych za strefę pl. Kolejne polecenia kieruj do serwerów DNS, które są odpowiedzialne za strefy *wroc.pl*, *uni.wroc.pl* i *cs.uni.wroc.pl*. * to co znalazłem (chyba) : ```156.17.93.253```. 3. Pozwól teraz wykonać całą pracę z poprzedniego akapitu programowi dig, wykonując polecenie ```dig +trace www.cs.uni.wroc.pl @198.41.0.4 ```. Porównaj wyjście programu z wynikami z poprzedniego punktu. Jakie serwery DNS są odpytywane w tym przypadku? Wykonaj jeszcze raz powyższe polecenie, obserwując przesyłane zapytania i odpowiedzi w Wiresharku. ``` uni.wroc.pl. 86400 IN NS skierka.adm.uni.wroc.pl. uni.wroc.pl. 86400 IN NS szermierz.uni.wroc.pl. uni.wroc.pl. 86400 IN NS hera.math.uni.wroc.pl. ;; Received 169 bytes from 156.17.8.1#53(ldhpux.immt.pwr.wroc.pl) in 16 ms www.cs.uni.wroc.pl. 86400 IN CNAME ghs.google.com. ;; Received 75 bytes from 156.17.93.253#53(szermierz.uni.wroc.pl) in 28 ms ``` 4. Jeśli nie podamy serwera DNS po znaku @, to zapytanie będzie wysyłane do domyślnego serwera (zdefiniowanego w pliku /etc/resolv.conf), który rozwiązuje dla nas nazwy domen w sposób rekurencyjny. Sprawdź teraz jaki jest adres IP, serwery nazw i serwer obsługujący pocztę dla domeny ii.uni.wroc.pl poleceniami: * dig -t a ii.uni.wroc.pl * ``` ;; ANSWER SECTION: ii.uni.wroc.pl. 1800 IN A 156.17.4.11 ``` * dig -t ns ii.uni.wroc.pl * ``` ;; ANSWER SECTION: ii.uni.wroc.pl. 1800 IN NS apollo.ii.uni.wroc.pl. ii.uni.wroc.pl. 1800 IN NS hermes.ii.uni.wroc.pl. ``` * dig -t mx ii.uni.wroc.pl * ``` ;; ANSWER SECTION: ii.uni.wroc.pl. 1800 IN MX 1 ASPMX.L.GOOGLE.COM. ii.uni.wroc.pl. 1800 IN MX 5 ALT1.ASPMX.L.GOOGLE.COM. ii.uni.wroc.pl. 1800 IN MX 5 ALT2.ASPMX.L.GOOGLE.COM. ii.uni.wroc.pl. 1800 IN MX 10 ASPMX3.GOOGLEMAIL.COM. ii.uni.wroc.pl. 1800 IN MX 10 ASPMX2.GOOGLEMAIL.COM. ``` 5. Poleceniem ```dig -t ptr 11.4.17.156.in-addr.arpa``` sprawdź, jaka jest nazwa domeny związana z adresem 156.17.4.11. * ``` ii.uni.wroc.pl.``` ## TUTORIAL 3 1. Uruchom program nc w trybie serwera UDP nasłuchującego na porcie 10053 poleceniem * nc -u -l -p 10053 W drugiej konsoli wykonaj polecenie: * dig -p 10053 www.wikipedia.pl @127.0.0.1 +tries=1 ## WYZWANIE 1. Uruchom usługę serwera WWW wyświetlającego prostą stronę służącą do dodawania wpisów uruchamiając polecenie: * *systemctl start hydepark* 2. Wejdź przeglądarką na stronę http://virbian:8080/ i wykorzystując rozszerzenie przeglądarki **HTTP Header Live** sprawdź, co dzieje się, kiedy dodajesz jakiś wpis. 5. Na stronie http://virbian:8080/ wpisz jakąś treść w polu „Dodaj jakiś komunikat” i kliknij przycisk „Wyślij”. Dlaczego przeglądarka wyświetla w pasku stanu komunikat Waiting for virbian, a odpowiedni wpis nie został dodany? :memo: * narazie nie wiem, pewnie z powodu zmiany ustawień sieciowych (zmiana proxy i portu). 6. Przerwij działanie programu nc. Co zapisał ten program do pliku http request? Wyłącz ustawienia serwera proxy w przeglądarce. ``` POST http://virbian:8080/add HTTP/1.1 Host: virbian:8080 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded Content-Length: 14 Origin: http://virbian:8080 Connection: keep-alive Referer: http://virbian:8080/ Upgrade-Insecure-Requests: 1 content=asfsaf ``` ## PYTANIA