tcpick - sniffer tracciatore di connessioni
Synopsis
Descrizione
Opzioni Base
Visualizzare I Dati Contenuti Nei Pacchetti
Ricostruire Il Flusso E Salvarlo Su File
Visualizzare Il Flusso Ricostruito
Examples
Mailing-list
Tcpick Sul Web
Autori
Bachi
Vedere Anche
Licenza
Principio di Shaw:
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 ]
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 allinterno di files, oppure di visualizzarli direttamente nel terminale. Puo essere utilizzato per il download passivo di file trasferiti via ftp (per lhttp 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 loutput 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.
-i --interface interfaccia di rete ascolta linterfaccia selezionata, (p.es. ppp0 o eth0). Se non e stata impostata lopzione -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 loutput. -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 daiuto con il riassunto delle opzioni disponibili. -p Non imposta linterfaccia di rete in modalita promisqua. Attenzione pero: linterfaccia 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 -tP con laggiunta 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
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 allinterfaccia di rete selezionata. Questa opzione non sopprime i pacchetti tcp duplicati e non ce 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, leffetto 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 laggiunta 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.
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 dellopzione -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 allopzione -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 allopzione -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) allopzione -w.
-wR Questa e lopzione 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)
Il prefisso per queste opzioni e -b. Questo set di opzioni e molto utile nellintento di redirigere il flusso sniffato verso unaltro 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). Lintenzione di questa opzione alias e di riassumere lintento di scaricare per intero un flusso di dati di una sessione tcp. -PS --pipe server E un alias di -bRS -S -v0 -Tf1 -Ef1.
Visualizzare gli stati delle connessioni # tcpick -i eth0 -C
Visualizzare il contenuto del pacchetto e una stringa riassuntiva dellheader: # 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
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!
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.
Controlla il file AUTHORS.
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.
Altri simpatici sniffer:
tcpdump, ngrep, tcptrack, ettercap, ethereal, snort
Tcpick e rilasciato con la licenza GNU GPL. Per ulteriori informazioni leggere il file COPYING (in inglese).
Fai un programma che anche un idiota puo usare,
e soltanto un idiota vorra usarlo.
Top of page |
tcpick (8) |
If you would like to republish one of the articles from this site on your webpage or print journal please contact IronGeek.
Copyright 2020, IronGeek