Strumenti di diagnostica - Dipartimento di Informatica

Transcript

Strumenti di diagnostica - Dipartimento di Informatica
Dipartimento di Informatica - Università di Verona
Laboratorio di Networking
Operating Systems
Lezione 2
Principali strumenti di
diagnostica
Master in progettazione e gestione di sistemi di rete – edizione 2004-05
Manuale
Per l’utilizzo di qualsiasi comando è fondamentale
riferirsi alla manualistica del sistema operativo in uso
Linux/Solaris: comando man
sintassi: man <sezione> <nome>
esempio: man man
esempio: man 8 tcpdump
Windows: opzione “/?” dopo il comando di cui si
vogliono informazioni, oppure ‘help’ nei comandi
interattivi
esempio: net /?
2
Lettura del traffico di rete
Operazione utile per i seguenti scopi:
Diagnostica dei problemi di rete
Verifica delle misure di sicurezza
Diagnostica nello sviluppo dei protocolli di rete
Conoscere nel dettaglio le caratteristiche dei protocolli
Generalmente occorre avere privilegi amministrativi a
livello di macchina per poter leggere il traffico sulla rete:
per motivi di sicurezza
per poter accedere alle risorse del sistema a basso
livello
3
tcpdump
tcpdump [opzioni] <filtro>
Strumento testuale per leggere il traffico di rete.
Senza parametri si limita a mostrare tutti i pacchetti che
transitano attraverso l’interfaccia di rete predefinita.
Normalemente i pacchetti sono mostrati nel formato:
time src.ip > dst.ip data
Dove data dipende dal protocollo del pacchetto.
Si possono usare delle opzioni per definire
comportamento e formati di visualizzazione dei
pacchetti
Specificare un filtro con normale sintassi booleana aiuta
a visualizzare solamente i pacchetti a cui si è interessati
4
tcpdump
Esempi di filtri
tcpdump –n host 192.168.0.100
tcpdump –ntv host 157.27.10.20 and port 80
tcpdump –ntv host 157.27.10.20 and port 67 and udp
Le opzioni hanno il seguente significato:
-n : usa indicazioni numeriche per gli hop
-t : escludi l’indicazione temporale
-v : utilizza output esteso
5
ethereal
Strumento per la visualizzazione grafica del traffico di
rete. Esiste anche una versione testuale (tethereal)
Consente la specifica di filtri su due livelli:
Filtro di cattura (capture filter) analogo a quello di
tcpdump
Filtro di visualizzazione (display filter) consente di
specificare (range di) valori per singoli campi di un gran
numero di protocolli
Le due tipologie di filtri hanno una sintassi differente !
Generalmente è preferibile a tcpdump qualora si
disponga di un ambiente grafico, perchè consente una
più complessa visualizzazione dei pacchetti e con
maggiore rapidità.
6
Ping (I)
ping [opzioni] <nome host>
Strumento per rilevare la presenza di un host nella rete.
Esegue una richiesta ECHO_REQUEST del protocollo IP
ad intervalli regolari
Fornisce anche un’indicazione della latenza della rete
nel raggiungere l’host cercato, oltre ad una statistica
sugli scambi dei pacchetti
Sono disponibili alcuni parametri di configurazione per
poter personalizzare l’azione di diagnostica
La risposta ad una richiesta può essere disabilitata per
motivi di sicurezza
7
Ping (II)
Opzioni per Linux:
-t n
Imposta il ttl per le richieste
-b
Abilita l’uso di indirizzi di broadcast
-c n
Invia n richieste ed esci
-i s
Imposta un intervallo di s secondi tra una
richiesta e l’altra
-I <iface>
Esegue le richieste dalla particolare
interfaccia di rete
-l n
Imposta a n il numero di richieste da inviare
senza attendere la risposta
8
Ping (III)
Esempio
Linux:
ping 157.27.242.32
Windows:
ping –t 157.27.242.32
Solaris:
ping –s 157.27.242.32
Output:
Risposta da 157.27.242.32: byte=32 durata<10ms TTL=128
Risposta da 157.27.242.32: byte=32 durata<10ms TTL=128
Risposta da 157.27.242.32: byte=32 durata<10ms TTL=128
Risposta da 157.27.242.32: byte=32 durata<10ms TTL=128
Risposta da 157.27.242.32: byte=32 durata<10ms TTL=128
Statistiche Ping per 157.27.242.32:
Pacchetti: Trasmessi = 54, Ricevuti = 54, Persi = 0 (0% persi),
Tempo approssimativo percorsi andata/ritorno in millisecondi:
Minimo = 0ms, Massimo =
0ms, Medio =
0ms
9
traceroute:
traceroute [opts] <nome host>
Utilizzando un valore per il TTL (Time to live)
incrementale riesce ad individuare il percorso per
raggiungere una macchina in rete
Generalmente si usa per capire dove la rete risulta
interrotta
Grazie a questo strumento si riescono ad individuare
degli aspetti sulla topologia delle reti, anche se possono
esserci delle difficoltà dovute alla configurazione dei
router ed alla presenza di firewall
10
netstat
netstat [opzioni]
Visualizza informazioni relative al sottosistema di rete di
un sistema. In base alle opzioni mostra informazioni
diverse:
(nessuna opzione): informazioni sui socket aperti
--route: informazioni sulla tabella di routing
--groups: gruppi di multicast
--interface: informazioni sulle interfacce di rete
--masquerade: mostra connessioni mascherate
--statistics: mostra statistiche relative ai protocolli
11
netstat
Esempio:
netstat -an
C:\> netstat -an
Connessioni attive
Proto
TCP
TCP
TCP
TCP
TCP
TCP
…
TCP
TCP
TCP
TCP
TCP
…
Indirizzo locale
0.0.0.0:7
0.0.0.0:9
0.0.0.0:13
0.0.0.0:17
0.0.0.0:19
0.0.0.0:135
Indirizzo remoto
Stato
0.0.0.0:0
LISTENING
0.0.0.0:0
LISTENING
0.0.0.0:0
LISTENING
0.0.0.0:0
LISTENING
0.0.0.0:0
LISTENING
0.0.0.0:0
LISTENING
127.0.0.1:445
127.0.0.1:1501
ESTABLISHED
127.0.0.1:1501
127.0.0.1:445
ESTABLISHED
127.0.0.1:2786
0.0.0.0:0
LISTENING
157.27.242.134:4119 207.44.186.92:80
CLOSE_WAIT
157.27.242.134:4127 207.44.186.92:80
CLOSE_WAIT
12
nslookup
Strumento per fare ricerche sui server di risoluzione dei
nomi (DNS).
Ha due modalità di funzionamento:
interattiva: utile per fare operazioni di ricerca e
diagnostica complesse
non-interattiva: per fare ricerche mirate
E’ utile nella risoluzione di problemi di DNS, soprattutto
attivando l’opzione di debug (-d)
La risposta è composta di quattro sezioni: 1. Question,
2. Answer, 3. Authority, 4. Additional
13
nslookup
In modo predefinito si ricercano i record di tipo A e PTR
Eventualmente è fornito anche il record CNAME, cioè il
nome canonico dell’indirizzo qualora si stia facendo una
richiesta con un alias
E’ anche possibile richiedere dei record di dominio
come NS e MX
Es: nslookup –querytype=MX sci.univr.it
E’ considerato obsoleto per bug noti e mai fissati,
diversi nei differenti sistemi operativi. In pratica però è
utilizzato perchè disponibile nativamente ovunque.
14
host
Utilizzabile per le ricerche sui DNS in alternativa a
nslookup. E’ più stabile ed affidabile, ma non è sempre
disponibile.
Esempi:
host 157.27.241.15
host -a www.sci.univr.it ns1.dnsitalia.net
host -t MX sci.univr.it
dove l’opzione –a indica di fornire il maggior numero di
informazioni, mentre –t il tipo di richiesta (MX = mail
exchanger)
15
telnet
telnet <server> [<port>]
Strumento di comando remoto ormai obsoleto per lo
scopo per cui è stato creato. Risulta però molto utile per
operazioni di diagnosi e test.
Si connette al server ed invia stringhe di caratteri
inseriti dall’utente. E’ usato per servizi che
implementano un protocollo basato su richieste e
risposte testuali (es. http, pop, smtp …)
Ha i seguenti vantaggi:
Di rapido utilizzo perchè è disponibile ovunque, soprattuto
nei client
Permette di individuare problemi relativi anche al client e di
escludere problemi di connessione dovuti a restrizioni di
sicurezza o malfunzionamenti della rete
16
nmap
nmap <scan type> [options] <host/network>
Strumento versatile per l’analisi della rete.
Le sue potenzialità cambiano in base ai privilegi dell’utente che lo
usa .
E’ in grado di effettuare molti tipi di scansioni in base agli scopi di
impiego:
Mappatura della rete
Macchine attive e relativo sistema operativo
Porte aperte in una macchina e servizi disponibili
Robustezza di misure di sicurezza
Le informazioni che si ottengono sono frutto di analisi dirette e
deduzioni più o meno esplicite su strategie di scansioni ad hoc
Ha le caratteristiche di uno strumeto per hackers piuttosto che per
sistemisti.
17