Ricettario

Appunti e note sparse per corsi di reti su Linux

Author: Andrea Manni
Copyright: GFDL
Version: 1.0

Indice

Generato con: http://docutils.sourceforge.net/rst.html

1   Comandi

Appunti ed esempi sull'utilizzo di alcuni comandi comuni.

1.1   Propieta' dei files

Vediamo come leggere l'output del comando ls:

ls -l

drwxr-xr-x 2 andrea staff   4096 2008-09-16 22:05 cartella
 |  |  |     |      |       |    |                Nome file
 |  |  |     |      |       |    Data di creazione e ora
 |  |  |     |      |       inodes (non e' la dimensione del file)
 |  |  |     |      gruppo
 |  |  |     utente
 |  |  ooo = others
 |  ggg = group
 uuu = user
UGO
Acronimo per: User - Groups Others
Propieta'
rwx
r readable Il file e' leggibile
w writable Il file e' scrivibile e modificabile
x excecute Il file e' eseguibile

1.1.1   Primo carattere

Il primo carattere indica la natura o il tipo del file:

-rw-r--r-- 1 andrea andrea    26 2008-09-16 22:03 dns.conf
lrw-r--r-- 1 andrea andrea     0 2008-09-16 22:07 link_dns
drwxr-xr-x 1 andrea andrea 77352 2008-09-16 21:47 cartella
Tipi comuni
d directory
- file
l link

1.1.2   Manipolare i permessi dei file

chmod
Cambia i parametri rwx dell'oggetto
chown
Cambia il proprietario
chgrp
Cambia il gruppo

Per la sintassi e le opzioni vedere le pagine man dei singoli comandi.

2   TAR: archiviazione

Breve lista delle opzioni del comando tar (archiviazione dei files)

-c nome_arch creare un archivio con nome nome_arch
-t visualizzare il contenuto di un archivio
-x estrarre da un archivio
-f nome dell'archivio
-z compresso con gunzip
-j compresso con bzip2

2.1   Esempi: creare un archivio

tar -cf nome_archivio.tar cartella_da_archiviare
crea un archivio nome_archivio.tar dalla cartella cartella_da_archiviare
tar -zcf nome_rchivio.tar.gz cartella_da_archiviare
crea un archivio compresso con gunzip nome_rchivio.tar.gz dalla cartella cartella_da_archiviare
tar -jcf nome_archivio.tb2 cartella_da_archiviare
crea un archivio compresso con bzip2 nome_rchivio.tar.gz dalla cartella cartella_da_archiviare

2.2   Esempi: visualizzare il contenuto di un archivio

tar -tf nome_archivio.tar
Per visualizzare e basta il contenuto di un archivio

2.3   Esempi: esplodere un archivio

tar -xf nome_archivio.tb2
Esplode l'archivio
tar -zxf nome_archivio.tb2
Esplode un archivio compresso con gunzip
tar -jxf nome_archivio.tb2
Esplode un archivio compresso con bzip2

4   Reti: TCP/IP

Il modello OSI: 7 livelli. Il modello TCP/IP: 4 livelli.

Link ai livelli dell'OSI: - http://it.wikipedia.org/wiki/Open_Systems_Interconnection - http://upload.wikimedia.org/wikipedia/commons/5/56/Rm-osi_parallel.png

Comparazione livelli OSI / TCP/IP:

  OSI             TCP/IP
-------------   ------------
Applicazione    Applicazione
Presentazione
Sessione
-------------   ------------
Trasporto       Trasporto
-------------   ------------
Network         Internet
-------------   ------------
Collegamento    Network
Fisico
-------------   ------------

Il modello TCP/IP e' quindi una semplificazione del modello OSI.

Per una descrizione dei vari livelli del TCP/IP vedere: - http://www.tutorialpc.it/tcp1.asp - http://www.docmirror.net/it/linux/howto/misc/NET-3-HOWTO/ - http://it.wikipedia.org/wiki/TCP/IP

4.1   Il livello Network:

Il livello "Network" e' quello che si occupa di far funzionare l'hardware di rete. E' quindi dipendente dalla macchina su cui viene implementato lo stack TCP/IP.

4.2   Il livello Internet

Alias: secondo livello...

il livello internet si occupa di indirizzamenti, di suddivisione in frammenti, e instradamenti in TCP/IP. I protocolli che lavorano a questo livello,che รจ internet, interagiscono con i livelli immediatamente superiore ed inferiore.

I protocolli che lavorano a questo livello sono:
  • ARP
  • ICMP
  • IP
  • IGMP

Links:

4.3   Documentazione su IP

Documentazione su IP:

5   Maschere di rete

Analizziamo gli indirizzi IP e le sotto reti

Consideriamo gli indirizzi IP della classe C:

 212.22.136.0  (0 mi permette di identificare la rete)

andrea 212.22.136.177   11010100.00010110.10001000. 10110001
giulio 212.22.136.178   11010100.00010110.10001000. 10110010
papo   212.22.136.166   11010100.00010110.10001000. 10100110

Cosa notiamo?

Be'... Che la parte relativa alla rete ovviamente non cambia:

11010100.00010110.10001000. che corrisponde a 212.22.136.

Questa e' la sotto rete

255.255.255.0

5.1   Messa in AND

Come calcola il computer le sotto reti per il routing dei pacchetti?

Facendo la MESSA in AND dell'host0/rete host1/rete

Proviamo con andrea e papo:

andrea IP               11010100.00010110.10001000. 10110001
andrea rete             11111111.11111111.11111111. 00000000
risultato andrea:       11010100.00010110.10001000

papo IP                 11010100.00010110.10001000. 10100110
papo rete               11111111.11111111.11111111. 00000000
risultato papo          11010100.00010110.10001000

Confrontiamoli: 11010100.00010110.10001000
                11010100.00010110.10001000

Sono uguali -> stessa rete

6   Cavi di Rete

link a cavi coassiali / thin :

7   Breve sommario dei comandi relativi al networking

7.1   ifconfig

Configurare un device di rete:

# ifconfig eth0 192.168.0.1 # ifconfig eth0 down # abbatte una scheda di rete # ifconfig eth0:1 192.168.0.1 # abilita una scheda di rete virtuale # ifconfig eth0:1 192.168.1.1 # abilita una scheda di rete VIRTUALE

7.2   ping

Test della connessione tra due hosts (ICMP):

ping 192.168.0.254      # ping all'infinito un indirizzo IP, per fermarlo: CTR + c
ping -c 2 192.168.0.254 # manda solo due pacchetti poi si interrompe

7.3   route

Modifica delle tabelle di instradamento / routing:

# route -n      #visualizza la tabella di routing attuale
# route add default gw 192.168.0.254    #aggiunge un gateway di default
# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.254
        # aggiunge la rotta per una rete
# route add -host 192.168.1.2 gw 192.168.0.254
        # aggiunge la rotta per un singolo host
# route del ... # elimina una rotta precedentemente attivata
es:     # route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.254

7.4   traceroute

Ricerca dei passaggi (hops) attraverso i quali comunicano due hosts:

traceroute 192.168.0.254        # visualizza gli hops frapposti tra noi e un IP

7.5   host

Risoluzione di nomi di dominio / IP:

$ host bender.piffa.net  # risolve l'indirizzo IP di bender.piffa.net
$ host 212.22.136.248    # risoluzione inversa  di un indirizzo IP

7.6   Instradamento:

Per poter utilizzare le funzionalita' di routing del kernel di Linux e' necessario abilitare l'ip-forwarding dello stesso kernel

Si puo' verificare se l'instradamento (IP forwarding) e' abilitato leggendo in /proc il valore di:

$ cat /proc/sys/net/ipv4/ip_forward

Si puo' scrivere un valore diverso con echo e il re-indirizzamento dell'output:

# echo "1" > /proc/sys/net/ipv4/ip_forward

Nota

Vedi pag: 295 del manuale cartaceo

7.7   tcpdump

Analizzatore di traffico a riga di comando:

$ tcpdump -q             # Output semplificato, usare -v -vv per maggior dettaglio
$ tcpdump udp            # Per catturare il traffico UDP
$ tcpdump port http      # Per catturare il traffico sulla porta 80 (http)
$ tcpdump src 192.168.1.100 and dst 192.168.1.2 and port ftp
                         # Per catturare il traffico FTP tra src (sorgente) e dst (destinazione)
                         # sulla porta di FTP
$ tcpdump -A             # Per visualizzare il contenuto dei pacchetti intercettati

8   Sessione FTP

Breve lista dei comandi per una sessione FTP (non usate FTP, usate SFTP...):

ftp nome_host           # stabilire la connessione
                        # poi chiedera' la password dell'utente
                        # se avete sbagliato utente: user

help                    # Lista dei comandi disponibili
help [nome_comando]     # cosa fa quel comando
put                     # per caricare un file
get                     # per scaricare un file
ls                      # lo sapete cosa fa...
cd                      # fa il cambio directory
lcd                     # cambio directory in LOCALE
mput/mget               # per lavorare su file multipli
prompt                  # per uscire dalla modalita' interattiva
                        # (non vi chiede conferma di ogni singola operazione
                        #  sul singolo file...)
binary                  # entra in modalita' trasferimento binario
ascii                   # entra in modalita' trasferimento ascii
bye                     # per chiudere la sessione

9   ToDo

Mancano (non inseriti in questo file ma presenti come frammenti di testo semplice):