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