Linux e le reti – 2
Tiziano Ragazzi
Testare la tua NIC
 In ambiente linux il comando
ifconfig
senza parametri dà tutte le interfacce di rete attive
 ifconfig –a
dà tutte le interfacce comprese quelle inattive
 Ad esempio: esito per interfacce wifi inattiva
wlan0 Link encap:Ethernet HWaddr 00:06:25:09:6A:D7
BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:2924 errors:0
dropped:0 overruns:0 frame:0 TX packets:2287 errors:0 dropped:0
overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:180948 (176.7 Kb)
bytes:166377 (162.4 Kb) Interrupt:10 Memory:c88b5000 c88b6000
 Esito per interfaccia wifi attiva:
wlan0 Link encap:Ethernet HWaddr 00:06:25:09:6A:D7
inet addr:216.10.119.243 Bcast:216.10.119.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX
packets:2924
errors:0 dropped:0 overruns:0 frame:0 TX packets:2295 errors:0 dropped:0
overruns:0 carrier:0 collisions:0 txqueuelen:100 RX
bytes:180948 (176.7 Kb) TX
bytes:166521 (162.6 Kb) Interrupt:10
Memory:c88b5000-c88b6000
Ottenere il MAC
 In ambiente Linux
ifconfig –a (o semplicemente ifconfig)
 In ambiente Win
ipconfig /all
Ethtool
 Usiamo ethtool per un’analisi più approfondita
 Esempio:
ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half
100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half
100baseT/Full Advertised auto-negotiation: No
Speed: 100Mb/s Duplex: Full
Port: MII PHYAD: 1 Transceiver: internal
Auto-negotiation: off Supports Wake-on: g Wake-on: g
Current
message level: 0x00000007 (7)
Link detected: yes
 ethtool –S eth0
fornisce molte più informazioni. Un “error rate” > 0.5% è
sintomo di una errata configurazione della scheda o di un
eccessivo utilizzo della banda disponibile
Visualizzare la tabella arp
 Il comando arp col parametro -a mostra la
tabella arp con i mac address delle
connessioni
arp -a
bigboypix (192.168.1.1) at 00:09:E8:9C:FD:AB [ether] on wlan0
? (192.168.1.101) at 00:06:25:09:6A:D7
Netstat


Netstat è un comando di grande utilità che permette di visualizzare molte
informazioni relative a connessioni di rete, tabelle di routing e statistiche
sulle interfacce
Ad esempio per ottenere informazioni sulle interfacce, possiamo usare
netstat -i
Kernel Interface table
Iface
MTU
Met RX-OK
eth0 1500
0
18976655 2
eth1 1500
0
855154
0
lo
16436 0
1784272 0
RX-ERR RX-DRP RX-OVR TX-OK
0
0
21343152
0
0
15196620
0
0
1784272
TX-ERR TX-DRP TX-OVR Flg
142
0
3
BMRU
0
0
0
BMRU
0
0
0
LRU
Netstat

