PREV
Capitolo 12 - Strumenti di Amministrazione Essenziali
NEXT
Capitolo 14 - Archiviare i File

Torna all'indice

Capitolo 13. Comandi base per la rete

Una rete è composta da diversi computer connessi assieme. Una rete può essere semplice come i pochi computer connessi in casa o in ufficio, o complessa quanto quella di una grossa università o addirittura l'intero Internet. Quando il proprio computer fa parte di una rete, si può avere l'accesso a quei sistemi sia direttamente, che tramite servizi come l'e-mail o il web. Si può usare un enorme varietà di programmi per la rete. Alcuni sono dei pratici strumenti per la diagnostica. Altri (come i client di posta, e i web browser) sono utili per finire del lavoro e stare in contatto con altre persone.
top
Torna all'indice

ping

ping(8) invia un pacchetto ICMP ECHO_REQUEST a un host specifico. Se l'host risponde, si riceverà indietro un pacchetto ICMP. Souna strano? Un tipico utilizzo di ping è controllare se una macchina è "viva". Nel caso non si riceva nessuna risposta, sappiamo che c'e' qualcosa che non va. Facciamo un esempio di conversazione tipica tra due utenti Linux:

Utente A: "Loki" è giù di nuovo.
Utente B: Sei sicuro?
Utente A: Si, ho cercato di pingarlo ma non risponde.


Sono situazioni come questa che fanno di ping un comando così utile: molto velocemente possiamo vedere se una macchina è funzionante e connessa alla rete. La sintassi di base è:

$ ping <indirizzo IP o hostname>


Ovviamente ci sono altre opzioni che possono essere specificate. Controllare la man page ping(1) per maggiori informazioni.

top
Torna all'indice

finger

finger(1) fornisce informazioni su un utente specifico. Dando a finger come argomento un nome o un indirizzo email, esso cercherà di contattare il server e ricavare il nome dell'utente, l'ufficio, il numero di telefono, ed altre informazioni. Per esempio:

$ finger johnc@idsoftware.com


potrebbe ritornare il nome dell'utente, lo stato della mail, i numeri di telefono, e il contenuto dei file ".plan" e ".projects". Ovviamente le informazioni ricevute potranno variare dal tipo di server a cui si richiedono. Il server finger incluso in Slackware presenta di default le seguenti informazioni:

Nome dell'utente
Numero della stanza
Numero di telefono di casa
Numero di telefono di lavoro
Stato del login
Stato dell'email
Contenuto del file .plan contenuto nella directory home
Contenuto del file .projects contenuto nella directory home


Le prime quattro informazioni possono essere settate con il comando chfn. Esso archivia questi valori nel file /etc/passwd. Il contenuto dei file .plan e .projects può essere modificato a piacere, con il proprio editor preferito. Questi due file devono risiedere nella home directory e devono avere esattamente questi nomi.

Molti utenti utilizzano finger da remoto per controllare se nel loro account c'e' nuova posta o, per vedere i progetti correnti di un determinato utente. John Carmack della id Software aggiorna regolarmente il suo file .plan per comunicare agli utenti della comunita' gli sviluppi del suo lavoro. Come molti comandi, finger ha delle opzioni specifiche, che vengono illustrate nella man page.

top
Torna all'indice

Telnet

Un giorno qualcuno disse che telnet(1) era la cosa più bella che avesse mai visto in un computer. L'abilità di accedere ed utilizzare un computer remoto e' quello che separa i sistemi Unix e simil-Unix dagli altri sistemi operativi.

telnet permette di accedere ad un computer come se si fosse seduti davanti a quel terminale. Una volta che username e password sono stati verificati, si presenta il prompt della shell. Da li si può eseguire qualsiasi programma che richiede una console testuale. Comporre email, leggere i news groups, spostare file e cosi via. Se si sta usando X e ci si telnetta ad una macchina da un xterm, si è in grado di eseguire i programmi grafici sulla macchina remota e visualizzarli sulla propria. Per maggiori informazioni vedere la sezione chiamata "Esportare il display" nel capitolo 6.

Per accedere ad una macchina remota si deve usare questa sintassi:

