Instytut Teleinformatyki



Podobne dokumenty
Instytut Teleinformatyki

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Instrukcja 6 - ARP i DNS - translacja adresów

Domain Name System. Kraków, 30 Marca 2012 r. mgr Piotr Rytko Wydział Matematyki i Informatyki UJ

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

onfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

KONFIGURACJA SIECIOWA SYSTEMU WINDOWS

Plan wykładu. Domain Name System. Definicja DNS. Po co nazwy? Przestrzeń nazw domen Strefy i ich obsługa Zapytania Właściwości.

Plan wykładu. Domain Name System. Hierarchiczna budowa nazw. Definicja DNS. Obszary i ich obsługa Zapytania Właściwości.

Sieci komputerowe i bazy danych

Jarosław Kuchta. Instrukcja do laboratorium. Administrowanie Systemami Komputerowymi. Usługi DNS i DHCP

ZASADY ADRESOWANIA IP cz. II

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

SIECI KOMPUTEROWE - BIOTECHNOLOGIA

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2011/2012. Programowanie usług sieciowych

SPRAWOZDANIE SIECI KOMPUTEROWE I BAZY DANYCH LABORATORIUM NR2 BADANIE SIECI KAMIL BOGDANOWSKI

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

Sieciowe systemy operacyjne

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Narzędzia do diagnozowania sieci w systemie Windows

Instytut Teleinformatyki

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Przekierowanie portów w routerze TP-LINK na przykładzie kamery Kenik. Po co wykonujemy przekierowanie portów? Spójrzmy na rysunek poniżej:

Przekierowanie portów w routerze TP-LINK na przykładzie kamery Kenik. Po co wykonujemy przekierowanie portów? Spójrzmy na rysunek

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Zadanie1: Wykorzystując serwis internetowy Wikipedia odszukaj informacje na temat serwera DNS.

Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

System operacyjny Linux

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Ping. ipconfig. getmac

T: Konfiguracja interfejsu sieciowego. Odwzorowanie nazwy na adres.

ODWZOROWYWANIE NAZW NA ADRESY:

Windows Serwer 2008 R2. Moduł 3. DNS v.2

Krótka instrukcja instalacji

KARTA KURSU. Administracja serwerami WWW

3. Identyfikacja. SKŁADNIA #include <sys/socket.h> int getpeername(int socket, struct sockaddr *addr, int *addrlen);

Laboratorium nr 4 - Badanie protokołów WWW

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

Podstawy działania sieci komputerowych

Laboratorium podstaw telekomunikacji

Sieci komputerowe. Zajęcia 5 Domain Name System (DNS)

Sieci komputerowe i bazy danych

Ćwiczenie 5b Sieć komputerowa z wykorzystaniem rutera.

pasja-informatyki.pl

Do użytku z aplikacjami z funkcją skanowania / czytania kodów QR

T: Zabezpieczenie dostępu do komputera.

Adres IP

Serwer nazw DNS. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Technologie sieciowe

Instalacja i konfiguracja serwera IIS z FTP

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Internetowy serwis Era mail Aplikacja sieci Web

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Przykłady wykorzystania polecenia netsh

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Laboratoria zdalne ZTiT

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 18. ZASADY ADRESOWANIA IP cz. I. Opracował Sławomir Zieliński

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Programowanie współbieżne i rozproszone

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

pasja-informatyki.pl

Obsługa poczty elektronicznej w domenie emeritus.ue.poznan.pl

Za dużo wpisów! Serwer nazw DNS. Marcin Bieńkowski

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

DKonfigurowanie serwera DNS

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Tematyka i rozwiązania metodyczne kolejnych zajęć lekcyjnych wraz z ćwiczeniami.

Programowanie i techniki algorytmiczne

Rok szkolny 2014/15 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. SIECI KOMPUTEROWE kl. 2c

Laboratorium Sieci Komputerowych - 2

Ćw. I. Środowisko sieciowe, połączenie internetowe, opcje internetowe

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Ćwiczenie 5a Sieć komputerowa z wykorzystaniem rutera.

Ćwiczenie nr: 5 Temat: DNS

Sieciowy system nazw domen

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

Stacja graficzna szkoleniowa typ A1, A2, B - Procedura odbioru sprzętu

