31
Znajdywanie hostów w sieci

Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Znajdywanie hostów w sieci

Page 2: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Podstawy

ALIAS

ADRES IP

Page 3: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Po co nam nazwy

Korzyści z definiowania nazw:• Nazwy są łatwiejsze do zapamiętania• Stabilność w przypadku dynamicznych

zmian adresów IP (środowiska mobilne, równoważenie obciążenia itp.)

• Możliwość definiowania różnych nazw dla tego samego hosta

• Rozwiązywanie nazwy hosta – lokalnie (hosts)/zdalnie (DNS)

Page 4: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Historia

• Nazwy to kolory -> problem: mężczyzna rozróżnia 7 kolorów ☺ (nazwy tylko dla serwerów)

• Peggy Karp (1971) – RFC 226 -> określenie krótkich (4 litery) nazw hostów

• Pierwsze serwery nazw SRI-NIC – serwery ftp z plikiem hosts.txt -> klient raz dziennie łączy się i pobiera plik nazw– Dla dużych plików nazw spadek przepustowości sieci ze

względu na rozmiar pliku i liczbę klientów– Pobieranie raz dziennie to za mało w mobilnych środowiskach– Problem utrzymania pliku (jego administracji)

• Domain Name System (DNS), 1997 -> RFC 1034 i 1035 -> hierarchiczna baza danych

Page 5: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Definicje

• Podstawowe nazwy hostów – stringi, max 256 symboli earth, sun itp.

• Pełne złożenie domeny: (FQDN – Fully QualifiedDomain Name) – połączenie nazwy hosta z nazwą DNS

• Aliasy (etykiety) – alternatywne nazwy hostównp. „www” najczęściej jest aliasem dla hostaposiadającego oryginalnie inną nazwę(przydomek dla nazwy hosta) – aliasy w plikach hostów definiowane są przez nazwy kanoniczne (CNAME)

Page 6: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Rozpoznawanie nazw przez plik hosts

• Pierwsza metoda rozwiązywania nazw –pliki hosts (windows: C:\Windows\System32\drivers\etc\)

• Budowa:# 38.25.63.10 x.acme.com# x client host127.0.0.1 localhost157.158.131.163 sun157.158.131.110 wenus

Page 7: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Rozwiązywanie nazw

Procedura• Wprowadzenie żądania danej aplikacji np.

przeglądarka + napis w pasku adresu• Weryfikacja czy wprowadzona nazwa nie

jest identyczna z nazwą własną hosta –jak tak użyj własnego IP

• Przegląd pliku hosts z góry do dołu w celu znalezienie IP

• Komunikat o błędzie

Page 8: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

NetBIOS

• Standard RFC 1001 i 1002• System zaprojektowany dla IBM (1983r)• Podstawa starych systemów Windows (aplikacje

NetBIOS:przeglądarka sieci) – nowe (od W2K bazują na rozwiązywaniu nazw DNS)

• Domyślnie nie stosowany przez systemy Unixo-podobne(bazuje na protokole SMB) – W systemach Unikso-podobnych implementacja poprzez

SAMBA

• Sposób działania podobny do DNS• Założenia – rezygnacja z architektury klient serwer

(każdy może być serwerem i klientem)

Page 9: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Cechy

Nazwy NetBIOS – reprezentacja różnych obiektów: użytkowników, komputery, grupy robocze, usługi NT, domeny

Cechy nazw:

• Nie rozróżnianie wielkości liter (UWAGA!!! Win98 duże litery, SAMBA litery takie jak wpisano)

• Długość do 15 znaków• Alfanumeryczne (bez spacji, kropek i symboli)

Page 10: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

NetBIOS

Page 11: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Sposób działaniaNazwa NetBIOS połączona z nazwą usługi

przez sufiks liczbowy:

UNIQUE03Użytkownika/komputer/domnaPrzesyłanie wiadomości

GROUP1CDomenaKontroler domeny

UNIQUE1EGrupa robocza lub domenaWymuszenie elekcji

UNIQUE1BNazwa domenyPrzeglądarka główna