$ telnet <nome dell'host>


Se l'host risponde, si ricevera' un prompt di login dove inserire il nome dell'utente e la password. Ecco fatto, adesso si ha una shell. Per uscire dalla sessione si può usare indifferentemente i comadni exit o logout.

IMPORTANTE: telnet non cripta le informazioni che invia. Tutto e' inviato come testo in chiaro, anche le password. Non e' raccomandato l'uso di telnet su Internet. Al suo posto si prenda in considerazione Secure Shell, programma che cripta tutto il traffico ed e' disponibile gratuitamente all'indirizzo http://www.ssh.org.

top
Torna all'indice

Client FTP

FTP è l'acronimo per File Transfer Protocol (protocollo per il trasferimento dei file). Esso permette di ricevere e inviare file tra due computer. Sono sempre presenti un client e un server FTP. In questa sezione parleremo del client.

L'utente è il client. Il server è il computer che risponde alla richiesta FTP e permette la connessione. Si sarà cosi in grado di scaricare e inviare file dal e al server. Il client non può ricevere connessioni FTP, può solo connettersi al server.

ftp

Per connettersi ad un server FTP, si esegua il comando ftp(1) specificando l'host:

$ftp <nome dell'host>


Se l'host è un server FTP, chiederà l'username e la password. Si può entrare sia come utente "anonymous" o come se stessi. I siti FTP anonimi sono molto popolari per gli archivi di software. Per esempio, per prelevare Slackware Linux via FTP, si deve usare l'FTP anonimo.
Una volta connessi, si vedrà apparire il prompt "ftp>". FTP utilizza dei comandi particolari, ma essi sono molto simili ai comandi standard. Di seguito alcuni comandi base e la loro funzione:

Tabella 13-1. Comandi FTP

Comando     Scopo

ls          Mostra la lista dei file
cd          <nome directory> Cambia directory
put         <nome del file> Scarica un file
put         <nome del file> Invia un file
hash        Attiva/disattiva un marcatore hash per indicare lo stato
prom        Attiva/disattiva il modo interattivo per il download
mget        <mask> Scarica un file o un gruppo di file; è permesso l'uso di caratteri jolly
mput        <mask> Invia un file o un gruppo di file; è permesso l'uso di caratteri jolly
quit        Esce dal server FTP


ncftp

ncftp(1) (si pronuncia "Nik- F-T-P") è un alternativa al tradizionale client ftp che viene distribuito con Slackware. Nonostante sia sempre un programma testuale, offre un sacco di vantaggi rispetto ad ftp, per esempio:

- Completazione tramite Tab
- Aggiungere un segnalibro ad un file
- Trasferimento FTP passivo e non-passivo
- Uso esteso di caratteri jolly
- Cronologia dei comandi

In maniera predefinita ncftp proverà a connettersi in modalità al server specificato. Si può forzare ncftp a mostrare un prompt di login tramite l'opione "-u". Una volta entrati, si possono usare gli stessi comandi di ftp, con la differenza di una interfaccia più gradevole, simile alla bash.

Figura 13-1. Esempio di schermata NcFTP



top
Torna all'indice

email

L'utilizzo della posta elettronica è una delle cose più popolari che si possono fare in Internet. Nel 1998 una statistica riportò che veniva inviata più posta elettronica che normale. Indubbiamente essa è commoda e utile. Con Slackware viene distribuito un piccolo server di posta, e diversi client. Tutti i client di cui parleremo sono testuali, questo provocherà lo scetticismo di molti utenti provenienti da Windows, ma ci si accorgerà che usare un client testuale è molto conveniente, in particolar modo quando si controlla la posta da remoto.

pine

pine(1) non è elm. O almeno cosi è il detto. L'Università di Washington creò questo programma perchè necessitava di un lettere di posta facile da usare per i propri studenti. pine è oggi uno dei client più usati ed è disponibile per quasi tutti i sistemi Unix e Windows.

Figura 13-2. Il menù principale di Pine