Aktualizacja firmware w urządzeniu za pośrednictwem FTP

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Konfiguracja SO UNIX do komunikacji opartej o DNS (ang. Domain Name System).

Jarosław Kuchta Administrowanie Systemami Komputerowymi DNS, WINS, DHCP

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

Czym jest router?... 3 Vyatta darmowy router... 3 Vyatta podstawowe polecenia i obsługa... 3 Zarządzanie użytkownikami... 3 Uzupełnianie komend...

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DNS.

Przekierowanie portów w routerze - podstawy

Tomasz Greszata - Koszalin

Zadania z sieci Rozwiązanie

System kontroli dostępu ACCO NET Instrukcja instalacji

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Sieci komputerowe. Domain Name System. WIMiIP, AGH w Krakowie. dr inż. Andrzej Opaliński.

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

Urządzenie InelNET-01 służy do sterowania radiowym systemem SSN-04R firmy INEL poprzez internet.

Co w sieci piszczy? Programowanie aplikacji sieciowych w C#

Przegląd zagrożeń związanych z DNS. Tomasz Bukowski, Paweł Krześniak CERT Polska

Serwer i klient DHCP w systemie Linux

Transkrypt:

Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych Usługa DNS laboratorium: 03 Kraków, 2014

03. Programowanie Usług Sieciowych Usługa DNS 2 Spis treści Spis treści... 2 1. Wiadomości wstępne... 3 1.1. Tematyka laboratorium... 3 1.2. Zagadnienia do przygotowania... 4 1.3. Cel laboratorium... 4 2. Przebieg laboratorium... 6 2.1. Przygotowanie laboratorium... 6 2.2. Zadanie 1. Pierwszy program klienta DNS... 6 2.3. Zadanie 2. Uzyskanie nazwy hosta z adresu IP.... 7 2.4. Zadanie 3. Uzyskanie adresu IPv6 hosta.... 7 2.5. Zadanie 4. Polecenie traceroute... 7 2.6. Zadanie 5. Program wezdate... 7 2.7. Zadanie 6. Typy rekordów bazy DNS... 8 3. Opracowanie i sprawozdanie... 9

03. Programowanie Usług Sieciowych Usługa DNS 3 1. Wiadomości wstępne Pierwsza część niniejszej instrukcji zawiera podstawowe wiadomości teoretyczne dotyczące systemu nazw domenowych, czyli DNS (ang. Domain Name System).Poznanie tych wiadomości umożliwi prawidłowe zrealizowanie praktycznej części laboratorium. 1.1. Tematyka laboratorium Tematyką laboratorium jest programowanie aplikacji wykorzystujących system DNS. Jest to system serwerów oraz protokół komunikacyjny zapewniający zamianę adresów znanych użytkownikom Internetu na adresy zrozumiałe dla sieci komputerowej. Dzięki wykorzystaniu DNS nazwa mnemoniczna, np. www.pk.edu.pl może zostać zamieniona na odpowiadający jej adres IP, czyli 149.156.132.156. Podstawą technicznego systemu DNS jest ogólnoświatowa sieć serwerów. Przechowują one informację na temat adresów domen. Każdy wpis zawiera nazwę oraz odpowiadający jej adres IP. Wpisy udostępniane są automatycznie, co pozwala na pracę Internetu. DNS to również protokół komunikacyjny. Opisuje on sposób łączenia się klientów z serwerami DNS. Częścią specyfikacji protokołu jest również zestaw zaleceń, jak aktualizować wpisy w bazach domen internetowych..(root).pl.com.org.com.pl.edu.pl.krakow.pl.pk Rys. 1. Przykład hierarchii DNS