UNIQUE20Nazwa komputeraSerwer

UNIQUE00Nazwa komputeraStacja robocza

TypSufiks liczbowy

Nazwa NetBIOSNazwa usługi

Page 12: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Rozwiązywanie nazw - sposoby

• Przez rozgłoszenie (zasięg tylko lokalny – jeden segment sieci, brak forwardowania przez routery) – jeśli odbiorca odebrał rozgłoszenie odpowiada swoim adresem IP

• Serwery WINS (Windows Internet Name Server) – ograniczenie ruchu w sieci poprzez centralizację

• LMHOSTS – plik rozwiązujący nazwy• HOSTS – podobnie jak wyżej• DNS – wykorzystanie serwerów DNS

Page 13: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Hierarchia procesu rozwiązywania nazw

Serwer WINS Serwer DNS

KarolKomp

JacekKomp

ArekKomp

Sieć rozległa

Plik LMHOSTS192.168.1.13 KarolKomp192.168.2.14 MaciekKomp

Plik HOSTS192.168.1.123 MateuszKomp192.168.2.14 MaciekKomp

1

2

3

4

5

Page 14: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

NetBIOS – problemy i rozwiązania

Problemy• Brak unifikacji nazw• Generacja dużego ruchu w sieciRozwiązania• Możliwość definiowania typów węzłów (sposobu

realizacji zapytań)• Przejście z aplikacji typu NetBIOS na aplikacje

działające na Sockets (gniazdach) – przejście z domyślnego portu NetBIOS (NetBIOS over TCP) 137, 138 (UDP) 139(TCP) na SMB over TCP –port 445

Page 15: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Domain Name System

Możliwości wykorzystania• znajdywania hostów o określonej nazwie• znajdywania nazw hostów o określonym

adresie IP• definiowanie alternatywnych nazw

(aliasów)• Możliwość równoważenia obciążenia

serwerów poprzez dynamiczne łączenie nazwy z określonymi adresami IP

Page 16: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Domain Name System- pojęcia

• Domena DNS – węzeł w przestrzeni nazw. Składa się z pierwotnej nazwy + nazw położonych poniżej. Zasada grupowania nazw

• Serwer nazw – Serwer usług DNS – odpowiada za rozwiązanie nazwy, umożliwia aktualizację/edycję plików strefy

• Resolver – klient usługi DNS wysyłający zapytanie do serwera DNS

• Przestrzeń nazw – nienazwany węzeł główny oraz rozchodzące się gałęzie zwane domenamiICANN – Internet Corporation for Assigned Names andNumbers – organizacja odpowiedzialna za domeny najwyższego poziomu

Page 17: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Przestrzeń nazw

Poziom główny

com edu gov

orgpolitechnika

abc

Korzeń

Poziom pierwszy

Poziom drugi

Page 18: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Pojęcia - CD

• Serwery poziomu głównego – zawierająwpisy wszystkich domen najwyższego poziomu (korzeń drzewa symbol „.”)– Uwaga – przy rozwiązywaniu nazw odwołanie

do serwerów poziomu głównego jest najgorszą sytuacją – najdłuższa możliwa droga przeszukiwania

Page 19: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Domeny poziomu głównego

(TLD – top level domains) – podział organizacji wg. typu/funkcji/lokalizacji

• Domenu ogólne– .com – dla przedsiębiorstw– .net – dla sieci– .org – dla organizacji typu niedochodowego

• Domeny specjalnego przeznaczenia– .edu – edukacyjne– .gov – rządowe– .mil – wojskowe

• Domeny narodowe– .pl – Polska– .ru - Rosja

Page 20: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Domeny poziomu drugiego

• Problem z rozproszeniem, • Nie są zarządzane przez ICANN• Wewnątrz domen drugiego poziomu możliwość

zarządzania własną przestrzenią nazw (mogązawierać hosty, serwery, poddomeny)

• Uwaga: rejestracja domeny drugiego poziomu wymaga udostępnienia przynajmniej dwóch serwerów DNS. Reszta wymagań na stronie ICANN

Page 21: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Strefy

