200 likes | 335 Views
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
E N D
Linux e le reti – 2 Tiziano Ragazzi
Testare la tua NIC • In ambiente linux il comandoifconfigsenza parametri dà tutte le interfacce di rete attive • ifconfig –a dà tutte le interfacce comprese quelle inattive • Ad esempio: esito per interfacce wifi inattivawlan0 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 Linuxifconfig –a (o semplicemente ifconfig) • In ambiente Winipconfig /all
Ethtool • Usiamo ethtool per un’analisi più approfondita • Esempio:ethtool eth0Settings 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 connessioniarp -abigboypix (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 usarenetstat -iKernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 18976655 2 0 0 21343152 142 0 3 BMRU eth1 1500 0 855154 0 0 0 15196620 0 0 0 BMRU lo 16436 0 1784272 0 0 0 1784272 0 0 0 LRU
Netstat • Per ottenere informazioni sulle connessioni UDPnetstat –nuapActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 127.0.0.1:161 0.0.0.0:* 5052/snmpd udp 0 0 0.0.0.0:443 0.0.0.0:* 3731/openvpn • Per ottenere informazioni sulle connessioni TCPnetstat –ntapActive 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 (echo-request) 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 25Trying 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.it250 vega.it Hello <Nome del proprio pc> [<IP del proprio pc>], pleased to meet youhelp214-2.0.0 This is sendmail version 8.12.9214-2.0.0 Topics:214-2.0.0 HELO EHLO MAIL RCPT DATA214-2.0.0 RSET NOOP QUIT HELP VRFY214-2.0.0 EXPN VERB ETRN DSN AUTH214-2.0.0 STARTTLS214-2.0.0 For more info use "HELP <topic>".214-2.0.0 To report bugs in the implementation send email to214-2.0.0 sendmail-bugs@sendmail.org.mail from: actarus@vega.it250 2.1.0 <actarus@vega.it>... Sender okrcpt to: venusia@venus.it250 2.1.5 <venusia@venus.it>... Recipient okdata354 Enter mail, end with "." on a line by itselfsubject: Importante!Ci vediamo stasera?. 250 2.0.0 <codice del messaggio> Message accepted for deliveryquit221 2.0.0 vega.it closing connectionConnection closed by foreign host.
Controllo del dns • Se il server risulta raggiungibile mediante l'indicazione del solo indirizzo IPallora 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).Nslookupconsente 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 classiconmap -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: tcpdump [opzioni] [espressioni] • 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 eth0tcpdump –i eth0 –n icmp