Provided by:
tcpick_0.2.1-4ubuntu1_i386 
NAME
tcpick - sniffer tracciatore di connessioni
SYNOPSIS
tcpick [ -a ] [ -n ] [ -C ]
[ -e num ]
[ -i interfaccia | -r file ]
[ -X timeout ]
[ -D ] [ -F1 | -F2 ]
[ -yH | -yP | -yR | -yU | -yx | -yX ]
[ -bH | -bP | -bR | -bU | -bx | -bX ]
[ -wH[ub] | -wP[ub] | -wR[ub] | -wU[ub] ]
[ -v [ verbosity ]] [ -S ] [ -h ]
[ --separator ]
[ -T | -Tf [ n ]]
[ -E | -Ef [ n ]]
[ -Pc | -Ps ]
[ "filter" ]
[ --help ] [ --version ]
DESCRIZIONE
tcpick e’ uno sniffer con interfaccia testuale basato sulle celeberrime
librerie libpcap. Tra le sue funzioni quelle piu’ importanti sono la
capacita’ di tracciare flussi di dati trasferiti mediante il protocollo
tcp e la possibilita’ di salvare i dati catturati all’interno di files,
oppure di visualizzarli direttamente nel terminale. Puo’ essere
utilizzato per il download passivo di file trasferiti via ftp (per
l’http e’ neccessaria una ulteriore decodifica a livello applicazione).
Tra le modalita’ di visualizzazione dei dati ci sono: esadecimale,
esadecimale con ascii (ovvero il classico hexdump), visualizzazione dei
soli caratteri stampabili, modalita’ "raw" ecc. E’ disponibile anche
una modalita’ a colori per rendere l’output piu’ leggibile. Se viene
posizionato su un gateway puo’ essere utilizzato per osservare le
attivita’ degli utenti di una rete interna. Inoltre e’ adatto ad
essere utilizzato con strumenti testuali a riga di comando come grep,
sed e awk.
OPZIONI BASE
-i --interface interfaccia di rete
ascolta l’interfaccia selezionata, (p.es. ppp0 o eth0). Se non
e’ stata impostata l’opzione -i, tcpick selezionera’ di default
il primo dispositivo disponibile.
-r --readfile
legge i pacchetti da un file generato mediante tcpdump -w invece
di utilizzare un interfaccia di rete ordinaria.
"filtro"
E’ possibile impostare un filtro come quelli che si possono
impostare con tcpdump(1) Un esauriente lettura della manpage di
tcpdump(1) rendera’ chiara la logica di questa opzione.
-a Risolve i nomi degli host invece di mostrare indirizzi ip.
Attenzione: per ogni nuovo indirizzo ip sniffato verra’ generata
una richiesta dns! Usare con cautela su dispositivi di rete ad
alto traffico.
-C --colors
Usa colori e rende il terminale piu’ allegro per aiutarti a
leggere l’output.
-D n --dirs n
Crea directory per salvare le connessioni sniffate. Quando una
directory arriva a contenere n sessioni, una nuova directory
viene creata.
-e num Esce quando num pacchetti sono stati catturati.
-E n Esce quando n connessioni sono state tracciate (ovvero il loro
stato e’ "CLOSED")
-Ef n Esce quando le prime n connessioni sono identificate come
"CLOSED"
-F1 -F2 --filenaming 1|2
sceglie la tipologia di nome per i file delle sessioni sniffate
-F1 : tcpick_clientip_serverip.side.dat
(side puo’ essere clnt, serv o both)
-F2 : tcpick_connectionnumber_clientip_serverip.side.dat
-h Mostra ip e porta sorgente e destinazione. Mostra i flag TCP
come lettere.
--help Mostra un breve messaggio d’aiuto con il riassunto delle opzioni
disponibili.
-p Non imposta l’interfaccia di rete in modalita’ promisqua.
Attenzione pero’: l’interfaccia potrebbe essere in modalita’
promisqua per qualche altra ragione.
-S Sopprime la visualizzasione dello stato della connessione.
--separator
Aggiunge un separatore ai pacchetti.
-t Visualizza il tempo (timestamp) in questo formato:
ore:minuti:secondi:microsecondi
-td Esattamente come -t con lâ€â€™aggiunta della data nel formato
giorno-mese-anno
-T n Traccia solo n connessioni. Molto utile per reti ad elevato
traffico. Se n non e’ stato specificato, viene impostato a 1.
-Tf n Traccia solo le prime n connessioni; le successive saranno
ignorate. Se n non e’ stato specificato, viene impostato a 1.
-v verbosity
Opzione che probabilmente verra’ rimossa. Imposta il livello di
"verbosita’" Attualmente non ci sono molti messaggi extra da
visualizzare. -v1 e’ impostato di default. Impostare la
verbosita’ a 0 (-v0) per sopprimere ogni messaggio ad eccezione
degli errori. Non ci sono altri livelli di "verbosita’".
-X timeout
Le connessioni vengono considerate EXPIRED (scadute) quando non
vengono scambiati pacchetti per almeno timeout secondi. Di
default sono 600 secondi.
--version
Mostra la versione di tcpick
VISUALIZZARE I DATI CONTENUTI NEI PACCHETTI
Queste opzioni hanno come prefisso -y e sono utili per mostrare in
svariati formati il contenuto dei pacchetti (payload), ovvero i dati
che vengono trasferiti a livello applicazione non appena arrivano
all’interfaccia di rete selezionata. Questa opzione non sopprime i
pacchetti tcp duplicati e non c’e’ neanche il riordino degli stessi, ma
vengono mostrati "cosi’ come sono". Per ottenere un flusso ricostruito
e completamente riconosciuto (esattamente come fa lo stack di rete di
un S.O.) leggi la descrizione del set di opzioni -w e -b.
-yH Visualizza i dati come cifre esadecimali spaziate (per un
hexdump vero e proprio si veda -yx e -yX).
-yP Visualizza i dati contenuti nel pacchetto. Caratteri non
stampabili vengono visualizzati come punti: ".". Il carattere
di nuova riga e le tabulazioni non vengono convertite in punti.
Questo e’ probabilmente il modo migliore per vedere con
semplicita’ richieste HTTP, comunicazioni IRC, sessioni SMTP
eccetera.
-yR Modalita’ "raw". Visualizza tutti i caratteri, stampabili e non.
Se qualcosa di binario (o compresso) viene trasferito, l’effetto
sara’ probabilmente come visualizzare con "cat" un file zippato.
-yx Visualizza i dati in un dump esadecimale con 16 bytes per ogni
riga.
-yX Visualizza i dati come -yx con l’aggiunta della corrispettiva
stringa ascii nella stessa riga.
-yU Visualizza i dati come -yP, ma i caratteri non stampabili
vengono visualizzati come valori esadecimali racchiusi tra
parentesi angolari.
RICOSTRUIRE IL FLUSSO E SALVARLO SU FILE
Il prefisso di queste opzioni e’ -w. Attivando questa opzione le
sessioni sniffate vengono salvate su file nella directory corrente.
Il flusso viene ricostruito, riordinato e i pacchetti duplicati vengono
tralasciati. In questo modo e’ possibile sniffare interi file trasmessi
via ftp (per fare un esempio) senza corruzione dei dati (si puo’
verificare con md5sum).
Con il flag u dell’opzione -w (p.es. -wRu) i dati di entrambi client e
server verranno salvati su un unico file. Altrimenti i file saranno due
e i flussi ben separati.
Usando il flag addizionale b all’opzione -wu (p.es. -wPub), nel file
sara’ scritto questo banner
[client|server] offset prima:offset dopo (lunghezza del segmento
ricostruito)
per distinguere tra dati del client e del server nello stesso file
Se non viene attribuito nessun flag all’opzione -w i dati saranno
scritti come con -wR.
E’ possibile decidere di salvare i dati dei soli client o dei soli
server impostando il flag C (solo dati del client) oppure S (solo dati
del server) all’opzione -w.
-wR Questa e’ l’opzione preferita: i dati vengono scritti senza
alcun cambiamento. Utilissima per sniffare dati binari,
compressi o criptati.
(-wRC solo il client, -wRS solo il server)
-wP Caratteri stampabili vengono scritti come punti.
(-wPC solo il client, -wPS solo il server)
-wU Caratteri non stampabili vengono scritti come esadecimali tra
parentesi angolari.
(-wPC solo il client, -wPS solo il server)
-wH Il flusso e’ scritto sotto forma di esadecimali spaziati
(-wHC solo il client, -wHS solo il server)
VISUALIZZARE IL FLUSSO RICOSTRUITO
Il prefisso per queste opzioni e’ -b. Questo set di opzioni e’ molto
utile nell’intento di redirigere il flusso sniffato verso un’altro
programma tramite il pipe, e non ci dovrebbe essere corruzione dei
dati. Naturalmente il piu’ utile e’ -bR per utilizzare i dati cosi’
come sono (raw). Una funzionalita’ molto utile e’ C (visualizza solo
il client) e S (visualizza solo il server). p.es.: -bRC mostrera’ in
formato "raw" solo i dati dal client.
I flag del set di opzioni -b sono molto simili a -y:
-bH esadecimale spaziato
(-bHC solo il client, -bHS solo il server)
-bP caratteri non stampabili visualizzati come punti
(-bPC solo il client, -bPS solo il server)
-bR modalita’ raw
(-bRC solo il client, -bRS solo il server)
-bU caratteri non stampabili come esadecimali tra parentesi
angolari. (-bUC solo il client, -bUS solo il server)
-bx hexdump
(-bxC solo il client, -bxS solo il server)
-bU hexdump + ascii
(-bXC solo il client, -bXS solo il server)
-PC --pipe client
E’ un alias di -bRC -S -v0 -Tf1 -Ef1. Con questa opzione puoi
tracciare la prima connessione (-T1) e i dati vengono
visualizzato come "raw". Solo i dati che provengono dal client
vengono scritti sullo stdout. Tutti i messaggi vengono
soppressi, ad eccezione degli errori (-S -v0). L’intenzione di
questa opzione alias e’ di riassumere l’intento di scaricare per
intero un flusso di dati di una sessione tcp.
-PS --pipe server
E’ un alias di -bRS -S -v0 -Tf1 -Ef1.
EXAMPLES
Visualizzare gli stati delle connessioni
# tcpick -i eth0 -C
Visualizzare il contenuto del pacchetto e una stringa riassuntiva
dell’header:
# tcpick -i eth0 -C -yP -h -a
Visualizzare le email inviate da un utente
# tcpick -i eth0 -C -bCU -T1 "port 25"
scaricare file in maniera passiva
# tcpick -i eth0 -wR "port ftp-data"
loggare i dati http in file unici (client e server sono mescolati):
# tcpick -i eth0 "port 80" -wRub
redirigere la prima connessione verso un software
# tcpick -i eth0 --pipe client "port 80" | gzip >
http_response.gz
# tcpick -i eth0 --pipe server "port 25" | nc foobar.net 25
MAILING-LIST
Indirizzo: <tcpick-project[a]lists.sourceforge.net>
Archivio: http://sourceforge.net/mailarchive/forum.php?forum=tcpick-
project
Iscrizione: http://lists.sourceforge.net/lists/listinfo/tcpick-project
Se hai qualche nuova idea, patch, richiesta di funzionalita’ o
semplicemente necesiti di aiuto, scrivi in mailing-list!
TCPICK SUL WEB
La home-page di tcpick e’: http://tcpick.sf.net.
La pagina di progetto invece e’ qui’:
http://sourceforge.net/projects/tcpick kindly hosted by the sourceforge
team.
AUTORI
Controlla il file AUTHORS.
BACHI
Bachi? Ci sono bachi? Beh, tcpick non e’ certo un software perfetto, e
se hai qualche problema controlla il file KNOWN-BUGS.
Sembra che su alcune versioni di MacOSX capiti un Segmentation Fault e
ci siano problemi nel tracciamento delle connessioni.
Se trovi bachi, scrivi alla mailing-list.
VEDERE ANCHE
Altri simpatici sniffer:
tcpdump, ngrep, tcptrack, ettercap, ethereal, snort
LICENZA
Tcpick e’ rilasciato con la licenza GNU GPL. Per ulteriori informazioni
leggere il file COPYING (in inglese).
Principio di Shaw:
Fai un programma che anche un idiota puo’ usare,
e soltanto un idiota vorra’ usarlo.
tcpick(8)