Określanie konfiguracji TCP/IP



Podobne dokumenty
Internet Control Message Protocol (ICMP) Łukasz Trzciałkowski

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

ZiMSK. Routing statyczny, ICMP 1

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

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Sieci komputerowe - administracja

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Sieci Komputerowe. Protokół ICMP - Internet Control Message Protocol Protokół ICMP version 6. dr Zbigniew Lipiński

Akademia Techniczno-Humanistyczna w Bielsku-Białej

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

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

Rodzina protokołów TCP/IP

Adresy w sieciach komputerowych

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

ARP Address Resolution Protocol (RFC 826)

Laboratorium 6.7.1: Ping i Traceroute

MODEL OSI A INTERNET

Narzędzia diagnostyczne protokołów TCP/IP

Warstwa sieciowa. mgr inż. Krzysztof Szałajko

Sieci komputerowe i bazy danych

1. Informacje ogólne: 2. Standardy TCP/IP. 2.1 Adresowanie IPv4

Ping. ipconfig. getmac

Instrukcja 5 - Zastosowania protokołu ICMP

Programowanie sieciowe

Router programowy z firewallem oparty o iptables

Internet Control Messaging Protocol

ADRESY PRYWATNE W IPv4

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

Przesyłania danych przez protokół TCP/IP

Zarządzanie bezpieczeństwem w sieciach

Narzędzia do diagnozowania sieci w systemie Windows

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1

Laboratorium podstaw telekomunikacji

Architektura INTERNET

Laboratorium Sieci Komputerowych - 2

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

Klasy adresów IP. Model ISO - OSI. Subnetting. OSI packet encapsulation. w.aplikacji w.prezentacji w.sesji w.transportowa w.

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Struktura adresu IP v4

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Strona1. Suse LINUX. Konfiguracja sieci

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Sieci komputerowe. Wykład dla studentów Informatyki Stosowanej i Fizyki Komputerowej UJ 2007/2008. Michał Cieśla

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Protokoły sieciowe - TCP/IP

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

T: Konfiguracja interfejsu sieciowego. Odwzorowanie nazwy na adres.

System operacyjny Linux

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

iptables/netfilter co to takiego?

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

Podstawy działania sieci komputerowych

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

iptables -F -t nat iptables -X -t nat iptables -F -t filter iptables -X -t filter echo "1" > /proc/sys/net/ipv4/ip_forward

ISO/OSI TCP/IP SIECI KOMPUTEROWE

SIECI KOMPUTEROWE - BIOTECHNOLOGIA

Vladimir vovcia Mitiouchev icmp blind attacks Oparto o draft-gont-tcpm-icmp-attacks-04 (Fernando Gont)

Laboratorium - Wykorzystanie programu Wireskark do badania ramek Ethernetowych

ZiMSK NAT, PAT, ACL 1

Protokoły wspomagające. Mikołaj Leszczuk

Sieci komputerowe - Protokoły warstwy transportowej

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 24

Sieci komputerowe - Protokoły wspierające IPv4

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat hasła SOHO (ang. Small Office/Home Office).

Wdrażanie i zarządzanie serwerami zabezpieczającymi Koncepcja ochrony sieci komputerowej

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 25

Akademia Górniczo-Hutnicza im. Stanisława Staszica

Sieci komputerowe. Router. Router

Wireshark analizator ruchu sieciowego

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Tryb pracy urządzenia jest wyświetlany wewnątrz trójkątnych nawiasów, oto kilka oznaczeń:

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Routing - wstęp... 2 Routing statyczny... 3 Konfiguracja routingu statycznego IPv Konfiguracja routingu statycznego IPv6...

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

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

4. Podstawowa konfiguracja

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Laboratorium Sieci Komputerowych

Bezpieczeństwo w M875

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Translacja adresów - NAT (Network Address Translation)

Wykład 3 Filtracja i modyfikacja pakietów za pomocą iptables.

dostępu do okręslonej usługi odbywa się na podstawie tego adresu dostaniemu inie uprawniony dostep

Konfiguracja sieci, podstawy protokołów IP, TCP, UDP, rodzaje transmisji w sieciach teleinformatycznych

Zarządzanie Jakością Usług w Sieciach Teleinformatycznych

Tomasz Greszata - Koszalin

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP. WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r.

Zarządzanie bezpieczeństwem w sieciach dr inż. Robert Banasiak, mgr inż. Rafał Jachowicz, Instytut Informatyki Stosowanej PŁ, 2013

Załącznik D. Iproute2 i Wireless Tools

polega na opakowaniu danych - w każdej warstwie modelu OSI, kolejno idąc z góry na dół - w konieczne nagłówki/stopki odpowiednich protokołów

Instrukcja programu Wireshark (wersja 1.8.3) w zakresie TCP/IP

Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7