Per ottenere informazioni sulle connessioni UDP
netstat –nuap
Active Internet connections (servers
Proto Recv-Q Send-Q Local Address
udp
0
0 127.0.0.1:161
udp
0
0 0.0.0.0:443

and established)
Foreign Address
0.0.0.0:*
0.0.0.0:*
State
Per ottenere informazioni sulle connessioni TCP
PID/Program name
5052/snmpd
3731/openvpn
netstat –ntap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address
Foreign Address
State
PID/Program name
tcp
0
0 0.0.0.0:993
0.0.0.0:*
LISTEN
5097/dovecot
tcp
0
0 0.0.0.0:995
0.0.0.0:*
LISTEN
5097/dovecot
tcp
0
0 127.0.0.1:3306
0.0.0.0:*
LISTEN
3829/mysqld
tcp
0
0 0.0.0.0:110
0.0.0.0:*
LISTEN
5097/dovecot
tcp
0
0 0.0.0.0:143
0.0.0.0:*
LISTEN
5097/dovecot
tcp
0
0 0.0.0.0:80
0.0.0.0:*
LISTEN
12928/apache2
tcp
0
0 127.0.0.1:25
0.0.0.0:*
LISTEN
3937/exim4
tcp
0
0 172.16.1.36:25
0.0.0.0:*
LISTEN
3937/exim4
tcp6
0
0 :::21
:::*
LISTEN
5115/proftpd:
(acce
tcp6
0
0 :::22
:::*
LISTEN
5067/sshd
tcp6
0
52 ::ffff:194.116.10.21:22 ::ffff:151.48.90.2:2554 ESTABLISHED25602/0
Testare le connessioni con ping
 Il comando ping invia pacchetti icmp di tipo 0 (echorequest) e resta in attesa di una risposta (pong) di
tipo icmp 3 (echo-reply)
 Esempio:risposta corretta dell’interfaccia “pingata”
ping 192.168.1.101
PING 192.168.1.101 (192.168.1.101) from 192.168.1.100 : 56(84) bytes of data.
64 bytes from 192.168.1.101: icmp_seq=1 ttl=128 time=3.95 ms
64 bytes from 192.168.1.101: icmp_seq=2 ttl=128 time=7.07 ms
64 bytes from 192.168.1.101: icmp_seq=3 ttl=128 time=4.46 ms
64 bytes from 192.168.1.101: icmp_seq=4 ttl=128 time=4.31 ms
--- 192.168.1.101 ping statistics --- 4 packets transmitted, 4 received, 0% loss, time 3026ms rtt
min/avg/max/mdev = 3.950/4.948/7.072/1.242 ms
Testare le connessioni con ping

Una risposta del tipo “Destination Host Unreachable” può essere
dovuta ai seguenti motivi

Se si sta pingando un host connesso alla stessa subnet




L’host potrebbe essere spento o disconnesso
Il cavo potrebbe non essere funzionante o di tipologia sbagliata.
Ricordiamo che esistono 2 tipi di cavi “diretti” e “incrociati”.
In caso di connessione wireless , l’SSID o il protocollo e/o
chiave crittografica sbagliato.
Se si sta pingando un host connesso a una rete remota




L’host è stato configurato per non rispondere al ping
Un firewall o un router lungo il “network path” sta bloccando il
traffico ICMP.
C’è un routing sbagliato. Controllare le rotte e le subnet masks
sia sull’host sorgente che su quello destinazione e tutte le rotte
dei router attraversati. Si può usare il comando traceroute per
controllare gli host attraversati.
L’ip dell’host sorgente e quello destinazione non appartengono
alla stassa subnet e non vi sono tra questi dei router di
collegamento tra le subnet.
Testare un servizio con telnet
 Conoscendo indirizzo ip e porta di ascolto di
un servizio è possibile instaurare una
comunicazione facendo uso dei comandi
tipici del servizio contattato
 La sintassi generale è:
telnet server porta
Inviare una mail usando telnet

telnet smtp.vega.it 25
Trying 100.99.198.97...
Connected to vega.it.
Escape character is '^]'.
220 vega.it ESMTP Sendmail 8.12.9 ready at Sun, 01 Sep 2003 00:00:00 +0200 (CEST)
helo vega.it
250 vega.it Hello <Nome del proprio pc> [<IP del proprio pc>], pleased to meet you
help
214-2.0.0 This is sendmail version 8.12.9
214-2.0.0 Topics:
214-2.0.0
HELO EHLO MAIL RCPT DATA
214-2.0.0
RSET NOOP QUIT HELP VRFY
214-2.0.0
EXPN VERB ETRN DSN AUTH
214-2.0.0
STARTTLS
214-2.0.0 For more info use "HELP <topic>".
214-2.0.0 To report bugs in the implementation send email to
214-2.0.0
[email protected].
mail from: [email protected]
250 2.1.0 <[email protected]>... Sender ok
rcpt to: [email protected]
250 2.1.5 <[email protected]>... Recipient ok
data
354 Enter mail, end with "." on a line by itself
subject: Importante!
Ci vediamo stasera?
.
250 2.0.0 <codice del messaggio> Message accepted for delivery
quit
221 2.0.0 vega.it closing connection
Connection closed by foreign host.
Controllo del dns






Se il server risulta raggiungibile mediante l'indicazione del solo
indirizzo IP allora siamo di fronte ad un problema di DNS :
Possono essere sbagliati i riferimenti ai DNS server nella
configurazione di rete dell'host che manifesta il malfunzionamento;
Può esserci un problema sui DNS server o possono non essere
raggiungibili.
Se possibile, chiedere ad un collaboratore di connettersi al server
da una diversa locazione:
Se la connessione ha successo allora il problema si trova lato client;
Se la connessione fallisce allora il problema è legato alla rete o si
trova lato server.
Controllo del dns



Supponiamo di voler connetterci ad un host per usufruire di un
servizio di rete (Web, mail, FTP, telnet, ...), usando il protocollo
TCP/IP e riferendolo mediante il suo nome nel DNS.
Per esempio, connettendoci ad una Uniform Resource Locator
(URL) di un Web server (per esempio http://www.unibo.it), nel caso
di malfunzionamento, potremmo ottenere due tipi di messaggio di
errore che ci possono dare informazioni diverse:
Se otteniamo un messaggio del tipo Errore 404, pagina non trovata
vuol dire che la rete funziona correttamente, ma vi possono essere
eventualmente problemi sul server.
Se otteniamo un messaggio di errore del tipo il server non esiste o
non posso trovare il server allora siamo di fronte ad un possibile
problema di rete.
Uso di nslookup
 Nslookup (Name Server Lookup) è uno strumento presente in
tutti i sistemi operativi che utilizzano il protocollo TCP/IP
(Gnu/Linux, Unix, MAC OS X, Windows).
Nslookup consente di effettuare delle query (richieste) ad un
server DNS per la risoluzione di indirizzi IP o Hostname, per
poter ottenere da un dominio il relativo indirizzo IP o nome host
e viceversa. Si può utilizzare in due modi: interattivo e non
interattivo.
Il portscanner nmap
 Nel film Matrix Reloaded Trinity usa
Nmap per penetrare nel sistema della
centrale elettrica, tramite la
forzatura dei servizi SSH.
 Nmap è nato come scanner di rete ed
è diventato un tool molto ricco,
utilizzabile sia allo scopo di prevenire
attacchi che di effettuarli.
 Nmap è scritto per sistemi Linux ed è
possibile utilizzarlo sia da linea di
comando, sia tramite interfaccia
grafica. Attuelmente ne esiste anche
una versione per windows
Il portscanner nmap
 Sintassi:
nmap -[tipi di scan] -[opzioni] <host o segmenti di rete>
 Uso classico
nmap -A -v www.ipsiacastigliano.it
 Opzioni comuni





-A Opzione di scan aggressive)
-vv Aumenta la quantita` di informazioni
-sS Lancia un SYN scan invisibile
-p Port range
-P0 Considera tutti gli hosts on line - salta fase scoperta


-sP Ping Scan
-O Abilita l’individuazione del sistema operativo
Il portscanner nmap
nmap -sT -PI 172.16.1.0/24
Starting Nmap 4.20 ( http://insecure.org ) at 2008-01-31 19:36 CET
Interesting ports on 172.16.1.1:
Not shown: 1685 closed ports
PORT
STATE
SERVICE
22/tcp
open
ssh
80/tcp
open
http
139/tcp
open
netbios-ssn
#samba
445/tcp
open
microsoft-ds
#samba
3128/tcp open
squid-http
#proxy squid
4662/tcp filtered edonkey
#servizio filtrato dal firewall
4672/tcp filtered rfa
#servizio filtrato dal firewall
6346/tcp filtered gnutella
#servizio filtrato dal firewall
6347/tcp filtered gnutella2
#servizio filtrato dal firewall
6699/tcp filtered napster
#servizio filtrato dal firewall
8080/tcp open
http-proxy
10000/tcp open
snet-sensor-mgmt
#webmin
MAC Address: 00:19:D1:2D:5A:D9 (Unknown)
Il portscanner nmap

nmap -sT -sR -sV -I -O -PI -PT -vv 172.16.1.1-30 >
result.txt
…..
Host 172.16.1.24 appears to be up ... good.
Interesting ports on 172.16.1.24:
Not shown: 1693 closed ports
PORT
STATE SERVICE
VERSION
80/tcp
open http
HP PhotoSmart 8450 printer http config (Virata
embedded httpd 6_0_1)
9100/tcp open jetdirect
9101/tcp open jetdirect
9102/tcp open jetdirect
MAC Address: 00:1C:C4:74:2E:B6 (Unknown)
….
..molto bene ha scoperto anche la stampante.
Avrete a disposizione un universo di
informazioni
Tcpdump

tcpdump è un tool comune per il debug delle reti di computer the
funziona sotto riga di comando. Consente all'utente di intercettare e
visualizzare TCP/IP e altri pacchetti che vengono trasmessi o
ricevuti attraverso una rete al quale il computer è collegato.
 per il debugging di applicazioni scritte che utilizzano la rete per
le comunicazioni;
 per il debugging della configurazione di rete in sé, determinando
se tutti gli instradamenti necessari sono o non sono avvenuti
correttamente, consentendo all'utente di isolare
successivamente il sorgente del problema
 per intercettare e visualizzare le comunicazioni di un altro
utente o il computer. Alcuni protocolli, come telnet e HTTP,
trasmettono informazioni non cifrate attraverso la rete. Un
utente con controllo di un router o gateway attraverso il quale
passa il traffico non cifrato di altri computer può usare tcpdump
per vedere login ID, password, gli URL e i contenuti dei siti web
che sono stati visitati, o qualsiasi altra informazione.
Tcpdump

Sintassi:

Opzioni principali:
 -a Permette di convertire indirizzi broadcast e ip in nomi
 -c Esce dopo aver ricevuto un tot di pacchetti (es. c100)
 -e Stampa il mac address in ogni pacchetto catturata
 -F Permette di fornire i filtri da un file
 -i Definisce l'interfaccia di rete. (es. -i eth0 o -i lo)
 -n Non converte l'indirizzo ip in nome
 -p L’interfaccia locale non viene settata in modalità promiscua
 -r Utilizza il file specificato come input per i dati da filtrare
 -s Indica la quantità in bytes di un pacchetto catturato
 -v Verbose (incrementa il numero di informazioni)

Esempi d’uso: analisi del traffico icmp sull’interfaccia eth0
tcpdump [opzioni] [espressioni]
tcpdump –i eth0 –n icmp
Scarica

Ambienti di rete – Mod. 5 - Siti web cooperativi per le scuole