03. Programowanie Usług Sieciowych Usługa DNS 4 1.2. Zagadnienia do przygotowania Przed przystąpieniem do realizacji laboratorium należy zapoznać się z zagadnieniami dotyczącymi serwerów DNS: o Struktura i działanie systemu DNS; [ Krysiak, Rozdział 7.1 ] o Typy rekordów (ang. resource records RR) zasobów DNS: [ RFC 1034 ] o A tłumaczy nazwę hosta na jego adres IPv4; o AAAA jak A tylko dla adresów IPv6; o NS wskazuje serwer dla danej strefy; o MX wskazuje domyślny serwer poczty dla danej domeny; o CNAME opisuje alias dla wcześniej zdefiniowanej nazwy hosta; o PTR tłumaczy adres IP hosta na jego nazwę; o HINFO zawiera opis sprzętu i systemu operacyjnego serwera; o SOA potwierdza, że serwer jest wiarygodny dla danej strefy; o Funkcje biblioteki DNS: [ Stevens ] o gethostbyname() - pobieranie adresu IP z nazwy hosta; o gethostbyaddr() pobieranie nazwy hosta z adresu IP; o gethostname() pobieranie nazwy hosta; o uname() pobieranie informacji o systemie; o gethostbyname2() jak gethostbyname() ale obsługuje IPv6; o gethostent() czyta następna linię z /etc/hosts. Literatura: [1] W.R. Stevens, Programowanie Usług Sieciowych, API: gniazda i XTI. [2] K. Krysiak, Sieci komputerowe kompendium. [3] DNS related RFCs (http://www.dns.net/dnsrd/rfc/). [4] RFC 1035, Domain Names--Implementation and Specification. [5] RFC 1034, Domain Names--Concepts and Facilities. 1.3. Cel laboratorium Celem laboratorium jest poznanie działania systemu DNS i nauczenie pisania prostych programów wykorzystujących ten system. Podczas realizacji tego laboratorium zapoznasz się z: o Architekturą rozproszonej bazy danych DNS; o Mechanizmem działania klienta DNS; o Funkcjami klienta DNS; o Oraz opanujesz umiejętności programowania przy użyciu funkcji oraz struktur klienta DNS.

03. Programowanie Usług Sieciowych Usługa DNS 5

03. Programowanie Usług Sieciowych Usługa DNS 6 2. Przebieg laboratorium Druga część instrukcji zawiera zadania do praktycznej realizacji, które demonstrują zastosowanie technik z omawianego zagadnienia. 2.1. Przygotowanie laboratorium Przed przystąpieniem do dalszej części laboratorium należy skopiować cała zawartość katalog home/shared/pus/pus_03_dns np. do katalogu ~/pus/pus_03_dns. 2.2. Zadanie 1. Pierwszy program klienta DNS Zadanie ma na celu pomóc zrozumieć zasadę działania funkcji gethostbyname() oraz zaprezentować strukturę hostent. 1. Najpierw należy przeanalizować i skompilować program cw1_dns.c: $ cc cw1_dns.c o cw1_dns 2. Następnie uruchamiamy skompilowany program $./cw1_dns <nazwa_hosta> np: $./cw1_dns www.o2.pl 3. Wynikiem działania tego programu jest wypisanie na ekran oficjalnej nazwy i adresu IP zadanego przez nas hosta 4. Następnie za pomocą polecenia host <nazwa_hosta> sprawdzamy jaki jest adres IP dla wcześniej sprawdzanej nazwy hosta i porównujemy go z adresem IP, który został zwrócony przez nasz program: $ host www.o2.pl 5. Teraz można posprawdzać adresy IP dla innych nazw oraz zobaczyć jakie komunikaty są wyświetlane przy błędnych nazwach hostów 6. Pytanie sprawdzające: Wywołaj nasz program następująco: $./cw1_dns www Następnie zaloguj się na marsa i uruchom program w ten sam sposób, porównaj otrzymane wyniki i spróbuj wyjaśnić dlaczego otrzymamy różne rezultaty skoro w obu przypadkach korzystamy z tych samych serwerów DNS.

03. Programowanie Usług Sieciowych Usługa DNS 7 2.3. Zadanie 2. Uzyskanie nazwy hosta z adresu IP. Zadanie polega na zmodyfikowaniu gotowego programu cw1_dns.c. Zasada działania programu polega na pobraniu jako argumentu wywołania adresu kropkowodziesiętnego hosta i wyświetleniu na ekran: o Nazwy kanonicznej hosta, o Adresu IP hosta. Przykładowo uruchamiając program z parametrem 212.77.100.101 otrzymamy: Nazwa kanoniczna hosta: www.wp.pl Adres IP: 212.77.100.101 Należy zastosować funkcje gethostbyaddr. 2.4. Zadanie 3. Uzyskanie adresu IPv6 hosta. Zadanie polega na napisaniu programu, który po podaniu nazwy kanonicznej jako parametru wywołania wypisze na ekran adres IPv6 hosta. Po przykładowym wywołaniu programu: $./cw3_dns www.ipv6.cbr.tpsa.pl/ Na ekranie powinniśmy otrzymać: hostname: www.ipv6.cbr.tpsa.pl IPv6 address: 3ffe:4019:0:dead:20c:76ff:fe7c:3b12 2.5. Zadanie 4. Polecenie traceroute Poleceniem traceroute przetestuj łączność z odległym zewnętrznym serwerem. Jako host podaj adres domenowy np. popularnego portalu internetowego. Sprawdź czy serwer DNS prawidłowo poda numer IP serwera, oraz prześledź drogę pakietu przez serwery pośrednie. 2.6. Zadanie 5. Program wezdate Kolejnym zadaniem będzie modyfikacja programu wezdate.c. Program ten łączy się z serwerem o podanym adresie ip w celu skorzystania z usługi daytime, o ile takowa jest dostępna. Należy zapoznać się z kodem źródłowym programu a następnie sprawdzić jego działanie: kompilacja: gcc wezdatec -o wezdate

03. Programowanie Usług Sieciowych Usługa DNS 8 uruchomienie:./wezdate <ip serwera> W celu skorzystania z usługi daytime można połączyć się przykładowo z serwerem time.nist.gov. Aby tego dokonać sprawdź jakie ip ma ten serwer używając polecenia nslookup, następnie uruchom program wezdate z odpowiednim parametrem. Modyfikacja będzie polegała na usprawnieniu działania programu poprzez wprowadzenie możliwości podawania w parametrze nazwy serwera zamiast numeru ip. Aby odnaleźć adres hosta używamy funkcji: hostinfo = gethostbyname(host); Aby sprawdzić czy serwis jest dostępny wpisujemy: servinfo = getservbyname("daytime", "tcp"); Przy okazji uzyskujemy dodatkowe dane takie jak numer portu na którym usługa pracuje. Powyższe informacje należy przekazać do struktury adresowej gniazda: address.sin_port = servinfo -> s_port; address.sin_addr = *(struct in_addr *)*hostinfo -> h_addr_list; Po wprowadzeniu powyższych zmian, ponownie skompiluj program i uruchom go, tym razem jako parametr podając nazwę time.nist.gov. 2.7. Zadanie 6. Typy rekordów bazy DNS Użyj wybranego przez siebie sniffera (np.: tcpdump lub etheral) do prześledzenia sposobu wymiany informacji między maszyną kliencką (np. własny komputer) a serwerem DNS. Użyj polecenia host z argumentem będącym nazwą domenową (np.: host mars.iti.pk.edu.pl) i prześledź jakie rekordy DNS zostały użyte do wymiany informacji w obu kierunkach. Wykonaj także polecenie host z argumentem będącym adresem IP istniejącym w sieci Internet (np.: host 212.77.100.101 - <<jest to odpytanie serwerów wstecznego DNS ReverseDNS>>) i określ jakie rekordy biorą udział w tej wymianie informacji. Użyj przełączników [-r v t] w różnych kombinacjach i określ jakie informacje dostarcza każda z sekcji (QUESTION, AUTHORITY, ADDITIO- NAL).

03. Programowanie Usług Sieciowych Usługa DNS 9 3. Opracowanie i sprawozdanie Realizacja laboratorium pt. Usługa DNS polega na wykonaniu wszystkich zadań programistycznych podanych w drugiej części tej instrukcji. Wynikiem wykonania powinno być sprawozdanie w formie wydruku papierowego dostarczonego na kolejne zajęcia licząc od daty laboratorium, kiedy zadania zostały zadane. Sprawozdanie powinno zawierać: o opis metodyki realizacji zadań (system operacyjny, język programowania, biblioteki, itp.), o algorytmy wykorzystane w zadaniach (zwłaszcza, jeśli zastosowane zostały rozwiązania nietypowe), o opisy napisanych programów wraz z opcjami, o trudniejsze kawałki kodu, opisane tak, jak w niniejszej instrukcji, o uwagi oceniające ćwiczenie: trudne/łatwe, nie/realizowalne podczas zajęć, nie/wymagające wcześniejszej znajomości zagadnień (wymienić jakich), o wskazówki dotyczące ewentualnej poprawy instrukcji celem lepszego zrozumienia sensu oraz treści zadań.