Come controllare la rete dalla shell Linux

Monitoring dal Terminale

Monitoring dal Terminale

PREMESSA

Purtroppo rispetto a molte altre nazioni nel mondo e, nella stessa Europa, ci troviamo ad avere ancora delle connessioni ad Internet che, nella maggior parte del paese, sono a dir poco scandalose.

In precedenti articoli abbiamo provato a mettere un po’ di pepe al nostro pc lavorando sulla gestione della RAM oppure sulla modifica dei parametri del kernel tramite Sysctl, oppure accellerando la risoluzione degli indirizzi DNS tramite la creazione di un meccanismo di Cache usando, ad esempio, PDNSD.

Oggi vedremo come colmare quella parte di “monitoring” sulla velocita’ della nostra rete, presentando questo elenco di utilissimi tool, da riga di comando, che vi permetteranno di avere il polso della situazione in tempo reale. Troverete sicuramente quello che fa al caso vostro.

P.S. : I seguenti programmi sono tutti disponibili nei repository principali di Ubuntu, quindi per installarli bastera’ scrivere :

apt-get install nome del programma

NETWORK TOOL

IPTState : un’interfaccia simile a Top collegata alla vostra tabella connection-tracking di netfilter.
Utilizzando iptstate si può verificare in modo interattivo il traffico che attraversa il tuo firewall netfilter/iptables , ordinato per vari criteri, è possibile limitare la visualizzazione con vari criteri, ed e’ possibile cancellare gli stati dalla tabella.

Pktstat : visualizza un elenco in tempo reale delle connessioni attive viste su una interfaccia di rete, e quanta banda viene utilizzata. Parzialmente decodifica i protocolli HTTP e FTP per mostrare il nome del file che viene trasferito. Anche i nomi delle applicazioni X11 sono mostrate.

NetHogs : diversamente da altri, invece che “spacchettare” il traffico verso il “basso” per protocollo o per sottorete, come la maggior parte degli strumenti fanno, mostra la banda utilizzata dai vari programmi. NetHogs non si basa su un modulo del kernel speciale da caricare. Se c’è ad un tratto molto traffico di rete, si può lanciare subito NetHogs e vedere immediatamente quale PID è la causa. Questo rende facile individuare i programmi che sono impazziti e stanno improvvisamente prendendo tutta la vostra banda di rete.

IPTraf : un programma (storico) che raccoglie statistiche di rete per Linux. Anch’esso raccoglie una serie di dati come i pacchetti delle connessioni TCP e conteggio dei byte, le statistiche sulle interfaccie e gli indicatori di attività, dati TCP/UDP sul traffico, e traffico per LAN.

Bmon : bmon è un monitor di banda, destinato per il debug ed il monitoraggio real-time, in grado di recuperare le statistiche da vari tipi d’ingresso. Fornisce metodi di uscita vari tra cui un’interfaccia basata su librerie curses. L’insieme dei moduli per l’input sono specifici per ogni tipologia di architettura e prevedono un nucleo comune con l’elenco delle interfacce e dei loro contatori.

Il nucleo memorizza questi contatori e fornisce una stima della velocità ed una storia degli ultimi 60 secondi, minuti, ore e giorni ai moduli di uscita che li mostrano in base alla configurazione, durante l’esecuzione, è possibile selezionare l’interfaccia da controllare e premere il tasto “g” per vedere un grafico attivo come questo:

Speedometer : si tratta di un interessante progetto che permette di visualizzare e misurare la velocità dei dati attraverso una rete o dei dati che vengono memorizzati in un file,

Come potrete vedere, anche se si tratta di un tool basato sulla riga di comando, ha dei bei colori vivaci e altre cose che lo rendono uno strumento piuttosto user-friendly, ha la capacità di monitorare la velocità in tempo reale di download/upload delle connessioni di rete e può essere utilizzato anche per misurare la velocità di scrittura in un file system.

