Hi,
Damian suggested to post this to the entire list: Given the
dark abyss that packet dissection libraries available to Python are,
I've just started a foreign function interface to Wireshark. Wirepy aims
to make the most useful features of Wireshark - more than 1.400
protocols supported in current svn, endless extra information through
taps / session reconstruction, wide platform support - available to
Python code. Wirepy uses the libraries underneath the Wireshark GUI directly and can - in principle - do anything Wireshark does.
The library is compatible to Python3 (python2 may work but untested / don't care) and PyPy. It just matured to it's own git repo and is just good
enough to capture and dissect traffic with close-to-metal code.
While valgrind shows that about 35% of cpu time is spent in the Python interpreter, a single of my laptop's cores can handle about 100mbit of traffic per second - *much* more than other python libraries. Multiple cpu cores can easily be used by help of the multiprocessing module.
The code now lives at
https://github.com/lukaslueg/wirepyI'd
be grateful for comments, passing the word, and contributions.
Best regards