Obszar przestrzeni nazw za który odpowiada dany serwer DNS.

Strefa może obejmować• Pojedynczą domenę• Podobszar domeny• Kilka poddomenStrefa podstawowa• Tylko jeden serwer DNS może być podstawowy dla

danej strefy. Tutaj następuje aktualizacja wpisów. Zawiera plik konfiguracyjny i rekordy zasobów

Strefa wtórna• Posiada rekordy zasobów i danych konfiguracyjnych

otrzymane od innych serwerów DNS - od serwera typu master. Serwer typu master nie musi być serwerem podstawowym, może to być inny serwer wtórny.

Page 22: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Podział na strefy

• Problem obciążenia serwerów – jeden serwer to konieczność odpowiadania dla wszystkich klientów

• Problem przeciążenia łączy – patrz wyżej –jeden serwer DNS niezbędna duża przepustowość – problem z odległymi siedzibami i łączami komutowanymi

• Problem szybkości realizacji zapytań ze strony klienckich hostów– problem opóźnień

• Redukcja kosztów administracji – centralne zarządzanie wpisami (w siedzibach lokalnych brak konieczności zatrudniania sepcjalistów)

Page 23: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Transfer stref DNS

Tran

sfer

stre

fy

Page 24: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Wyszukiwanie w przód i wstecz

• Strefy wyszukiwania w przód– Rozwiązywanie nazw (FQDN-Fully Qualified Domain

Name) na adresy IP– Serwery DNS bez stref – serwery buforujące

• Nie dochodzi do transferu stref• Zadanie to buforowanie adresów IP – host zadaje pytanie

serwerowi, ten sprawdza swój bufor jak nie zawiera wpisu to odpytuje inny serwer DNS. Adresy IP w buforze przechowywane są około 1h

• Zastosowanie – sieci domowe, małe filie przedsiębiorstw

• Strefy wyszukiwania w tył– Odnajdywanie nazwy hosta na podstawie adresu IP

Page 25: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Zapytania iteracyjne i rekurencyjne

Page 26: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Typy rekordów w serwerach DNS

• rekord A lub rekord adresu (ang. address record) mapuje nazwę domeny DNS na jej 32-bitowy adres IPv4.

• rekord AAAA lub rekord adresu IPv6 (ang. IPv6 address record) mapuje nazwę domeny DNS na jej 128-bitowy adres IPv6.

• rekord CNAME lub rekord nazwy kanonicznej (ang. canonical name record) ustanawia alias nazwy domeny. Wszystkie wpisy DNS oraz poddomeny są poprawne także dla aliasu.

• rekord MX lub rekord wymiany poczty (ang. mail exchange record) mapuje nazwędomeny DNS na nazwę serwera poczty oraz jego priorytet.

• rekord PTR lub rekord wska źnika (ang. pointer record) mapuje adres IPv4 lub IPv6 na nazwę kanoniczną hosta. Określenie rekordu PTR dla nazwy hosta (ang. hostname) w domenie in-addr.arpa (IPv4), bądź ip6.arpa (IPv6), który odpowiada adresowi IP, pozwala na implementację odwrotnej translacji adresów DNS (ang. reverse DNS lookup).

• rekord NS lub rekord serwera nazw (ang. name server record) mapuje nazwę domenowąna listę serwerów DNS dla tej domeny.

• rekord SOA lub rekord adresu startowego uwierzytelnienia (ang. sta rt of authorityrecord) ustala serwer DNS dostarczający autorytatywne informacje o domenie internetowej, łącznie z jej parametrami (np. TTL).

• rekord SRV lub rekord usługi (ang. service record) pozwala na zawarcie dodatkowych informacji dotyczących lokalizacji danej usługi, którą udostępnia serwer wskazywany przez adres DNS.

• TXT – rekord ten pozwala dołączyć dowolny tekst do rekordu DNS. Rekord ten może byćużyty np. do implementacji specyfikacji Sender Policy Framework.

Źródło: Wikipedia

Page 27: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Protokół DNS

• Zwykle protokół UDP. (Zapytanie musi mieścić się w 512 bajtach)

