Documente Academic
Documente Profesional
Documente Cultură
1.1. Introducere
Orice sistem de operare, care implementează stiva de protocoale TCP/IP, pune la dispoziţia
administratorilor de reţea o suită de aplicaţii pentru depanarea și monitorizarea reţelei.
Administratorul este nevoit să răspundă în orice moment la următoarele întrebări:
ce funcţionează bine şi ce nu?
ce implicaţii are nefuncţionarea reţelei?
ce modificări au apărut în reţea?
Un analizor de trafic este o aplicaţie care acţionează pasiv. Acest tip de program
observă mesajele care sunt transmise sau recepţionate de aplicaţiile care rulează pe staţia
examinată, dar niciodată nu trimite pachete proprii. Analizorul nu recepţionează pachetul
original, ci doar o copie a acestuia.
Figura de mai jos ilustrează modul de lucru al unui analizor de rețea.
SISTEM DE
OPERARE TRANSPORT
(TCP, UDP)
Capturare de toate cadrele REŢEA (IP)
pachete (PCAP) transmise sau LEGĂTURĂ DE DATE
recepţionate FIZIC
TCPdump este un program pentru monitorizarea reţelelor, disponibil atât pentru sistemul de
operare Unix cât şi pentru Windows. Programul TCPdump are nevoie de librăria pcap
(Package CAPture library) şi se poate descărca de pe Internet de la adresele:
versiunea Unix - http://www.tcpdump.org/
versiunea Windows - http://www.winpcap.org/windump/
Exemple cu tcpdump:
root:~ # tcpdump –h
tcpdump version 3.9.4
libpcap version 0.9.4
Usage: tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ]
[ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -Z user ] [ expression ]
1.2.2. Wireshark
2
monitorizare reţea în timp real;
încercarea reţelei prin generarea de pachete;
filtrează protocoale – numai anumite protocoale să fie analizate;
detectează posibilele atacuri din interiorul reţelei şi gâtuirile de reţea;
este destinat pentru toate tipurile de reţele: Ethernet, Fast Ethernet, Gigabit Ethernet,
Token Ring, FDDI, ATM, Wireless LAN.
Wireshark poate lucra în două moduri:
modul normal – capturează doar pachetele de date transferate pe sistemul pe care este
instalat programul;
modul promiscous - capturează toate pachetele de date transferate prin reţea.
Pentru capturarea pachetelor dorite se poate seta filtrul de pachete (display filter). Exemple de
filtre de pachete:
- capturează trafic spre și dinspre host IP 172.18.5.4:
ip.addr == 172.18.5.4
- capturează trafic spre și dinspre un domeniu de adrese:
3
ip.addr == 192.168.0.0/24
- capturează trafic dinspre un domeniu de adrese IP 192.168.0.0/24:
ip.src == 192.168.0.0/24
- capturează trafic spre un domeniu de adrese IP 192.168.0.0/24:
ip.dst == 192.168.0.0/24
- capturează doar traficul DNS (port 53):
udp.port == 53
- capturează tot în afară de mesaje ARP și trafic DNS:
udp.port != 53 and not arp
Una dintre metodele de protecţie împotriva captării informaţiilor personale este criptarea
datelor. Metode de criptare folosite:
SSL (Secure Socket Layer) – permite transferul de informaţie criptat şi este folosit de
browser-e în ecomerce;
PGP (Pretty Good Privacy) – permite criptarea e-mail-urilor;
SSH (Secure SHell) – folosit pentru conectarea la un nod din Internet;
VPN (Virtual Privat Network) – reprezintă o reţea sigură în Internet între două noduri.
Acest Wireshark este folosit în special de administratorii de sisteme de calcul. Dacă într-o
reţea se folosesc aceste aplicaţii şi de alţi utilizatori atunci se poate detecta utilizând
următoarele metode:
ping – un sistem care ascultă reţeaua răspunde greu la ping. Deci, cu comanda ping la
nodurile susceptibile de ascultare se poate determina dacă sunt sau nu în ascultare;
ARP – se transmit pachete non broadcast ARP către o anumită adresă. Dacă un alt sistem
va răspunde la aceste pachete, atunci ea este în mod promiscous;
DNS – programele sniffer generează automat cereri de tip DNS lookup pentru adresele IP
pe care le văd în reţea. Deci nodurile care emit multe cereri DNS lookup funcţionează în
mod promiscous.
Pentru a studia protocoalele şi pentru managementul reţelelor se poate descărca gratuit
aplicația Wireshark de la adresa http://www.ethereal.net sau http://www.wireshark.org .
1.3.1. ipconfig
Comanda ipconfig este un utilitar care afişează parametrii TCP/IP pentru un sistem de
calcul.
C:\>ipconfig /?
Where adapter Connection name (wildcard characters * and ? allowed, see examples)
Options:
/? Display this help message
/all Display full configuration information.
4
/release Release the IP address for the specified adapter.
/renew Renew the IP address for the specified adapter.
/flushdns Purges the DNS Resolver cache.
/registerdns Refreshes all DHCP leases and re-registers DNS names
/displaydns Display the contents of the DNS Resolver Cache.
/showclassid Displays all the dhcp class IDs allowed for adapter.
/setclassid Modifies the dhcp class id.
The default is to display only the IP address, subnet mask and default gateway for each
adapter bound to TCP/IP. For Release and Renew, if no adapter name is specified, then the IP
address leases for all adapters bound to TCP/IP will be released or renewed.
Examples:
> ipconfig ... show information.
> ipconfig /all ... show detailed information
> ipconfig /renew ... renew all adapters
> ipconfig /renew EL* ... renew any connection that has its name starting with EL
> ipconfig /release *Con* ... release all matching connections,
eg. "Local Area Connection 1" or "Local Area Connection 2"
Host Name reprezintă denumirea sistemului în reţeaua locală, care împreună cu DNS suffix
formează numele complet al sistemului. De ex. HomePC.domain.ro.
Physical Address reprezintă adresa MAC al plăcii de reţea, care este folosit de
echipamentele de interconectare de nivel 2 (switch-uri, bridge-uri) pentru a comuta pachetele
pe porturile fizice corecte. De exemplu adresa MAC al sistemului HomePC:
00:C0:9F:19:80:EF.
Asignarea adresei IP se realizează dinamic folosind protocolul DHCP, prin care sistemul se
configurează cu adresă IP, mască de reţea, gateway şi servere DNS. Fiecare adresă oferită de
un server DHCP are o perioadă de închiriere asociată, perioadă în care clientul are
permisiunea să folosească adresa. Perioada de închiriere este denumită lease time şi
poate avea orice valoare, de la câteva minute până la câteva luni, ani sau chiar pentru
totdeauna.
1.3.2. ping
Comanda ping verifică conectivitatea la nivelul IP între două calculatoare. ping este de fapt
o implementare client pentru protocolul ICMP şi culege statisticile de performanţă ale reţelei.
ping trimte mesaje ICMP “ echo request ” prin pachete adresate host-ului vizat și așteaptă
răspunsul la aceste mesaje venite sub forma de răspunsuri ICMP “ echo response ” de la host-
5
ul destinație. Transmițând periodic astfel de pachete și calculând întârzierea cu care ajung
răspunsurile, ping estimează timpul de round-trip, precum și rata de pierdere a pachetelor
dintre host-uri.
Utilitatea folosirii comenzii ping pentru diagnosticarea conectivității Internet a fost afectată
spre finalul lui 2003, când un număr semnificativ de ISP au început să filtreze mesajele ICMP
Type 8 (echo request) la marginea externă a rețelelor lor. Acest lucru se datorează pe de-o
parte de folosirea din ce în ce mai frecventă a comenzii ping ca metodă de identificare țintelor
de către worms precum Welchia, care au umplut Internet-ul de solicitări de tip ping pentru a
localiza computere noi pe care să le infecteze.
Lumea s-a împărțit astfel în două tabere, una care susține că ICMP să fie filtrat pentru a nu
divulga informații despre arhitectura de rețea, și o altă care este pentru a nu filtra aceste
mesaje, permițându-se astfel o diagnosticare rapidă.
Comanda ping are următoarea sintaxă:
C:\>ping /?
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count]
[[-j host-list] | [-k host-list]] [-w timeout] target_name
Options:
-t Ping the specified host until stopped. To see statistics and continue –
type Control-Break; To stop - type Control-C.
-a Resolve addresses to hostnames.
-n count Number of echo requests to send.
-l size Send buffer size.
-f Set Don't Fragment flag in packet.
-i TTL Time To Live.
-v TOS Type Of Service.
-r count Record route for count hops.
-s count Timestamp for count hops.
-j host-list Loose source route along host-list.
-k host-list Strict source route along host-list.
-w timeout Timeout in milliseconds to wait for each reply.
Din valoarea TTL a pachetelor de date recepționate putem intui sistemul de operare rulat pe
calculatorul destinație (Windows sau Linux).
Valorile TTL pentru diferite sisteme de operare:
- Windows 9x/NT: 32
- Cisco11: 60
- Linux, FreeBSD, OpenBSD: 64
- Windows > 2000: 128
- Cisco12: 255
- Solaris: 255
Deci serverul www.google.com rulează un sistem de operare Linux, și sunt 17 (64-17=47)
rutere între sistemul de pe care s-a rulat ping și www.google.com.
6
1.3.3. pathping
Comanda pathping este un utilitar prin intermediul căruia se transmit pachete către fiecare
ruter din calea către un anumit calculator, pentru a identifica care rutere sau legături sunt cu
probleme.
C:\>pathping
Usage: pathping [-g host-list] [-h maximum_hops] [-i address] [-n] [-p period]
[-q num_queries] [-w timeout] [-P] [-R] [-T][-4] [-6] target_name
Options:
-g host-list Loose source route along host-list.
-h maximum_hops Maximum number of hops to search for target.
-i address Use the specified source address.
-n Do not resolve addresses to hostnames.
-p period Wait period milliseconds between pings.
-q num_queries Number of queries per hop.
-w timeout Wait timeout milliseconds for each reply.
-P Test for RSVP PATH connectivity.
-R Test if each hop is RSVP aware.
-T Test connectivity to each hop with Layer-2 priority tags.
-4 Force using IPv4.
-6 Force using IPv6.
1.3.4. arp
Utilitarul arp afişează şi modifică tabela de translatare IP-to-MAC folosit de protocolul ARP
(cache-ul ARP). Această comandă se foloseşte în cazul în care două calculatoare nu se văd
între ele sau două calculatoare au aceeaşi adresă de IP.
C:\>arp /?
Displays and modifies the IP-to-Physical address translation tables used by address
resolution protocol (ARP).
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr]
7
1.3.5. netstat
netstat este comanda prin care se afişează informaţii despre protocoalele care rulează şi
conexiunile TCP/IP de pe o staţie. Dacă multe din conexiunile afişate sunt în starea SYN, se
poate bănui că este vorba despre un atac.
C:\>netstat /h
NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
Active Connections
1.3.6. tracert
8
gazdă returnează pachetul și se identifică. Prin transmiterea unei serii de pachete și creșterea
valorii TTL cu fiecare pachet succesiv, tracert află care sunt toate routerele intermediare.
C:\>tracert
Options:
-d Do not resolve addresses to hostnames.
-h maximum_hops Maximum number of hops to search for target.
-j host-list Loose source route along host-list (IPv4-only).
-w timeout Wait timeout milliseconds for each reply.
-R Trace round-trip path (IPv6-only).
-S srcaddr Source address to use (IPv6-only).
-4 Force using IPv4.
-6 Force using IPv6.
Exemplu pentru tracert, unde se poate observa succesiunea de rutere prin cate trec
pachetele până la destinație:
C:\>tracert www.google.com
Trace complete.
1.3.7. winipconfig
9
Cu ajutorul acestui utilitar se pot seta pentru o interfaţă de reţea mai multe adrese IP. Acest
lucru este util în cazul în care un server rulează mai multe servicii cu adrese IP diferite, în
cazul serverelor multi homed, când sistemul este conectat la două ISP sau în cazul
conexiunilor prin Virtual Private Network (VPN).
3. Să se studieze aplicaţia ping, folosind parametrii de configurare –t, -a, -n, -l:
- ping la adresa loopback pentru a verifica instalarea stivei de protocoale TCP/IP şi
configurarea corectă pe calculatorul local: ping 127.0.0.1
- ping la adresa IP a calculatorului local pentru a verifica că a fost asignată corect adresa IP:
ping IP_address_of_local_host
- ping la adresa IP a ruterului pentru a verifica funcţionarea ruterului:
ping IP_of_default_gateway
10
- ping la adresa IP a hostului de la distanţă pentru a verifica transmiterea datelor prin ruter.
ping IP_of_remote_host
4. Să se analizeze mesajele ICMP (request, replay) generate de comanda ping
172.21.0.5, folosind programul de monitorizare Wireshark.
Mesaj ICMP tip 8: Ping Request:
11