Stos TCP/IP Warstwa Internetu. Sieci komputerowe Wykład 4

Dlaczego? Mało adresów IPv4. Wprowadzenie ulepszeń względem IPv4 NAT CIDR

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

Transkrypt:

Określanie konfiguracji TCP/IP Marek Kozłowski Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska Warszawa, 2014/2015

Internet Control Message Protocol Protokół IP nie jest wyposażony w żadne mechanizmy kontrolujące poprawne przekazanie pakietu do odbiorcy. Lukę tę w znacznym stopniu wypełnia protokół ICMP zdefiniowany w RFC 792. Każdy nagłówek ICMP składa się z nagłówka IP, pól: Type (8 bitów), Code (8 bitów) i Checksum (16 bitów), oraz ewentualnie dodatkowych innych pól zależnie od typu. Nagłówek IP jest integralną częścią nagłówka ICMP. Dzieje się tak, ponieważ ICMP nie wykorzystuje protokołu IP tak, jak TCP czy UDP, tj. jako protokół wyższej warstwy, lecz jest integralną częścią IP i musi być zaimplementowany w każdej implementacji IP.

Parametry nagłówka ICMP Pole typu (Type) określa rodzaj pakietu ICMP. Wybrane wartości tego pola: 8 i 0 Echo Request/Reply, 3 Destination Unreachable, 4 Source Quench, 5 Redirect Message, 11 Time Exceeded, 12 Parameter Problem. Pole kodu (Code) doprecyzowuje rodzaj powiadomienia; wartości kodów są definiowane osobno dla poszczególnych typów. Pole sumy kontrolnej (Checksum) działa analogicznie jak w innych omówionych dotychczas nagłówkach. Do obliczania sumy kontrolnej brane są 16-bitowe słowa nagłówka ICMP, poczynając od pola Type.

ICMP Echo Request/Reply 0-3 4-7 8-11 12-15 16-19 20-23 24-27 28-31 Type Code Checksum Identifier Sequence Number Data Typ: dla pakietu Request 8, dla Reply 0. Wartość pola kodu w pakietach Echo jest zawsze równa 0. Identyfikator i numer sekwencyjny pozwalają połączyć w pary żądania i odpowiedzi. Sposób ich ustalania nie jest zdefiniowany w RFC 792. Standard nie określa także zawartości pola danych, żąda jednak, by dane w pakietach Request i odpowiadających im Reply były identyczne.

ICMP Destination Unreachable 0-3 4-7 8-11 12-15 16-19 20-23 24-27 28-31 Type Code Checksum Unused IP header + first 64 bits of original datagram Przypomnijmy, że numery portów w TCP i UDP mieszczą się na pierwszych 32 bitach za nagłówkiem IP. Pole typ ma wartość 3. Pole kodu określa przyczynę niedostarczenia pakietu. RFC 792 definiuje 6 wartości: 0 Network unreachable, 1 Host unreachable, 2 Protocol unreachable, 3 Port unreachable, 4 Fragmentation needed and DF set, 5 Source route failed error.

ICMP Destination Unreachable Późniejsze RFC (1122 i 1812) dodają kody 6-15: 6 Destination network unknown, 7 Destination host unknown, 8 Source host isolated (nieużywane), 9 Destination network administratively prohibited, 10 Destination host administratively prohibited, 11 Destination network unreachable for ToS, 12 Destination host unreachable for ToS, 13 Communication administratively prohibited by filtering, 14 Host precedence violation, 15 Precedence cutoff in effect.

ICMP Source Quench 0-3 4-7 8-11 12-15 16-19 20-23 24-27 28-31 Type Code Checksum Unused IP header + first 64 bits of original datagram Wartości pól: typ 4, kod 0. Prośba o zmniejszenie tempa transmisji (np. ze względu na przepełnione bufory routera).

ICMP Redirect Message 0-3 4-7 8-11 12-15 16-19 20-23 24-27 28-31 Type Code Checksum Address IP header + first 64 bits of original datagram ICMP typu 5 powiadamia hosta o wyborze niewłaściwej bramki, zazwyczaj przekazaniu pakietu do domyślnej bramki w sytuacji, gdy sieć nadawcy ma inną, bliższą sieci docelowej bramkę. Dopuszczalne wartości kodu są następujące: kod 0 Redirect for network, kod 1 Redirect for host, kod 2 Redirect for ToS and network, kod 3 Redirect for ToS and host. Pole adresu zawiera adres IP właściwej bramki

ICMP Time Exceeded 0-3 4-7 8-11 12-15 16-19 20-23 24-27 28-31 Type Code Checksum Unused IP header + first 64 bits of original datagram ICMP typu 11 informuje o przekroczeniu czasu życia pakietu; wykorzystywane jest np. przez program traceroute do badania trasy pakietów. Dopuszczalne są dwie wartości pola kodu: kod 0 TTL osiągnęło wartość 0 w czasie przechodzenia przez router, kod 1 TTL osiągnęło wartość 0 w czasie defragmentacji pakietu.

