+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| |
+ +------+ +
| / /| /------------\ |
+ +------+ | /...internet...\ +
| | | | |............+----+ |
+ | data |<--------->|............|user| +
| | | | ^ |............+----+ |
+ | |/ | |..............| +
| +------+ | \............../ |
+ | \------------/ +
| | |
+ +---------+ +
| |CARNIVORE| |
+ +---------+ +
| |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
1) Find a computer that runs Linux and is connected to an Ethernet.
2) Install tcpdump (http://www.tcpdump.org/).
3) Install tcpdump2ascii (http://www.bogus.net/~codex).
4) Install Pircd (http://pircd.sourceforge.net/), an IRC server daemon.
We suggest the following customizations to Pircd: turn off the PING/PONG
feature; turn off the flood protection feature; add a line at the
beginning of the main "for" loop to clear each client's inbuffer; add a
mechanism for filtering who can/cannot connect to your server--else you
will get hacked very quickly =)
5) Install this tcpdump client.
6) Now, write your own visualization clients. You can use any language
that supports direct network connections including Perl, Java, and
Flash. Here is a basic client to get you started. If you want to write
your own clients, the IRC protocol goes something like this:
Send: USER my_client
Send: NICK me
Receive: PING :some_number (this is what you will get from the IRC server,
reply with a PONG that includes the same number)
Send: PONG :some_number
Send: JOIN #carnivore
Receive: ...a never ending stream of juicy tcp/ip packets... yum!
7) Yes, it's that easy. And yes, it doesn't cost a million bucks.