1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
\input texinfo @c -*-texinfo-*-
@setfilename EXAMPLES
@settitle EXAMPLES
@c @setchapternewpage odd
@c @paragraphindent asis
@c 1st page:
@titlepage
@title EXAMPLES
@c @subtitle subtitle
@author Francesco 'duskdruid' Stablum
@c copyright page
@end titlepage
@headings single
@c capitolo primo
@chapter Examples of tcpick usage
@section connection status
Tcpick is a sniffer able to understand wich status has the connection
(SYN-SENT, SYN-RECEIVED and so on). To see the connection tracker in
action on eth0 simply type:
@example
# tcpick -i eth0 -C
@end example
`-C' means ``enable colors'', and the output is very pretty.
You will see something like this:
@example
23:07:42.672171 1 SYN-SENT 12.34.56.78:41599 > 123.123.123.123:http
23:07:42.822239 2 SYN-SENT 12.34.56.78:41600 > 32.13.21.32:5973
23:07:42.826634 3 SYN-SENT 12.34.56.78:41601 > 123.45.67.89:5555
23:07:42.854681 4 SYN-SENT 12.34.56.78:41602 > 1.2.3.4:56789
23:07:43.084242 1 SYN-RECEIVED 12.34.56.78:41599 > 123.123.123.123:http
23:07:43.087045 1 ESTABLISHED 12.34.56.78:41599 > 123.123.123.123:http
23:07:44.061311 5 SYN-SENT 12.34.56.78:41603 > 10.20.30.40:8888
@end example
@section display the payload and packet headers
It is very easy:
@example
# tcpick -i eth0 -C -yP -h -a
@end example
`-yP' means ``payload printable'', `-h' means
``header'' and `-a' means names resolution.
Unprintable carachters are displayed as dots.
@section display client data only of the first smtp connection
@example
# tcpick -i eth0 -C -bCU -T1 "port 25"
@end example
`-bCU' means: display the rebuilded stream (`-b') only the client side
(`C') and unprintable carachters will be displayed as hexcode (`U').
`T1' means: display only the first (1) connection.
``port 25'' is the filter.
@section download a file passively
Yeah! It is very a simple job:
#tcpick -i eth0 -wR ``port ftp-data''
When the file has been completely transmitted (connection displayed as
``CLOSED'') check in the working directory: you will find some files
named like this:
@example
# ls *.tcpick
client_123.45.67.89_98.76.54.32_34567.tcpick
server_123.45.67.89_98.76.54.32_34567.tcpick
@end example
Bingo! If you do `$ file *.tcpick' you will find that one of the two is a
a gzip archive or whatever you sniffed.
@section redirect the first connection to a software
You must choose between client or server side, because you don't want
both stream mixed in the standard output. It is a really simple job,
just type:
@example
# tcpick -i eth0 --pipe client "port 80" | gzip > http_response.gz
@end example
or
@example
# tcpick -i eth0 --pipe server "port 25" | nc foobar.net 25
@end example
Now, use your imagination and let me know what crazy experiments have
you done with tcpick ;^)
|