ICMP Parameter Problem 0-3 4-7 8-11 12-15 16-19 20-23 24-27 28-31 Type Code Checksum Pointer Unused IP header + first 64 bits of original datagram Pakiety ICMP sygnalizujące błąd nagłówka IP. Pole Pointer to numer oktetu w nagłówku IP, który spowodował problem. Wartość pola typu wynosi 12, wartość pola kodu 0. Dopuszczalny jest także kod 1 (RFC?) sygnalizujący brak wymaganej opcji. W takim przypadku pole Pointer nie jest wykorzystywane.

Wybrane polecenia arp Polecenie arp służy do zarządzania tablicą ARP cache. Dostępne jest w większości systemów uniksopodobnych i systemach Windows. Umożliwia m.in. podgląd i modyfikację tablicy ARP, stwierdzenie ataku ARP poisoning (choć lepiej używać w tym celu arpwatch lub systemów IDS, np. snort), jak również ochronę przed nim poprzez użycie mapowań statycznych (plik /etc/ethers).

Wybrane polecenia ifconfig Polecenie ifconfig służy do wyświetlania i modyfikowania konfiguracji interfejsów sieciowych w systemach Linux/Unix. W innych systemach do podglądu ustawień dostępne są narzędzia: winipcfg (Windows 95/98), ipconfig (Windows 2000/XP), config (NetWare). W systemach Windows zmiany parametrów interfejsu dokonuje się poprzez Właściwości Sieci, a w systemie NetWare poprzez load tcpcon.nlm. Polecenie ifconfig umożliwia także zarządzanie wybranymi ustawieniami kart ethernet. Do zarządzania kartami wifi służą polecenia: iwconfig, iwlist, iwspy (Linux), ifconfig (BSD), wificonfig (Solaris).

Wybrane polecenia netstat Polecenie netstat dostępne jest w systemach Linux/Unix i Windows. W NetWare należy użyć load tcpcon.nlm. Polecenie netstat umożliwia: wyświetlanie szczegółów dotyczących protokołów i interfejsów, podgląd tablicy routingu (manipulowanie route), podgląd sesji TCP oraz ich stanu (ESTABLISHED, SYN SENT, SYN RECV, FIN WAIT1, FIN WAIT2, TIME WAIT, CLOSED, CLOSE WAIT, LAST ACK, LISTEN, CLOSING, UNKNOWN), podgląd otwartych portów UDP.

Narzędzia iproute2 Pakiet iproute2 dostępny jest tylko dla systemu Linux. Pakiet ten zastępuje szereg poleceń sieciowych takich jak ifconfig, arp, route i in. poleceniem (poleceniami) ip (ip link, ip address, ip neighbour, ip route i in.). Iproute2 wprowadza ujednoliconą składnię dla wszystkich wywołań. Polecenie ip pozwala na dowiązanie więcej niż jednego adresu IP do jednego interfejsu oraz oferuje szereg rozszerzeń.

Polecenia ip przykłady Podgląd tablicy ARP $ arp $ ip neighbour show Informacje o interfejsie $ ifconfig eth0 $ ip address show dev eth0 Podgląd tablicy routingu $ netstat -r $ route $ ip route show

Polecenia ip przykłady zaawansowane Kilka adresów IP na jednym interfejsie # ip address add 10.0.0.1/8 broadcast + dev eth0 # ip address add 172.16.1.1/16 broadcast + dev eth0 $ ip address show dev eth0 $ ifconfig NAT (szczegóły na najbliższym wykładzie) # ip route add nat 194.29.178.1 via 192.168.1.1 # ip rule add nat 194.29.178.1 from 192.168.1.1 # ip route flush cache $ ip route show $ ip rule show

Odwołanie do sieci loopback Komunikacja poprzez adresy loopbackowe (127.0.0.0/8) pomaga ustalić, czy stos TCP/IP funkcjonuje prawidłowo. Przypomnienie: host identyfikuje się z każdym adresem w obrębie sieci 127.0.0.0/8, w szczególności nazwa localhost powinna być kojarzona z adresem 127.0.0.1: /etc/hosts (*nix), c:\windows\hosts (Windows 95/98), c:\winnt\system32\drivers\etc\hosts (Windows 2000/XP).

Rozwiązywanie nazw DNS nslookup Polecenie nslookup pozwala uzyskać informacje z serwerów nazw domenowych: adres IP dla nazwy (rekordy A, CNAME) lub nazwę zarejestrowaną dla adresu IP (rekordy PTR). Alternatywne narzędzia: host i dig. Jeśli nie podamy explicite serwera DNS, który chcemy odpytywać, wówczas wykorzystywana jest konfiguracja domyślna (zob. plik /etc/resolv.conf).

