Adding Decoder application. git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@125 52acb1d6-8a22-11de-b505-999d5b087335
67 lines
2.2 KiB
Plaintext
67 lines
2.2 KiB
Plaintext
Decoder is a tool that decodes packet dumps according to the Second
|
|
Life network protocol. Decoder tries to be semi-intelligent about
|
|
finding packet data in its input, and in particular supports Second
|
|
Life console logs and (properly generated) TCPDump output, as
|
|
described below.
|
|
|
|
BUILDING
|
|
========
|
|
|
|
To build Decoder, you must check out the entire libsecondlife trunk
|
|
with subversion:
|
|
|
|
svn co svn://svn.gna.org/svn/libsecondlife/trunk libsecondlife
|
|
|
|
The libsecondlife-cs project must be built first; see
|
|
libsecondlife-cs/README for instructions. Building SLProxy should be
|
|
straightforward with Microsoft Visual Studio. If you're using Mono,
|
|
you can build the solution with the included build script:
|
|
|
|
perl build
|
|
|
|
The SLProxy library and its example applications will be built in
|
|
bin/Debug. In order to run the example applications, you must first
|
|
add the libsecondlife-cs build directory to your MONO_PATH environment
|
|
variable. For example, if your libsecondlife-cs directory is
|
|
~/libsecondlife/libsecondlife-cs and your shell is bash, you can type:
|
|
|
|
export MONO_PATH=$MONO_PATH:~/libsecondlife/libsecondlife-cs/bin/Debug/
|
|
|
|
SUPPORTED LOG FORMATS
|
|
=====================
|
|
|
|
You can use Decoder by either copying and pasting packet dumps
|
|
directly, or piping it a logfile, as below:
|
|
|
|
Decoder.exe < some.log
|
|
|
|
After pasting a packet dump directly into Decoder, you may have to
|
|
press enter a couple times to indicate that the packet dump is
|
|
complete. Decoder will attempt to automatically detect the format of
|
|
its input:
|
|
|
|
1. Generic
|
|
----------
|
|
|
|
If Decoder doesn't detect a log format it understands, it will operate
|
|
in Generic mode, in which it will look for hex dumps of packets.
|
|
While operating in generic mode, Decoder assumes that the packet dump
|
|
ONLY contains the packet data, without the UDP header.
|
|
|
|
2. Second Life Console
|
|
----------------------
|
|
|
|
Decoder understands the console output from Second Life; you can use
|
|
this to parse packets that are dumped prior to a crash.
|
|
|
|
3. TCPDump
|
|
----------
|
|
|
|
You can decode an entire Second Life session by giving Decoder a
|
|
properly generated tcpdump log. You must run tcpdump with the options
|
|
`-x -s0'. For example, using Mono:
|
|
|
|
$ sudo tcpdump -x -s0 | mono Decoder.exe > ~/sldump
|
|
|
|
See the manpage for tcpdump(1) for more information.
|