To all those who tried 3.0 and ended up with a compile-time error I sincerely apologize. I released the wrong version of the code to the general public. I have rereleased 3.0 with the right code this time!
Pylibnet 3 comes with some nice features for some quick and dirty scripting. Check out lnsh the new libneterpreter. No need to initialize or import things all the time. The whole environment is set up for you right out of the box when you want to test something quickly. Works in both scripted and interpreter (or command line) mode. Just type 'lnsh' after installing and enjoy the magic. Also, a few significant bug fixes to workaround some libnet bugs. Hopefully the bug submissions will be accepted by the authors of libnet in the near future and all these workarounds will become obsolete. As usual, enjoy injecting and let me know if you'd like to see some more features. Check out the examples as well!
This new version of pylibnet fixes a lot of funky bugs.
RC8 has just been released sporting some great new features. The parsers have been renamed and improved to show more information. The getpacket() function now shows a user friendly representation of the entire packet. The getheader() function does the same for individual headers. getpacket_raw() and getheader_raw() return a string representing the packet and header data, respectively. Try it out!
Python Libnet RC6 is out and it has a full set of parsers. Check it out! Take a look at it and play around with the help docs. Take a look at the new features:
* The plist object - allows you to easily create port lists. Try it out by using libnet.plist('1-23,45-67')
* The parsers allow you to get a quick view of the packet header. Just create the packet header with one of the build_* functions and then use getpacket(ptag) to see the values of the fields in the header.
* Try help(libnet) to read the nifty documentation... read more
The new version of pylibnet is out and about with pydoc's and packet parsers that return packet fields and values in a user-friendly format... dictionaries! All of the functions can handle keyword arguments. This means that you have to specify less parameters when building packets! Check out the web page http://pylibnet.sourceforge.net to see how simple it is to inject packets!
Fresh off the press. This version of pylibnet will now compile on Debian or Linux-based operating systems. Try it out and let us know!
For those of you who aren't interested in installing Cython, there is a SWIG version of the python library available in the CVS in the 'pylibnet' module that now supports libnet-1.1.2. It has a setup.py script to make the installation easier. The pylibnet-swig package features a complete implementation of the libnet 1.1.2 library. Check it out!
There was a small bug in the first release of the beta which had the device name hard-coded in the constructor. That would have given you all sorts of IOCTL errors. Download the latest from this site and you should be good to go now.
The long awaited release for a python libnet module that adheres to the 1.1.x libnet API is finally here. Although this is still a preliminary release, it still has most of the functionality you'd expect from a libnet module. All the autobuild/build, resolver, and packet injection wrappers have been written. All that is left to do is the context queuing and chaining functionality, and ofcourse... documentation. Also, we will be working closely with Mike Schmidt (creator of libnet) to make the libnet library libffi compatible. Which could make libnet much easier to wrap in other languages such as Ruby and Python.
pylibnet 1.1 is finally released!
We have some exciting news: pylibnet will compile on Mac OS/X, Debian, and other linux variants with no headaches! How sweet is that? The API has changed slightly. Any references to libnetc are now obsolete and everything can be referenced using libnet.*. Isn't that great? No more decision-making (i.e. "libnet or libnetc? hmmm..."). Packet printing has never been easier just type 'print pkt' and off you go! The SWIG wrapper has been updated to comply with SWIG 1.3 standards. The compilation problems associated with 1.0 with regards to C macro expansions have been resolved. Just download the darn thing already and give it a swing! We promise you'll love it! The only unfortunate news is that this release has not been ported to use libnet-1.1.1. That will come soon. Now go enjoy 1.1.
A python module for the libnet packet construction library is now available. Requires SWIG (www.swig.org) and libnet (www.packetfactory.net/libnet). A linux binary is also available.
This was built and tested for python 1.52 so your mileage may vary.
Developers are welcome.