• Może również wykorzystywać protokół TCP

Format komunikatu DNS:• NAGŁÓWEK – (Header)• ZAPYTANIE – (Question) do serwera nazw• ODPOWIEDŹ – (Answer) zawiera rekordy b ędące

odpowiedzi ą• ZWIERZCHNOŚĆ – (Authority) wskazuje serwery

zwierzchnie dla domeny• DODATKOWA – (Additional) sekcja informacji

dodatkowych

Zródło: Wikipedia

Page 28: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Format protokołu DNS

Page 29: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Opis pól• ID [16 bitów] – (IDentifier) – identyfikator tworzony przez program wysyłający zapytanie; serwer przepisuje ten

identyfikator do swojej odpowiedzi, dzięki czemu możliwe jest jednoznaczne powiązanie zapytania i odpowiedzi

• QR [1 bit] – (Query or Response) – określa, czy komunikat jest zapytaniem (0) czy odpowiedzią (1) • OPCODE [4 bity] – określa rodzaj zapytania wysyłanego od klienta, jest przypisywany przez serwer do

odpowiedzi. Wartości: – 0 – QUERY – standardowe zapytanie,– 1 – IQUERY – zapytanie zwrotne,– 2 – STATUS – pytanie o stan serwera,– 3-15 – zarezerwowane do przyszłego użytku

• AA [1 bit] – (Authoritative Answer) – oznacza, że odpowiedź jest autorytatywna. • TC [1 bit] – (TrunCation) – oznacza, że odpowiedź nie zmieściła się w jednym pakiecie UDP i została obcięta. • RD [1 bit] – (Recursion Desired) – oznacza, że klient żąda rekurencji – pole to jest kopiowane do odpowiedzi • RA [1 bit] – (Recursion Available) – bit oznaczający, że serwer obsługuje zapytania rekurencyjne • Z [3 bity] – zarezerwowane do przyszłego wykorzystania. Pole powinno być wyzerowane. • RCODE (Response CODE) – kod odpowiedzi. Przyjmuje wartości:

– 0 – brak błędu– 1 – błąd formatu – serwer nie potrafił zinterpretować zapytania– 2 – błąd serwera – wewnętrzny błąd serwera– 3 – błąd nazwy – nazwa domenowa podana w zapytaniu nie istnieje– 4 – nie zaimplementowano – serwer nie obsługuje typu otrzymanego zapytania– 5 – odrzucono – serwer odmawia wykonania określonej operacji, np. transferu strefy– 6-15 – zarezerwowane do przyszłego użytku

• QDCOUNT [16 bitów] – określa liczbę wpisów w sekcji zapytania • ANCOUNT [16 bitów] – określa liczbę rekordów zasobów w sekcji odpowiedzi • NSCOUNT [16 bitów] – określa liczbę rekordów serwera w sekcji zwierzchności • ARCOUNT [16 bitów] – określa liczbę rekordów zasobów w sekcji dodatkowej Żródło: Wikipedia

Page 30: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

Protokół SecDNS

• Protokół umożliwiający autoryzację utrzymywanych odpowiedzi od serwera DNS

• Serwery DNS – poważne zagrożenie bezpieczeństwa – Atak typu: zatrucie DNS – wprowadzenie nieautoryzowanych

wpisów, szczególnie niebezpieczne w przypadku stosowania usług DHCP – umożliwienie ataków typu Web Page Spoofing(Podszywanie się pod stronę Internetową)

• Rozwiązanie: dodanie czterech nowych dodatkowych typów rekordów :– Resource Record Signature (RRSIG), – DNS Public Key (DNSKEY),– Delegation Signer (DS), – Next Secure (NSEC).

• Działanie: grupa rekordów jest zaszyfrowana prywatnym kluczem strefy. Użytkownik systemu może sprawdzićinformacje za pomocą publicznego klucza strefy.

Page 31: Znajdywanie hostów w sieci - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/zajecia/skias/sieci_6.pdf · hosts.txt -> klient raz dziennie łączy si ęi pobiera plik nazw –

DynDNS