Nel centro si può vedere il menù dei estesi comandi e in basso una linea con dei comandi eseguibili tramite singoli tasti. pine è un programma molto complesso, non discuteremo qui di tutte le sue possibilità.

Per vedere cosa continene la propria inbox, premere "i". I messaggi di posta sono presentati in un lista che mostra anche la loro data, l'autore e il soggetto. Per leggere un messaggio, evidenziarlo e premere "invio". Premendo "r" si potrà rispondere al messaggio. Una volta che si è scritto la risposta, premere Ctrl+X per inviarlo. Si può premere "i" per tornare alla lista dei messaggi.

Per eliminare un messaggio premere "d". Il messaggio evidenziato verrà marcato per l'eliminazione. pine elimina i messaggi solo all'uscita dal programma. pine permette di organizzare le mail in cartelle. Si può ottenere una lista delle cartelle presenti premendo "l". Nella lista dei messaggi si può premere s per salvare il messaggio evidenziato, in un altra cartella. pine chiederà il nome della cartella nella quale si desidera salvarlo.

pine offre moltissime opzioni che sono spiegate in dettaglio nella pagina man. Essa offre in modo definitivo tutte le informazioni di cui potete aver bisogno.

elm

elm(1) è un altro client di posta molto popolare. Non è intuitivo come pine, ma viene usato da molto più tempo.

Figura 13-3. Schermata principale di Elm



All'avvio ci si trova nella cartella inbox. La lista dei messaggi mostra la data, il mittente e il soggetto. Per leggere un messaggio si usino le freccie direzionali per evidenziarlo e si prema "invio" per visualizzarlo.

La pagina man spiega elm molto più in dettaglio, cosichè probabilmente si vorrà consultarla prima di utilizzarlo.

mailx

mailx(1) è un programma a linea di comando. E' molto primitivo e non offre niente a livello di interfaccia per l'utente. In ogni caso, mailx è molto utile quando si ha bisogno di inviare un qualcosa velocemente.

La linea base di comando è:

$ mailx -s <soggetto> <indirizzo del destinatario>


mailx legge il testo del messaggio dallo standard input. In questo modo si può eseguire cat su un file per inviarlo, o scrivere il testo e premere "ctrl+D" quando si è finito.

In questo esempio i sorgenti di un programma vengono inviati ad un altra persona:

$ cat randomfunc.c | mailx -s "Ecco la funzione" \ asdf@esempio.net


La pagina man spiega tutto quello che mailx può fare, ovviamente è raccomandato darle una lettura prima di usarlo.
top
Torna all'indice

lynx

lynx(1) è un web browser testuale. E' il modo migliore per guardare qualcosa sul web velocemente. A volte la grafica viene presentata in modo da farvi capire esattamente a cosa siete davanti.

Per avviare lynx si scriva lynx al prompt:

$ lynx


Figura 13-4. Pagina iniziale di lynx



Si potrebbe voler specificare una pagina da aprire:

$lynx http://www.slackit.org


In basso nello schermo lynx mostrerà i tasti dei comandi e la relativa spiegazione. Le freccie "su e giù" vi permettono di scorrere il documento, Invio seleziona i link evidenziati, e la freccia "sinistra" torna indietro alla pagina precedente. Premendo d si potrà scaricare il file corrente; il tasto "g" permette di tornare al prompt che permette di inserire un URL da visualizzare.

Ci sono molti altri comandi in lynx, si può sia consultare la pagina man o premere h per consultare la schermata di help.

top
Torna all'indice

wget

wget(1) è un programma a linea di comando che permette di scaricare file da un URL specifica. E' molto utile per scaricare interi siti web e visionarli offline, oppure per scaricare file da server HTTP o FTP, in modo più sicuro rispetto a Netscape.

La sintassi base è:

$wget <url>


Si può anche passare delle opzioni. Per esempio questa linea di comando, scaricherà l'intero sito di Slackware:

$ wget --recursive http://www.linux.le.it


wget creerà una directory chiamata www.slackware.com che conterrà i file del sito; può anche scaricare file da un sito FTP, basta specificare l'URL FTP al posto di quella HTTP. wget ha molte opzioni che possono risultare utili negli script specifici per i siti (mirroring dei siti web e cosi via). La pagina man ha tutte le informazioni di cui potreste aver bisogno.