Nload : nload è un’applicazione da console che controlla il traffico di rete e l’utilizzo della larghezza di banda in tempo reale. Esso visualizza il traffico in entrata ed in uscita utilizzando due grafici e fornisce informazioni aggiuntive come quantità totale di dati trasferiti e min/max di utilizzo della rete.

 

La cosa migliore e’ sicuramente quella di testarli tutti, magari su macchine virtuali, per poter meglio decidere quali fanno esattamente al caso vostro.

 

#ControllalaRetedallaShell

Naviga piu’ veloce

dnsVelocizzare la navigazione in Internet con un Proxy DNS

Avvertite l’esigenza di provare una navigazione sempre piu’ veolce ? I DNS del vostro provider fanno i capricci e voi siete stufi di dover navigare a singhiozzo ? Avete due alternative: usare i DNS messi a disposizione dal progetto OpenDNS ( anche se comunque, di “aperto” non ha proprio nulla ) oppure installare sul vostro PC o sul vostro gateway pdnsd.

pdnsd è un proxy DNS che, grazie alla sua cache su disco, consente di memorizzare le coppie indirizzo IP / nome host, evitando di dover effettuare ogni volta la risoluzione DNS e migliorando leggermente la velocità di navigazione. L’installazione risulta agevole su tutte le distribuzioni, essendo limitata alla modifica del file /etc/resolv.conf ed all’editing del file di configurazione di pdnsd: per le distro Ubuntu & Debian il tutto si risolve con un classico : sudo apt-get istall pdnsd 

Prima di modificare qualunque file di sistema il consiglio e’ sempre quello : ” fate una copia di BACKUP “.

  • sudo cp /etc/pdnsd.conf /etc/pdnsd.conf.orig
  • sudo cp /etc/resolv.conf /etc/resolv.conf.orig

 

Editando il file /etc/resolv.conf , questo dovra’ avere come unica voce nameserver il solo valore 127.0.0.1 

Prima di attivare il servizio facciamo un test di risoluzione DNS, che ripeteremo una volta ultimate le modifiche ed attivato il nuovo servizio cosi’ da poter capire se e di quanto sia variata la risoluzione, quindi eseguiamo questo comando :

# dig www.distrowatch.org | grep "Query time"
;; Query time: 322 msec

Attivare il servizio

Modificare il file /etc/default/pdnsd attivando il daemon e disattivando i restanti due parametri:

# do we start pdnsd ?
START_DAEMON=yes
# auto-mode, overrides /etc/pdsnd.conf if set [see /usr/share/pdnsd/]
#AUTO_MODE=
# optional CLI options to pass to pdnsd(8)
#START_OPTIONS=

E’ importante soprattutto commentare AUTO_MODE in quando, come descritto nella riga di commento che lo precede, il file di configurazione “principale” verrebbe altrimenti ignorato.

Configurare PDNSD

Il file di configurazione è /etc/pdnsd.conf. Qui ci si può sbizzarrire con i vari parametri di configurazione. Questa è la mia configurazione:

global {
perm_cache=2048;
cache_dir="/var/cache/pdnsd";
run_as="pdnsd";
server_ip = any;
paranoid=on;
min_ttl=15m;
max_ttl=1w;
timeout=10;
}

server {
label=”OpenDNS”;
ip=208.67.222.222,208.67.220.220;
timeout=30;
interval=30;
uptest=ping;
ping_timeout=30;
purge_cache=off;
}

source {
owner=localhost;
file=”/etc/hosts”;
}

rr {
name=localhost;
reverse=on;
a=127.0.0.1;
owner=localhost;
soa=localhost,root.localhost,42,86400,900,86400,86400;
}

Pronti a partire

Non resta che avviare il daemon:

/etc/init.d/pdnsd start

 

La differenza

La stessa query di cui sopra eseguita in cache:

# dig www.distrowatch.org | grep "Query time"
;; Query time: 2 msec

Inutile dire che i tempi di risoluzione degli hosts sono più che rapidi, e la navigazione su internet è decisamente più veloce.