Sieci Komputerowe Wykład 8 - teoria 

Część 1: UDP - User Datagram Protocol

Protokół bezpołączeniowy warstwy transportowej. Jest pozbawiony wszystkich funkcji TCP. Oferuje usługę w której mogą wystąpić straty pakietów. Dzięki swojej prostej budowie (i braku kontroli przeciążeń i przepływu ja kw TCP) jest szybki i szeroko używany w zastosowaniach z rygorami czasowymi. Używany jest w usłudze DNS, wideokonferencjach, strumieniach Audio (radio, Voip) i Video. W jego budowie wyróżniamy Port nadawcy, port odbiorcy, długość oraz sumę kontrolną (która dla zachowania szybkości wogule nie jest czasem sprawdzana).





Część 2: Skanowanie Portów - Podstawy


Skanowanie jest działaniem polegającym na wykryciu (aktywnym lub pasywnym) listy portów protokołów komunikacyjnych (TCP i UDP) na komputerze zdalnym.
Działanie to może być wykonane wieloma metodami. Podczas skanowania aktywnego wysyłane jest wiele pakietów do skanowanego komputera. Skanowanie pasywne polega na "podłożeniu" programu sniffera i filtrowaniu odpowiednich pakietów do późniejszej analizy.

Skanowanie aktywne protokołu TCP możemy podzielić na:

  • Skanowanie połączeniowe - następuje próba połączenia z portem (pełny 3-way handshake)
  • Skanowanie półpołączeniowe - następuje próba połączenia z portem, ale trzeci w kolejności pakiet resetuje połączenie (RST,ACK)
  • Skanowanie niewidoczne flagami FIN (oraz NULL, XMAS) - skanowanie z zapaloną flagą FIN, brakiem zapalonych flag (null) lub FIN, URG, PSH.(xmas).

W przypadku odpowiedzi na skany połączeniowe i półpołączeniowe dostajemy pakiet z zapalonymi flagami SYN,ACK jeżeli port jest otwarty, i RST,ACK gdy jest zamknięty. Gdy nie otrzymamy odpowiedzi, moze oznaczać to, że port jest filtrowany (firewall odrzuca pakiet). W przypadku skanów niewidocznych otrzymujemy RST,ACK gdy port jest zamknięty oraz brak odpowiedzi w przypadku gdy port jest otwarty (nie mozemy określić, czy niest filtrowany). Ze względu na niekompatybilność z protokołem systemy Microsoftu odpowiadają podczas takiego skanowania RST,ACK niezaleznie od stanu portu.

Skanowanie aktywne protokołu UDP


Ze względu na prostotę budowy protokołu UDP, nie jest możliwe wykrycie "odpowiedzi" zwrotnej od serwera (brak połączenia) tym samym protokołem. Wysłany pakiet UDP na port, który jest zamknięty powoduje wysłanie do nadawcy pakietu ICMP typu 3 (nie można osiągnąć miejsca przeznaczenia). Port otwarty nie odpowie żadnym pakietem, lub odpowie pakietem "niepoprawnie sformatowany pakiet" w przypadku niektórych usług.

Zawsze w przypadku braku odpowiedzi możemy mieć do czynienia z filrowaniem pakietu. Należy o tym pamiętać zanim potwierdzi się informację o otwartym porcie.
Narzędzie nmap służy do skanowania systemów komputerowych. Uzywane jest przez administratorów w celu sprawdzenia odporności serwerów na ataki. Umożliwia wszystkie rodzaje skanowania TCP/UDP, a zwłaszcza:
  • -sT - Skanowanie połączeniowe TCP
  • -sT - Skanowanie półpołączeniowe TCP
  • -sF - Skanowanie FIN TCP
  • -sN- Skanowanie null (wszystkie flagi zgaszone) TCP
  • -sX- Skanowanie Xmas (FIN, URG, PSH) TCP
  • -sU- Skanowanie UDP

poniższy listing pokazuje przykładowy wynik działania programu nmap

tomek@ZUERST:~> nmap -sT 192.168.1.44 -p 10-1000

Starting Nmap 4.60 ( http://nmap.org ) at 2009-11-29 23:58 CET
Interesting ports on 192.168.1.44:
Not shown: 988 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
111/tcp open  rpcbind

Nmap done: 1 IP address (1 host up) scanned in 0.152 seconds



tomek@ZUERST:~> sudo nmap -sF 192.168.1.44 -p 10-1000

Starting Nmap 4.60 ( http://nmap.org ) at 2009-11-29 23:59 CET
Interesting ports on 192.168.1.44:
Not shown: 988 closed ports
PORT    STATE         SERVICE
22/tcp  open|filtered ssh
80/tcp  open|filtered http
111/tcp open|filtered rpcbind

Nmap done: 1 IP address (1 host up) scanned in 1.286 seconds

tomek@ZUERST:~> sudo nmap -sU 192.168.1.44 -p 10-1000

Starting Nmap 4.60 ( http://nmap.org ) at 2009-11-29 23:59 CET
Interesting ports on 192.168.1.44:
Not shown: 989 closed ports
PORT    STATE         SERVICE
111/udp open|filtered rpcbind
631/udp open|filtered unknown

Nmap done: 1 IP address (1 host up) scanned in 1.333 seconds

W przykładzie użyto zakresu portów 10 - 1000 (parametr -p ) Jak widać na listingu niektóre skanowania są zastrzeżone tylko dla administratorów systemu. Nieodpowiedzialne skanowanie komputerów może być odebrane jako atak.





Część 3: ICMP - Internet Control Message Protocol

Protokół działający w warstwie transportowej służący do kontroli Internetu. Najczęściej używany w programach ping, traceroute W jego budowie można wyróżnić pole typu (1 bajt) określające typ pakietu, pole kodu (1 bajt) określające przyczynę wygenerowania pakietu danego typu i sumę kontrolną (2 bajty).
Istnieje kilkadziesiąt typów pakietów ICMP, jednak najważniejszymi są:

  • 0 - ECHO REPLY - odpowiedź na ping
  • 3 - DESTINATION UNREACHABLE - pakiet nie może dotrzeć do adresata
  • 8 - ECHO REQUEST - pytanie ping
  • 11 - TIME EXCEEDED - przekroczenie limitu czasu

Pakiety ICMP typu 0 i 8 są wykorzystywane przez program ping. Przenoszą dane testowe (np alfabet w przypadku Windows'a).
ICMP typu 11 zostaje wygenerowane, jeżeli nie da się dostarzyć odbiorcy danego pakietu. Przy niecelowym odrzuceniu pakietu przez serwer spowodowanym zmniejszeniem wartości TTL do 0, do nadawcy wysyłana jest odpowiedź z typem 11 która zawiera załączony pakiet - który wyrzucono (od warstwy sieci w górę).
W przypadku braku możliwości dostarczenia pakietu do celu zostaje wygenerowany ICMP typu 3. Jako powód wygenerowania takiego kodu możemy otrzymać:

Port jest zamknięty
Host jest wyłączony z sieci
Podsieć jest wyłączona z sieci.

Do ciała pakietu załącza się pakiet nadawcy (ten, który został odrzucony) Typ 3 i podtyp mówiący o zamkniętym porcie jest wykorzystywany przez narzędzia skanujące porty UDP komputera.






Zadania 


Pliki 

Ten dział zostanie uzupełniony wkrótce...

W sieci