X-Git-Url: http://git.piffa.net/web?p=doc%2F.git;a=blobdiff_plain;f=ricettario.html;fp=ricettario.html;h=e03fcf74676d1e7d09bfac803c687958c7510ec9;hp=0000000000000000000000000000000000000000;hb=413470c3ca2cc58c8d39d176111aa9d8541a0f55;hpb=da76034044c2e819085f8c96e5d2b24599ed5bcf diff --git a/ricettario.html b/ricettario.html new file mode 100644 index 0000000..e03fcf7 --- /dev/null +++ b/ricettario.html @@ -0,0 +1,1227 @@ + + + + + + + + + + Ricettario + + + + +
+

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
rreadableIl file e' leggibile
wwritableIl file e' scrivibile e modificabile
xexcecuteIl 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
ddirectory
-file
llink
+
+ +
+

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_archcreare un archivio con nome nome_arch
-tvisualizzare il contenuto di un archivio
-xestrarre da un archivio
-fnome dell'archivio
-zcompresso con gunzip
-jcompresso 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
+
+
+
+ +
+

3   Navigazione nei filesystems + virtuali: proc e sys

+ +

Per meglio comprendere la natura dei filesystems virtuali + proc e sys possiamo provare + a muoverci al loro interno, vedere alcuni degli esempi piu' + interessanti e provare anche a intervenire su di essi.

+ +
+

!PERICOLO!

+ +

Non sparate dei valori a caso su + oggetti come ventole di raffreddamento: potreste cuocere le + CPU e provocare danni irreparabili (quindi niente echo > + ...)

+
+ +

Storia:

+
+51  cat /proc/
+52  cat /proc/cpuinfo
+53  htop
+54  cat /proc/meminfo
+55  free
+56  cat /sys/devices/system/cpu/cpu0/cpuidle/state0
+57  cat /sys/devices/system/cpu/cpu0/cpuidle/state0/usage
+58  cat /sys/devices/system/cpu/cpu0/cpuidle/state0/power
+59  cat /sys/devices/system/cpu/cpu0/crash_notes
+60  cat /sys/devices/system/cpu/cpu0/topology/core_id
+61  cat /sys/devices/system/clocksource/clocksource0/available_clocksource
+62  cat /sys/devices/system/clocksource/clocksource0/current_clocksource
+63  cat /proc/meminfo
+64  cat /sys/class/thermal/cooling_device
+65  cat /sys/class/thermal/cooling_device0/cur_state
+66  cat /sys/class/thermal/cooling_device0/cur_state
+67  echo "1" > /sys/class/thermal/cooling_device0/cur_state
+68  cat /sys/class/thermal/cooling_device0/cur_state
+69  echo "0" > /sys/class/thermal/cooling_device0/cur_state
+70  echo "0" > /sys/class/thermal/cooling_device1/cur_state
+71  echo "1" > /sys/class/thermal/cooling_device1/cur_state
+72  cat /sys/class/thermal/cooling_device1/cur_state
+73  echo "0" > /sys/class/thermal/cooling_device1/cur_state
+74  echo "0" > /sys/class/thermal/cooling_device1/max_state
+75  cat /sys/class/thermal/cooling_device1/max_state
+76  echo "7" > /sys/class/thermal/cooling_device1/max_state
+77  echo "7" > /sys/class/thermal/cooling_device1/cur_state
+78  echo "7" > /sys/class/thermal/cooling_device0/
+79  echo "7" > /sys/class/thermal/cooling_device0/max_state
+80  cat /sys/class/thermal/cooling_device0/max_state
+81  echo "7" > /sys/class/thermal/cooling_device0/cur_state
+82  cat /sys/class/thermal/cooling_device0/cur_state
+83  echo "0" > /sys/class/thermal/cooling_device0/cur_state
+84  echo "0" > /sys/class/thermal/cooling_device1/cur_state
+85* cat /sys/class/thermal/cooling_device1/
+86  cat /sys/class/thermal/cooling_device1/cur_state
+87  cat /sys/class/thermal/cooling_device0/cur_state
+88  cat /sys/class/hwmon/hwmon0/fan1_pwm
+89  cat /sys/class/net/eth0/address
+90  cat /sys/class/net/eth0/broadcast
+91  cat /sys/class/net/eth0/features
+92  cat /sys/class/net/eth0/flags
+93  cat /sys/class/net/eth0/mtu
+94  cat /sys/class/net/eth0/statistics/rx_errors
+95  cat /sys/class/net/eth0/statistics/rx_bytes
+96  cd /tmp/
+97  history > proc_nav
+
+
+ +
+

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):

+ + +
+
+ +