Strumenti
|
Ci sono
parecchi strumenti di controllo e di verifica sulla rete. Per esempio
puoi controllare lo stato della rete, puoi controllare se un host e'
attivo oppure no, puoi controllare le informazioni riguardo un
qualsiasi dominio registrato, riguardo un untente registrato e cosi'
via. Vediamo questi strumenti.
Prima di parlare di WHOIS, devi sapere qualcosa sul
sistema di nomi di dominio. Ok, prima di tutto devi sapere che ogni
macchina sulla rete ha il proprio indirizzo per essere identificata e
raggiunta da un' altra macchina. Quell' indirizzo e' chiamato
indirizzo IP (Internet Protocol). L' indirizzo IP e' qualcosa di
questo tipo: 123.123.123.123. In altre parole un insieme di 4 numeri
separati da punti. Qualsiasi computer e' raggiungibile tramite l'
indirizzo IP. Il problema principale e': non e' facile ed agevole
ricordare gli indirizzi IP, percio' si rende necessario un sistema
alternativo. Per questa ragione gli indirizzi IP sono tradotti in
stringhe di testo piu' comprensibili, come cs.yale.edu o sun.com. Per
esempio, cs.yale.edu significa: Computer-Science.YALE.EDUcational
o, in altre parole, il dipartimento di scienza dell' informazione
dell' universita' di Yale. Durante il periodo di ARPANET esisteva
solamente un file di testo chiamato 'host.txt', dove erano elencati
tutti gli indirizzi IP (con i corrispondenti nomi). La notte tutti i
computer collegati alla rete recuperavano quel file dal sito dove era
custodito. A poco a poco il numero di host collegati aumento', e le
dimensioni di quel file divennero eccessive, e ci si rese conto che
tale sistema era inefficiente. Per questa ragione venne inventato il
DNS (Domain Name System). Il Domain Name System (definito nelle RFC
1034 e 1035) e' una struttura gerarchica basata sui domini. In base al
Domain Name System, Internet e' divisa in parecchi pezzi chiamati
domini. Ci sono i domini di livello piu' alto (primo livello) e ci
sono i sottodomini (secondo livello). Ogni dominio comprende parecchi
host. Ci sono 2 tipi di domini di primo livello: quelli generici e
quelli relativi alle nazioni. I domini generici sono com
(commerciali), edu (istituizioni che si occupano di istruzione), gov
(il governo degli stati uniti), int (istituzioni internazionali), mil
(istituzioni militari), net (istituzioni che si occupano di reti) ed
org (organizzazioni senza fine di lucro). I domini di nazione sono uno
per ciascun paese (per esempio UK sta per United Kingdom, CA sta per
Canada, AU sta per Australia e cosi' via) come definiti nel documento
ISO 3166. Ciascun dominio di livello piu' alto e' diviso in parecchi
sottodomini. Per esempio il dominio edu comprende tutte le istituzioni
che hanno a che fare con l' istruzione, e deve conoscere tutte le
universita' (Yale, Utah, Ucla e cosi' via). In altre parole ogni
dominio controlla il proprio sottodominio (per esempio UK e JP hanno 2
sottodomini caratteristici: AC e CO che significano rispettivamente ACademic
e COmmercial). Ciascun dominio ha un
particolare computer chiamato DNS (Domain Name Server). Non
confonderti tra 'system' e 'server'. Questo server mantiene una
tabella contenente tutti gli indirizzi IP ed i nomi di dominio che
appartengono al dominio al quale tale server fa parte. Ok, ora sai
qualcosina in piu' sul meccanismo dei domini (e di conseguenza sugli
URL). Bene, esite un' organizzazione che gestisce una banca dati
contenente tutti i domini registrati di tutto il mondo. Tale
organizzazione si chiama INTERNIC. Puoi interrogare il suo database
tramite WHOIS. Ci sono parecchie organizzazioni che gestiscono un loro
database whois, ma quello di Internic e' il database principale. In
altre parole qualsiasi societa' od istituzione che vuole avere un
proprio dominio, deve registrarsi presso l' Internic. Se vuoi provare
questo servizio dai un' occhiata a: http://ds.internic.com/
oppure a: http://rs.internic.com/.
Comunque ci sono molti server whois, per esempio esite un database
europeo presso il RIPE (Reseaux IP Europeans, Amsterdam), puoi
trovarlo qui: http://whois.ripe.net/.
Come ho detto, ci sono molte organizzazioni che gestiscono il proprio
database. Per questa ragione se stai cercando informazioni su James
Kirk, potresti trovare parecchio interrogando il database Internic ma
potresti anche non trovare nulla. Infatti la societa' xyz potrebbe
avere un proprio database e tu potresti trovare James Kirk solo li'.
Puoi usare il comando whois via telnet (collegandoti ad un host che
offre questo servizio) oppure interrogando il database whois dell'
Internic via web o anche via e-mail, inviando una email a mailserv@ds.internic.net
(devi solo mettere la tua interrogazione nel corpo del messaggio, per
esempio: whois James Kirk. Se invii una e-mail con 'whois help' come
testo, riceverai un elenco dei comandi consentiti). Puoi ricercare
informazioni che riguardano domini, host, reti, nomi ed indirizzi di
posta. Devi specificare una parola chiave: do
(dominio), ho (host), ne
(rete), pe (nome), user_name@
o @host_name (indirizzo di posta). Se
stai usando telnet ricorda che di solito il server whois ascolta la
porta numero 43. Per esempio, supponi di
voler interrogare il database whois della univerisita' dell' Indiana.
Devi collegarti al suo server whois via telnet: telnet indiana.edu 43 Infine puoi usare un client per interrogare un
database whois. Un ottimo programma freeware e' 'Cyberkit' di Luc
Neijens. Lo trovi qui: http://www.ping.be/cyberkit/index.html. FINGER ti permette di ottenere informazioni relative
alle persone o agli host. Puoi usare FINGER via telnet, via web, via
email o, ovviamente, semplicemente digitando 'finger' se stai usando
un sistema Unix. Puoi digitare: finger nomer_utente o finger indirizzo_email.
Se vuoi usare una interfaccia web, puoi provare qui: http://www.ecl.wustl.edu/bin/share/finger.
Se vuoi usare il comando finger via e-mail, puoi inviare un messaggio
all' indirizzo: b.liddicott@ic.ac.uk
con '#finger qualcosa' nel campo subject. Puoi usare anche 'Cyberkit'. Ping e' utile per testare, misurare e gestire le reti.
Ping invia un pacchetto ed aspetta che 'torni indietro'. Ping e' usato
dagli amministratori di rete per diagnosticare i problemi sulle reti.
Percio' se non sei un amministratore di reti, non dovresti usarlo.
Comunque ping e' utile per verificare se un host e' attivo. Di solito
ping invia 3 pacchetti. Se vuoi provarlo hai varie possibilita': se
usi Windows95, apri una finestra MS-Dos (Avvio/Programmi/prompt MS-DOS)
poi digita 'ping nomet_host' (dove nome_host e' il nome dell'
host che vuoi controllare). Se digiti 'ping' senza altri parametri,
otterrai qualcosa di questo tipo: C:\WINDOWS>ping Prima di tutto devi sapere che tutti i dati inviati o
ricevuti su Internet sono solo dei piccoli pezzi dei dati originali.
Per esempio, quando visiti un sito, stai recuperando una pagina web.
Il server di quel sito riceve la tua richiesta e ti invia la pagina
web, Comunque non riceverai l' intera pagina tutta insieme, perche'
tale pagina verra' divisa in piccoli pezzi chiamati pacchetti. Bene,
questi pacchetti ti raggiungono viaggiando attraverso la rete e
passando attraverso parecchi computer. Ciascun pacchetto e' come una
lettera: ha un mittente ed un destinatario. I computer collegati ad
Internet usano una tecnica chiamata 'commutazione di pacchetto' per
trasferire i pacchetti da un computer all' altro. Questa tecnica e'
usata dal protocollo IP. Il pacchetto viene trattato come una patata
bollente: il computer che spedisce (ad es. il server del sito che stai
visitando) lo invia al computer piu' vicino. Il computer piu' vicino
riceve il pacchetto ed osserva l' indirizzo del destinatario. Se esso
e' il destinatario del pacchetto, ok, nessun problema, in caso
contrario lo spedisce al suo computer piu' vicino. Il computer piu'
vicino lo riceve e controlla l' indirizzo del destinatario e cosi'
via, fino a quando il pacchetto raggiunge l' effettivo destinatario.
Per esempio, supponi di trovarti a Londra, e supponi di voler
recuperare una pagina web di un sito che si trova in Francia. Bene,
quella pagina passera' attraverso il Canada, il Texas, l' Islanda, il
Portogallo, la Spagna e finalmente la Francia. Ok, questo 'percorso'
e' abbastanza improbabile, ma tu non puoi mai sapere dove passera' la
'tua' pagina. Inoltre se alcuni computer lungo la strada sono
inattivi, 'la pagina web' dovra' scegliere una altro percorso. E tu
non puoi saperlo. Se sei fortunato quella pagina attraversera'
solamente 2 paesi: la Francia e l' Inghilterra. D' altra parte, se sei
sfortunato, la tua pagina attraversera' molti paesi. Ovviamente cio'
dipende in particolar modo dalla topologia della rete. Inoltre, alcuni
computer possono essere occupati o sovraffollati percio' impiegheranno
un po' per rispondere. Per questa ragione qualcuno invento' il
programma traceroute. Traceroute e' uno strumento utile per
controllare il 'percorso' seguito da un pacchetto. Puoi usare
traceroute per scoprire tale percorso e, sopratutto, per vedere
*quanto tempo* impiega un pacchetto a raggiungerti. Ok, ora possiamo
vedere come funziona traceroute. Ciascun pacchetto IP contiene un
campo chiamato TTL (Time To Live) che contiene un valore compreso tra
0 e 255. Ciascun router (macchina) che riceve il pacchetto osserva
tale valore e sottrae 1. Questo si verifica fino a quando il contenuto
del campo TTL raggiunge il valore 0 od 1. Quando il valore del campo
TTL raggiunge 0, il router *uccide* il pacchetto! Tale meccaniscmo e'
necessario, altrimenti un pacchetto potrebbe viaggiare all' infinito
nel caso non non trovasse il 'suo' destinatario. Quando il router
uccide il pacchetto, invia indietro un messaggio chiamato ICMP
(Internet Control Message Protocol) contenente appunto un messaggio di
Time Exceeded In Transit all' host che ha generato il pacchetto
originario. Bene, quando traceroute invia un pacchetto (di solito
effettua 3 tentativi) la prima volta imposta il valore del campo TTL
ad 1. Cosi', quando il pacchetto raggiunge il primo router, questi
sottrae 1 dal valore del campo TTL, che diventa 0, uccide il pacchetto
ed ritorna indietro un messaggio ICMP. Oh, traceroute scrive l' ora
esatta nel pacchetto prima di spedirlo. Quando il router ritorna
indietro il messaggio ICMP, scrive l' ora - letta nel pacchetto - nel
mesaggio. A questo punto, quando traceroute riceve il messaggio ICMP
calcola la differenza tra l' orario di quando e' stato spedito il
pacchetto (trovato nel messaggio ICMP) e quello di arrivo. Il
risultato si chiama tempo di transito di andata e ritorno (calcolato
in millesimi di secondo). Ora traceroute imposta il valore di TTL a 2
ed invia un altro pacchetto. Ma ora il primo router osservando il
valore di TTL sottrarra' 1 e fara' proseguire il pacchetto al router
successivo (infatti 2-1=1). Il secondo router ora uccidera' il
pacchetto (perche' 1-1=0). Cosi' il secondo router ritornera' indietro
un messaggio ICMP. La volta successiva traceroute impostera' il valore
di TTL a 3 e questo ciclo andra' avanti fino a quando il pacchetto non
raggiungera' l' host destinatario (il cui indirizzo e' scritto all'
interno del pacchetto). Quando il pacchetto raggiunge finalmente l'
host destinatario, accade un fatto strano: l' host scopre un numero di
porta assurdo: 33,434! Non e' possibile raggiungere quell porta,
semplicemente perche' non esiste! Numeri di porta reali sono 21, 25 o
80. Percio' invia indietro un messaggio ICMP contentente 'Port
Unreachable' (cioe' porta irraggiungibile). Traceroute legge questo
messaggio e visualizza 'trace complete'. Se vuoi provare traceroute
hai varie possibilita': se stai usando Windows95, devi solo aprire una
finestra MS-Dos (Avvio/Programmi/prompt MS-DOS) poi digita 'tracert'
(nota, 'tracert' e non 'traceroute'). Cosi' otterrai qualcosa del
genere: C:\WINDOWS>tracert Comunque dovresti digitare 'tracert nome_dominio'
(cosi' vedrai il percorso seguito dai tuoi dati. Nome_dominio e' un
nome di dominio, ma puoi usare anche un indirizzo IP). Se non usi Windows95, potresti usare uno di quei siti
che offrono il servizio traceroute. Se stai usando Unix o Linux, devi
solo digitare 'traceroute nome_dominio' (nota, qui devi
digitare 'traceroute' e non 'tracert'). Con traceroute puoi ottenere
alcune indicazioni su quanto e' intasata la rete, semplicemente
osservando i tempi di andata e ritorno. Ricorda che puoi tracciare la
strada seguita dai *tuoi* pacchetti, ma non puoi tracciare il percorso
inverso. Infatti il pacchetto inviato da te segue una strada, mentre i
pacchetti che ricevi dal sito che stai visitando seguono un percorso
diverso. Per questa ragione acluni siti permettono di eseguire
traceroute in entrambi i sensi. Inoltre ci sono alcune opzioni che
possono essere utilizzate. Per esempio, se sei su Windows95 puoi usare
l' opzione -J (su Unix e' '-g') per indicare fino a 9 router intermedi
in modo da 'definire un percorso' attraverso la rete: tracert -J 123.123.123.123 111.10.1.124 Nell' esempio qui sopra, stai tracciando la strada tra
il router 123.123.123.123 ed il router 111.10.1.124. Dai un' occhiata
a questa lista
di siti dove usare traceroute. Puoi anche usare il mio 'meta-traceroute'
per lanciare fino a 6 traceroute per uno stesso host. Documentazione: |