Author: Andrea Manni Copyright: GFDL Version: 1.0
Indice
Generato con: http://docutils.sourceforge.net/rst.html
Appunti ed esempi sull'utilizzo di alcuni comandi comuni.
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
Propieta' | ||
---|---|---|
rwx | ||
r | readable | Il file e' leggibile |
w | writable | Il file e' scrivibile e modificabile |
x | excecute | Il file e' eseguibile |
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 |
Per la sintassi e le opzioni vedere le pagine man dei singoli comandi.
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 |
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
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.
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.
Links:
Documentazione su IP:
http://www.freesoft.org/CIE/Course/Section3/7.htm Tutorial in inglese
Consigliato: Manuale del TCP/IP dell'Apogeo.
Tutorial in italiano relativamente semplice
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
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
link a cavi coassiali / thin :
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
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
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
Ricerca dei passaggi (hops) attraverso i quali comunicano due hosts:
traceroute 192.168.0.254 # visualizza gli hops frapposti tra noi e un IP
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
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
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
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
Mancano (non inseriti in questo file ma presenti come frammenti di testo semplice):