Network Utilities for Dummies Cenni sul TCP/IP Questa sigla che molti dei lettori conosceranno indica il protocollo che e' alla base del funzionamento di Internet e di moltissime reti locali; in realta' non si tratta di un solo protocollo, ma di due, che consentono in sostanza a un computer di essere rintracciabile nell'ambito della rete e di scambiare flussi (stream) di dati con altri computer. In realta' i protocolli TCP e IP sono solo una parte di un complesso di protocolli che vanno dal livello piu' basso, in cui si specificano i parametri elettrici e in generale fisici dei mezzi di trasmissione, a quello piu' alto che definisce il modo in cui le funzionalita' di rete sono presentate dall'applicazione all'utente. Questo complesso si chiama OSI (Open Systems Interconnection), e in pratica ognuno dei protocolli che lo costituisce si appoggia al precedente, formando una pila, o stack, ed ecco perche', parlando dell'implementazione delle funzionalita' di rete nei nostri computer, si parla di "stack TCP/IP". Il protocollo, dei due, di livello piu' basso, e' l'IP, o Internet Protocol. Esso si colloca al terzo livello nella gerarchia OSI, detto livello di rete, e come gli altri protocolli incapsula i dati che trasporta con delle informazioni supplementari che consentono la comunicazione fra computer. Di tali informazioni, quella che interessa in questa sede e' il cosiddetto Indirizzo IP, che e' quel famoso numero diviso in quattro parti che sara' capitato di vedere, per esempio, nella barra di stato del nostro browser. L'indirizzo IP e' un numero di 32 bit che viene assegnato al computer in maniera tale che questo sia l'unico nella rete con quell'indirizzo e identifichi il computer stesso. Al di sopra del protocollo IP ci sono due protocolli, che sono il TCP e l'UDP. Il primo, detto Circuito Virtuale, e' il piu' famoso, ed e' usato per molti dei servizi di rete piu' usati, come l'HTTP (pagine web), l'NNTP (news) e il POP3 (posta); esso fa si' che i due computer che dialogano vedano un flusso ordinato di dati, come se la comunicazione avvenisse direttamente, tranne ovviamente i ritardi dovuti alla trasmissione. E' il protocollo che si occupa della gestione degli errori, delle ritrasmissioni, dei pacchetti persi o duplicati, e il programma destinatario riceve i dati nello stesso ordine in cui il mittente li ha mandati. Il protocollo UDP detto anche Datagram e' invece privo di queste funzionalita', e' piu' semplice ma anche piu' insicuro; in particolare non garantisce l'ordine di arrivo dei pacchetti e nemmeno che arrivino. I programmi di rete a riga di comando Tutti i sistemi operativi con funzionalita' di rete, fra cui le varie versioni di Windows e di Unix, mettono a disposizione dei programmi per testare lo stato di particolari aspetti della rete, o di singole macchine ad essa collegate. Questi programmi sono a riga di comando, il che significa che per utilizzarli bisogna aprire una shell e digitare il nome del programma seguito da eventuali parametri. In Windows 9x o NT "aprire una shell" significa cliccare su Avvio (o Start), e scegliere Programmi -> Prompt di MS-DOS; in alternativa, Avvio (o Start) -> Esegui... e scrivere "command.com" seguito dal tasto Enter. In Unix, se si e' in ambiente grafico X-Window, bisogna aprire una console, mentre se siamo in ambiente a riga di comando possiamo lanciare i programmi direttamente (al limite passando a un'altro terminale virtuale con ALT+). I suddetti programmi di rete sono principalmente tre: ping, traceroute e netstat. Nel seguito vedremo brevemente ognuno di questi tre. Ping: Ci sei o no? Il comando ping serve principalmente a vedere se una certa macchina di rete e' attiva oppure no, ed ha la seguente forma: C:\WINDOWS>ping /? Sintassi: ping [-t] [-a] [-n numero] [-l lunghezza] [-f] [-i TTL] [-v TOS] [-r numero] [-s numero] [[-j elenco-host] | [-k elenco-host]] [-w timeout] elenco-destinazioni Opzioni: -t Esegue Ping sull'host specificato finché non viene interrotto. Per vedere le statistiche e continuare, premere Control-Inter; per interrompere, premere Control-C. -a Risolve gli indirizzi in nomi host. -n numero Invia numero di richieste di eco. -l lunghezza Invia dimensione buffer. -f Imposta il flag Non frammentare nel pacchetto. -i TTL Vita pacchetto. -v TOS Tipo di servizio. -r count Registra route per il conteggio dei punti di passaggio. -s count Marca orario per il conteggio dei punti di passaggio. -j elenco-host Instradamento libero lungo l'elenco host. -k elenco-host Instradamento ristretto lungo l'elenco host. -w timeout Timeout in millisecondi per ogni risposta. C:\WINDOWS> Come si puo' vedere, i parametri accessori sono diversi; i piu' importanti sono il primo e l'ultimo, che specificano rispettivamente di continuare indefinitamente e di aspettare la risposta al massimo fino al tempo specificato. E' importante anche il -r, che permette di misurare quanti passaggi intermedi bisogna attraversare per raggiungere il computer specificato. Vediamo un esempio che funziona sicuramente, qualunque sia il computer da cui trasmettiamo: C:\WINDOWS>ping 127.0.0.1 Esecuzione di Ping 127.0.0.1 con 32 byte di dati: Risposta da 127.0.0.1: byte=32 durata<10ms TTL=64 Risposta da 127.0.0.1: byte=32 durata<10ms TTL=64 Risposta da 127.0.0.1: byte=32 durata<10ms TTL=64 Risposta da 127.0.0.1: byte=32 durata<10ms TTL=64 Statistiche Ping per 127.0.0.1: Pacchetti: Trasmessi = 4, Ricevuti = 4, Persi = 0 (0% persi), Tempo approssimativo percorsi andata/ritorno in millisecondi: Minimo = 0ms, Massimo = 0ms, Medio = 0ms C:\WINDOWS> Come forse saprete, 127.0.0.1 e' un indirizzo IP speciale, che indica sempre la macchina locale, infatti un'alias predefinito per questo indirizzo e' localhost: C:\WINDOWS>ping localhost Esecuzione di Ping bejor [127.0.0.1] con 32 byte di dati: Risposta da 127.0.0.1: byte=32 durata=1ms TTL=64 Risposta da 127.0.0.1: byte=32 durata<10ms TTL=64 Risposta da 127.0.0.1: byte=32 durata<10ms TTL=64 Risposta da 127.0.0.1: byte=32 durata<10ms TTL=64 Statistiche Ping per 127.0.0.1: Pacchetti: Trasmessi = 4, Ricevuti = 4, Persi = 0 (0% persi), Tempo approssimativo percorsi andata/ritorno in millisecondi: Minimo = 0ms, Massimo = 1ms, Medio = 0ms C:\WINDOWS> Come si puo' vedere, se si utilizza un nome alfanumerico invece di un indirizzo IP, ping risponde evidenziando il vero nome della macchina pingata (nell'esempio, bejor e' il nome che ho dato al mio computer) e fra parentesi quadre l'indirizzo IP. Ping invia alla macchina destinazione 4 pacchetti da 32 byte ciascuno, e per ciascuno di essi riporta delle statistiche: in particolare, il numero di byte spediti, il tempo impiegato e il Tempo di Vita dei pacchetti stessi. Infine, vengono mostrate le statistiche cumulative della sessione, cioe' la percentuale delle trasmissioni andate a buon fine e i tempi di andata/ritorno impiegati. Nel caso si pinghi la macchina locale tali valori sono poco significativi, per cui e' interessante vedere cosa dice il ping nel caso lo si testi su una macchina remota: C:\WINDOWS>ping volftp.tin.it Esecuzione di Ping cam.ca.tin.it [195.31.191.10] con 32 byte di dati: Richiesta scaduta. Risposta da 195.31.191.10: byte=32 durata=940ms TTL=246 Risposta da 195.31.191.10: byte=32 durata=626ms TTL=246 Risposta da 195.31.191.10: byte=32 durata=471ms TTL=246 Statistiche Ping per 195.31.191.10: Pacchetti: Trasmessi = 4, Ricevuti = 3, Persi = 1 (25% persi), Tempo approssimativo percorsi andata/ritorno in millisecondi: Minimo = 471ms, Massimo = 940ms, Medio = 509ms C:\WINDOWS> Quella sera il server di VolFTP doveva essere abbastanza carico, dato che, dei 4 pacchetti "sonda", uno e' andato perso, cioe' la relativa risposta non e' mai arrivata, mentre le altre tre risposte sono arrivate dopo un tempo relativamente lungo... la prima addirittura dopo "ben" quasi un secondo. Come la statistica riepilogativa riporta, il tempo medio di risposta dal computer pingato, in quel momento, era di circa mezzo secondo. Vediamo invece cosa succede nel caso in cui la macchina pingata non risponda: C:\WINDOWS>ping cardassia Esecuzione di Ping cardassia [212.42.11.154] con 32 byte di dati: Host di destinazione irraggiungibile. Host di destinazione irraggiungibile. Host di destinazione irraggiungibile. Host di destinazione irraggiungibile. Statistiche Ping per 212.42.11.154: Pacchetti: Trasmessi = 4, Ricevuti = 0, Persi = 4 (100% persi), Tempo approssimativo percorsi andata/ritorno in millisecondi: Minimo = 0ms, Massimo = 0ms, Medio = 0ms C:\WINDOWS> Per questo esempio, ho modificato il mio file C:\Windows\hosts associando al nome cardassia l'indirizzo IP 212.42.11.154, totalmente inventato. Non essendoci una macchina con quel nome e quell'indirizzo collegata al mio computer, ping ha risposto col messaggio "Host di destinazione irraggiungibile." e riportando la perdita di tutti e 4 i pacchetti inviati (che si sono persi nell'iperspazio, dato che il mio computer non ha per ora schede di rete attaccate e in quel momento non ero connesso a Internet). Nel caso in cui si ottenga una risposta del genere, pero', non e' detto che la macchina destinazione sia spenta e/o scollegata dalla rete. Dal momento che il ping puo' essere usato per sferrare degli attacchi contro un computer in rete, una macchina puo' essere programmata per ignorare i ping ad essa diretti, e in tal caso l'output di ping sarebbe del tipo di quello mostrato sopra anche se la macchina remota e' funzionante e collegata alla rete. Ricordo infine che quello descritto e' il ping come funziona sul mio sistema Windows 95a con Winsock 2.2 e Accesso Remoto 1.3; con altre versioni e/o altri sistemi operativi il funzionamento o le opzioni possono differire (per esempio, sotto Unix l'invio dei pacchetti continua finche' non si termina il programma). Il DNS: dimmi come ti chiami e ti diro' che numero hai Si e' parlato sopra di alias e nomi alfanumerici, oltre che di indirizzi IP. E' utile a questo punto chiarire alcune cose a questo proposito. Anzitutto, i programmi che usiamo per la posta, il web, l'ftp e qualunque altro servizio di rete, e le implementazioni dei protocolli nei vari sistemi operativi, usano e capiscono esclusivamente gli indirizzi IP numerici di 4 byte. I nomi alfanumerici, o Alias, del tipo volftp.tin.it, invece, sono stati introdotti per facilitare l'uso dei suddetti programmi (si pensi alla scomodita' di dover ricordare o trascrivere un indirizzo di diverse cifre, rispetto alla facilita' di ricordare un nome di computer come quello arcinoto appena menzionato). E' stato quindi necessario introdurre un servizio di rete che permettesse, dato un nome alfanumerico di computer, di risalire all'indirizzo IP; tale servizio si chiama DNS (Domain Name Service), ed e' svolto da macchine che contengono dei database in cui a un nome alfanumerico viene associato un indirizzo IP. Nei sistemi Unix e Windows esiste un file "hosts" nella directory di sistema, che contiene delle righe del tipo: 127.0.0.1 localhost 212.42.11.154 cardassia.pippo.net 212.42.11.154 miocomputer.pippo.it [eccetera...] Come si vede, e' possibile associare lo stesso indirizzo IP a diversi nomi alfanumerici. Le macchine che forniscono il servizio DNS cooperano fra loro, dato che non e' possibile mettere tutto il database dei nomi in un solo computer, sia per la dimensione che per la variabilita'; nel caso di una rete aziendale la cosa sarebbe fattibile, ma Internet copre tutto il pianeta... In ogni caso, e' grazie a questo servizio che e' possibile evitare di scrivere il numero IP nella riga di indirizzo del browser, cosa che diventa invece indispensabile se il DNS del nostro provider e' temporaneamente fuori uso (succede...). In casi del genere, infatti, la rete e' perfettamente funzionante, ma qualunque nome da noi inserito risulterebbe inesistente per il client che usiamo, dato che non c'e' il server DNS che lo traduce. Traceroute: Come si arriva a un computer remoto Traceroute ("Traccia la Rotta") e' un programma che serve a determinare quale percorso segue un collegamento dal nostro computer a una qualunque altra macchina della rete. Vediamo i suoi parametri: C:\WINDOWS>tracert -? Sintassi: tracert [-d] [-h max_salti] [-j elenco-host] [-w timeout] nome_destinazione Opzioni: -d Non risolve gli indirizzi in nome host. -h max_salti Numero massimo di punti di passaggio per ricercare la destinazione. -j elenco-host Instradamento libero lungo l'elenco host. -w timeout Timeout in millisecondi per ogni risposta. C:\WINDOWS> Il nome del computer destinazione e' l'unico parametro obbligatorio. Come si puo' vedere, e' possibile specificare anche un numero massimo di tappe intermedie, una lista di macchine intermedie per cui si deve obbligatoriamente passare, e un tempo massimo di risposta. Da notare che i parametri accettati possono variare in funzione della versione del programma e del sistema operativo in cui ci troviamo. Proviamo per esempio a vedere che distanza ci separa da un server fra i piu' noti e richiesti, cioe' quello di VolFTP. Apriamo una shell (Prompt DOS se sotto Windows, bash, csh o qualunque altra se sotto Unix), e scriviamo: C:\WINDOWS>tracert volftp.tin.it Rilevazione instradamento verso cam.ca.tin.it [195.31.191.10] su un massimo di 30 punti di passaggio: 1 1787 ms 2211 ms 1721 ms pppsrv05.stm.it [195.62.32.50] 2 2610 ms 1326 ms 1348 ms world.stm.it [195.62.32.11] 3 3098 ms 2099 ms 1729 ms eth0-ibs-gw.stm.it [195.62.34.2] 4 1976 ms 3040 ms 2394 ms r-rm2-torreargentina.interbusiness.it [151.99.9. 181] 5 * * * Richiesta scaduta. 6 * * * Richiesta scaduta. 7 2555 ms 1736 ms 3118 ms r-mi5-rm5-atm.interbusiness.it [151.99.101.1] 8 * * 3029 ms r-mi6-fa2.interbusiness.it [151.99.100.37] 9 2221 ms 2606 ms * r-tin-mi6-atm.interbusiness.it [151.99.107.134] 10 * * * Richiesta scaduta. 11 * * * Richiesta scaduta. 12 * * 1753 ms cam.ca.tin.it [195.31.191.10] Rilevazione completata. C:\WINDOWS> NOTA: Sotto Unix il comando non e' tracert ma traceroute. Come si puo' vedere dal messaggio introduttivo, il comando traceroute riesce a rintracciare un computer remoto se questo non e' separato dal nostro da piu' di trenta tappe intermedie (questi "punti di passaggio" in termine tecnico sono detti Hops o "salti"). Il messaggio introduttivo ci dice anche che volftp.tin.it si chiama in realta' cam.ca.tin.it e che il suo indirizzo IP e' 195.31.191.10. Di seguito il programma mostra il percorso completo che separa il computer da cui viene eseguito traceroute dal computer che si vuole tracciare. Il primo elemento della lista e' il POP a cui siamo collegati, nel caso di un collegamento tramite provider: l'esempio sopra si riferisce a un traceroute verso volftp.tin.it lanciato dal mio computer di casa (il mio provider e' Agora' Telematica). Il POP a cui ero collegato era pppsrv05.stm.it, e per arrivare da quest'ultima macchina a cam.ca.tin.it sono stati compiuti altri 11 passaggi. I numeri sulle tre colonne di sinistra indicano il tempo in millisecondi trascorso in attesa della risposta del server a cui la riga si riferisce, e l'asterisco significa che la risposta non e' arrivata entro il tempo massimo di attesa. Dal valore dei tempi di risposta si puo' intuire la bonta' del collegamento verso l'host destinazione: nell'esempio sopra riportato, lo stato del collegamento e' pessimo (addirittura tempi sopra i 3 secondi), e quindi si puo' supporre che, per esempio, un download da VolFTP in quel momento andrebbe assai lento. In alcuni casi nessuna delle tre risposte e' arrivata, per cui traceroute mostra il messaggio "Richiesta scaduta." invece del nome del server. In generale, piu' bassi sono i tempi delle tre colonne di sinistra e migliore e' la qualita' del collegamento verso la macchina destinazione. Qual e' l'utilita' di questo programma? Per esempio, se notiamo che il collegamento verso un sito web o ftp (o qualunque altro servizio) e' lento, possiamo usare traceroute per vedere il percorso seguito dai pacchetti, e in base all'output di traceroute e' possibile capire se il problema dipende dal nostro provider, dalla macchina destinazione, da una macchina intermedia o da un tratto di linea fisica che unisce due di queste. Oppure, se dobbiamo scaricare un file piuttosto pesante e conosciamo almeno 2 siti ftp che lo contengono, con traceroute possiamo stabilire da quale sito conviene effettuare il download. Netstat: chi c'e' in ascolto? L'ultimo programma di rete che esamineremo si chiama netstat, che ha i seguenti argomenti: C:\WINDOWS>netstat /? Visualizza statistiche su protocollo e connessioni di rete TCP/IP correnti. NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [intervallo] -a Visualizza tutte le connessioni e le porte di ascolto. -e Visualizza le statistiche Ethernet. L'opzione può essere associata all'opzione -s. -n Visualizza gli indirizzi e i numeri di porta in forma numerica. -p proto Visualizza connessioni del protocollo specificato da 'proto'; 'proto' può essere TCP o UDP. Se usato con l'opzione -s per le statistiche, 'proto' può essere TCP, UDP, o IP. -r Visualizza la tabella di routing. -s Visualizza le statistiche per protocollo. Per impostazione predefinita, le statistiche sono visualizzate per TCP, UDP e IP; l'opzione -p può essere utilizzata per specificare un sottoinsieme dell'impostazione predefinita. intervallo Rivisualizza le statistiche selezionate, interrompendo per un numero di secondi pari a "intervallo" tra ogni visualizzazione. Premere Control-C per fermare la visualizzazion e delle statistiche. Se omesso, netstat stamperà le informazioni di configurazione correnti una sola volta. C:\WINDOWS> Il significato dei parametri opzionali e' ben spiegato nell'help in linea. Vediamo un primissimo esempio: C:\WINDOWS>netstat -na Connessioni attive Proto Indirizzo locale Indirizzo remoto Stato C:\WINDOWS> Questo e' quel che dovrebbe apparire eseguendo netstat su un computer senza servizi di rete installati e senza collegamenti attivi, cioe' nulla. Se invece, sotto tali condizioni, netstat mostra delle connessioni in ascolto, e' il caso di rivedere la configurazione del sistema e/o di cercare bene la presenza di programmi di amministrazione/intrusione remota, come i famigerati NetBus o Back Orifice. Vediamo ora alcune statistiche che e' possibile ottenere con netstat. C:\WINDOWS>netstat -na Connessioni attive Proto Indirizzo locale Indirizzo remoto Stato TCP 0.0.0.0:0 0.0.0.0:0 LISTENING TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING TCP 0.0.0.0:1028 0.0.0.0:0 LISTENING TCP 0.0.0.0:1035 0.0.0.0:0 LISTENING TCP 0.0.0.0:1036 0.0.0.0:0 LISTENING TCP 0.0.0.0:1037 0.0.0.0:0 LISTENING TCP 0.0.0.0:1038 0.0.0.0:0 LISTENING TCP 195.62.37.17:1026 195.62.32.254:119 ESTABLISHED TCP 195.62.37.17:1028 195.62.32.254:119 ESTABLISHED TCP 195.62.37.17:1035 194.133.0.17:80 CLOSE_WAIT TCP 195.62.37.17:1036 194.133.0.17:80 CLOSE_WAIT TCP 195.62.37.17:1037 194.133.0.17:80 CLOSE_WAIT TCP 195.62.37.17:1038 194.133.0.17:80 CLOSE_WAIT C:\WINDOWS> Qui ho chiesto a netstat di mostrare tutte le connessioni attive usando gli indirizzi numerici per la macchina locale e quella remota. Omettendo l'opzione "n" avremmo ottenuto i nomi alfanumerici sia per i computer che per le porte (i numeri dopo il ":"), cosa che avrebbe reso un po' piu' lunga l'esecuzione di netstat a causa delle necessarie richieste al DNS. Tralasciando le righe con indirizzi 0.0.0.0, il significato di questo output e' che nel momento in cui netstat e' stato eseguito c'erano in corso due connessioni al server di news (porta 119 remota), mentre erano in fase di chiusura 4 connessioni a un sito web (porta 80 remota). Se le righe di netstat usato con queste opzioni terminano con ESTABLISHED, denotano una connessione attiva, su cui stanno viaggiando dati; LISTENING indica un demone, detto anche server, che e' in attesa di connessioni su una determinata porta, mentre CLOSE_WAIT e TIME_WAIT indicano una connessione in via di chiusura, in diverse fasi del procedimento. Da notare che su un computer domestico, in condizioni normali, non dovrebbero esserci righe che terminano con LISTENING. Un'eccezione e' costituita da macchine su cui e' installato e in esecuzione il famigerato Personal Web Server (TM) di Microsoft, che permette di gestire un sito web "casalingo" e come tutti i server web si mette in ascolto sulla porta 80. Piu' grave e' il caso in cui "qualcosa" risulti in ascolto su porte oltre la 1023, in particolare su numeri molto alti (per esempio 31337 o 12345). In questi casi, occorre controllare che non ci siano intrusi nel sistema, soprattutto se non si ha ICQ, altro programma che ascolta su porte alte. Per quel che riguarda le porte, sia Windows che Unix hanno nella directory di sistema un file di nome "services" che contiene la mappatura dei servizi standard, come il web, la posta e le news (e molti altri), situati su porte <1024. C:\WINDOWS>netstat -es Statistiche interfaccia Ricevuti Trasmessi Byte 349919 56810 Pacchetti unicast 881 769 Pacchetti non-unicast 10 10 Scarto 0 0 Errori 0 0 Protocolli sconosciuti 23 Statistiche IP Pacchetti ricevuti = 882 Errori di intestazione ricevuti = 0 Errori di indirizzo ricevuti = 5 Datagrammi inoltrati = 0 Protocolli sconosciuti ricevuti = 0 Pacchetti ricevuti scartati = 0 Pacchetti ricevuti consegnati = 882 Richieste di output = 774 Routing scartati = 0 Pacchetti di output scartati = 0 Pacchetti output senza route = 0 Richieste di riassemblaggio = 0 Riassemblaggi riusciti = 0 Errori di riassemblaggio = 0 Datagrammi frammentati = 0 Errori frammentazione datagrammi = 0 Frammenti creati = 0 Statistiche ICMP Ricevuti Trasmessi Messaggi 23 23 Errori 0 0 Desti. irraggiungibile 0 0 Tempo scaduto 0 0 Problemi di parametro 0 0 Quench sorgente 0 0 Reindirizzamenti 0 0 Echo 8 12 Risposte echo 12 8 Marcature orario 0 0 Risposte marcatura orario 0 0 Mask indirizzo 0 0 Risposte mask indirizzo 0 0 Statistiche TCP Aperture attive = 10 Aperture passive = 0 Tentativi connessione non riusciti = 0 Connessioni reimpostate = 4 Connessioni correnti = 6 Segmenti ricevuti = 852 Segmenti trasmessi = 725 Segmenti ritrasmessi = 19 Statistiche UDP Datagrammi Ricevuti = 5 Nessuna porta = 15 Errori in ricezione = 0 Datagrammi trasmessi = 5 C:\WINDOWS> Le opzioni "e" ed "s" forniscono delle statistiche riassuntive sulla connessione in generale, e le denominazioni dei vari valori sono abbastanza esplicative. Esaminando questo output si puo' capire la bonta' della nostra connessione e della nostra linea. C:\WINDOWS>netstat -r Tabella di Route Route attive: Indirizzo rete Maschera Indirizzo gateway Interfac. Metric 0.0.0.0 0.0.0.0 195.62.38.6 195.62.38.6 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 195.62.38.0 255.255.255.0 195.62.38.6 195.62.38.6 1 195.62.38.6 255.255.255.255 127.0.0.1 127.0.0.1 1 195.62.38.255 255.255.255.255 195.62.38.6 195.62.38.6 1 224.0.0.0 224.0.0.0 195.62.38.6 195.62.38.6 1 255.255.255.255 255.255.255.255 195.62.38.6 195.62.38.6 1 Connessioni attive Proto Indirizzo locale Indirizzo remoto Stato TCP bejor:1026 news.stm.it:nntp ESTABLISHED TCP bejor:1028 news.stm.it:nntp ESTABLISHED C:\WINDOWS> Infine, l'ultimo output esaminato ci permette di avere una "mappa stradale" della rete nei dintorni del nostro computer. La seconda riga e' relativa all'indirizzo locale, mentre le successive danno indicazioni su come il nostro computer riesce ad andare in rete, cioe' su quale macchina funge da "cancello" (gateway) verso la rete. Conclusioni Questa piccola rassegna non pretende di esaurire l'argomento, per il quale occorrerebbe un'intera enciclopedia, ma e' un punto di partenza che la curiosita' personale puo' eventualmente approfondire. Segnalate pure errori o imprecisioni, il mio indirizzo web e' in fondo all'articolo. Per chi mastica l'inglese, una raccolta utile di documenti in cui vengono esposti i vari servizi della rete, fra cui quelli citati qui, e' costituita dalle RFC, file di testo che contengono i dettagli dei vari protocolli e i comandi che ognuno di essi accetta... scoprite per esempio come si puo' leggere la posta da un terminale carattere (come il Prompt MS-DOS) facendo telnet sulla porta 110. Ciaociao. :-))) e-mail: M.Baldinelli@agora.stm.it home page di Security FAQ: http://members.xoom.com/gouldukat/