Wybrane polecenia ping Polecenie ping dostępne jest we wszystkich systemach Linux/Unix, Windows i NetWare (load ping.nlm). Wysyła pakiety ICMP ECHO REQUEST do odbiorcy i oczekuje ECHO REPLY. Na podstawie uzyskanych odpowiedzi szacuje opóźnienia i packet loss. Należy pamiętać, że wielu administratorów odfiltrowuje pakiety ICMP, w tym także ICMP ECHO, na routerach brzegowych, zatem brak odpowiedzi na ping nie oznacza braku komunikacji przy wykorzystaniu innych protokołów.

Wybrane polecenia traceroute Linux/Unix: traceroute, Windows: tracert, NetWare: load iptrace.nlm. Działanie traceroute polega na wysyłaniu serii pakietów UDP na port 33434 odbiorcy (zazwyczaj można podać inny lub wybrać pakiety ICMP ECHO) o wartościach TTL kolejno 1, 2, 3,... i odbieraniu powiadomień ICMP TIME EXCEEDED od pośrednich routerów. Na podstawie adresów nadawców zwrotnych pakietów ICMP, jak i opóźnień ustalana jest trasa pakietów do odbiorcy i szacowane są opóźnienia na poszczególnych hopach. Zarówno pakiety UDP na port 33434, jak i ICMP mogą być odfiltrowane na routerach.

Wybrane polecenia arping Odpowiednik polecenia ping działający na 2. warstwie OSI. Uwaga: dostępne są dwie implementacje: przenośna, oparta na bibliotece libpcap stworzona przez Thomasa Habetsa oraz linuksowa, wchodząca w skład pakietu iputils. Wersje te różnią się funkcjonalnością oraz parametrami wywołania!

Narzędzia bazujące na PCAP API dla omawianych na wykładzie programów badających pakiety realizowane jest przez pcap. Implementacja dla systemów Linux/Unix nosi nazwę libpcap (Linux/Unix), a jej windowsowy port winpcap. Z pcap korzystają m.in.: wireshark, tcpdump (dla Windows windump, dla Solarisa snoop), nmap, arping (wersja Habetsa), system IDS (wykrywania intruzów): snort (omawiany na następnym wykładzie). Posługiwanie się pcap wiąże się z przestawieniem karty w tzw. promiscous mode, do czego wymagane jest posiadanie uprawnień roota (supervisora, administratora).

Analizator pakietów tcpdump przykłady Składnia wyrażeń filtrowania pcap-filter, tj. taka sama jak dla capture filter w analizatorze wireshark Zapisz pakiety ESMTP wymianiane między hostem a hostami spoza sieci lokalnej do pliku plik.pcap # tcpdump (not net 194.29.178.0/24 or host 194.29.178.1) and \ (port 25 or 465 or 587) -w plik.pcap Zapisz pakiety przychodzące TCP zawierające flagę SYN lub FIN... # tcpdump dst 194.29.178.1 and \ (tcp[tcpflags] & (tcp-syn tcp-fin)!= 0) -w plik.pcap... lub tylko wyświetlaj analizę pierwszych 64 bajtów # tcpdump dst 194.29.178.1 and \ (tcp[tcpflags] & (tcp-syn tcp-fin)!= 0) -n -vv -s64

Skaner nmap nmap umożliwia m.in. wykrywanie hostów (ping), identyfikację hostów oraz skanowanie portów. Skanowanie portów może być realizowane z wykorzystaniem różnorodnych technik, m.in. poprzez ustanowienie połączenia TCP (pełne), poprzez wymianę pakietów SYN i SYN-ACK (półpełne, przeważnie nie jest logowane), skanowania ACK, FIN, Null i Xmas Tree (FIN-URG-PUSH) wywołania odpowiedzi RST (skanowany system musi być zgodny z RFC 793), skanowania UDP i analizy zwrotnych pakietów ICMP, skanowanie z flagami ustawionymi przez użytkownika. nmap ma dość bogatą dokumentację na stronie domowej http://www.insecure.org/ (http://www.nmap.org/), z którą warto się zapoznać.

Packet injectors Programy takie pozwalają na bezpośrednie generowanie pakietów z pominięciem enkapsulacji dokonywnej przez protokoły stosu. Do najpopularniejszych należy nemesis (http://nemesis.sourceforge.net), który pozwala na tworzenie i wysyłanie dowolnych pakietów arp, dns, ethernet, icmp, igmp, ip, ospf, rip, tcp i udp. Innymi, często wykorzystywanymi programami są: hping (http://www.hping.org) oraz scapy (http://www.secdev.org/projects/scapy).