top
Torna all'indice

traceroute

Slackware include il comando 4.4BSD traceroute(8). E' un tool molto comodo per la diagnostica delle reti. traceroute mostra tutti gli host che un pacchetto attraversa, mentre tenta di raggiungere una destinazione. Si può controllare a quanti "hop" di distanza si è dal sito di Slackware, con questo comando:

$ traceroute www.slackit.org


Ogni host verrà mostrato insieme al proprio "tempo di reazione". Qui sotto un esempio di output:

$ traceroute www.slacare.com
traceroute to www.slackware.com (204.216.27.13), 30 hops max, 40 byte packets
1 zuul.tdn (192.168.1.1) 0.409 ms 1.032 ms 0.303 ms
2 207.171.227.254 (207.171.227.254) 18.218 ms 32.873 ms 32.433 ms
3 border-sf-2-0-4.sirius.com (205.134.230.254) 15.662 ms 15.731 ms 16.142 ms
4 pb-nap.crl.net (198.32.128.20) 20.741 ms 23.672 ms 21.378 ms
5 E0-CRL-SFO-03-E0X0.US.CRL.NET (165.113.55.3) 22.293 ms 21.532 ms 21.29 ms
6 T1-CDROM-00-EX.US.CRL.NET (165.113.118.2) 24.544 ms 42.955 ms 58.443 ms
7 www.slackware.com (204.216.27.13) 38.115 ms 53.033 ms 48.328 ms


traceroute è molto simile a ping perchè usa pacchetti ICMP. Ci sono molte opzioni che si possono specificare. Il numero massimo predefinito di hop, è 30, ma si può cambiare con l'opzione "-m". Le altre opzioni sono specificate in dettaglio nella pagina web di traceroute.

top
Torna all'indice

Parlare con altre persone

talk

talk(1) permette di dialogare a due utenti. Egli divide lo schermo orizzontalmente in due parti. Per chiedere una conversazione ad un altro utente, si utilizzi questo comando:

$ talk <persona> [nome della tty]


Figura 13-5. Due utenti in una sessione di talk



Se viene solo specificato il nome dell'utente, la richiesta di chat viene presunta come locale, quindi vengono consultati solo gli utenti locali. Il nome della tty è necessario se si vuole contattare uno specifico utente in una specifica sessione (se l'utente è connesso in più sessioni). Le informazioni richieste da talk possono essere ottenute tramite il comando w(1).

talk può contattare anche utenti di sistemi remoti. Al posto del nome dell'utente si utilizzi l'indirizzo email: talk proverà a rintracciare quel determinato utente, su quell'host. talk è un po' limitato: supporta solo due utenti, ed è half-duplex.

ytalk

ytalk(1) è un programma sostituibile a talk. La sintassi è simile, ma ha delle piccole differenze:

$ ytalk [#nome della tty]


Figura 13-6. Tre utenti in una sessione di ytalk.



Il nome degli utenti e il terminale vengono specificati nello stesso modo di talk, tranne per il fatto che si deve specificarli uno dopo l'altro, uniti dal segno cancelletto (#).

ytalk offre dei vantaggi notevoli:

- Supporta più di due utenti.
- Il menu delle opzioni può essere visualizzato in qualsiasi momento premendo Esc.
- Si può usare la shell durante la sessione.
- E molto di più...

Se si è l'amministratore di un server, si dovrà accertarsi che la porta per ntalk sia abilitata in /etc/inted.conf: ytalk ne ha bisogno per funzionare correttamente.

top
Torna all'indice

Sommario

Adesso si dovrebbero conoscere alcuni comandi base per la diagnostica delle reti. Usandoli, si potrà determinare se ci sono problemi tra computer o nella rete tra il proprio e il sistema remoto. Inoltre si sono visti alcuni client di posta, web browser, client ftp e programmi per comunicare.

top
Torna all'indice

PREV
Capitolo 12 - Strumenti di Amministrazione Essenziali
NEXT
Capitolo 14 - Archiviare i File