Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
PacketFu, a mid-level packet manipulation library for Ruby
Ruby
branch: master

This branch is 67 commits behind packetfu:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bench
examples
lib
spec
test
.document
.gitignore
.mailmap
INSTALL.rdoc
LICENSE.txt
README.rdoc
Rakefile
packetfu.gemspec
setup.rb

README.rdoc

PacketFu

A library for reading and writing packets to an interface or to a libpcap-formatted file.

It is maintained at code.google.com/p/packetfu and github.com/todb/packetfu (which repository will win?)

Documentation

PacketFu is rdoc-compatible, which means it's sdoc compatible. In the same directory as this file, run “sdoc” by itself (gem install sdoc), and then view doc/index.html with your favored browser. Once that's done, navigate at the top, and read up on how to create a Packet or Capture from an interface with show_live or whatever.

Requirements

PcapRub:

$ rvm gem install pcaprub

Marshall Beddoe's PcapRub is required only for packet reading and writing from a network interfaces (which is a pretty big only). PcapRub itself relies on libpcap 0.9.8 or later for packet injection. PcapRub also requires root privileges to access the interface directly.

Platforms

I tend to test with the following (with bash):

date > /tmp/tests.txt; for i in default 1.8.6-p420 1.8.7-p334 1.9.1-p431 1.9.2-p180 1.9.3-head
do rvm use $i >> /tmp/tests.txt
echo Testing with $i
echo $i >> /tmp/tests.txt; echo +++++++++++++++++++++++ >> /tmp/tests.txt
rvmsudo ./all_tests.rb >> /tmp/tests.txt; rspec . >> /tmp/tests.txt
done

Problem Platforms

  • 1.8.6-p420 – Has problems with pcaprub and capture/inject. Technically, these are pcaprub problems and not PacketFu problems, but PacketFu should at least fail better at them.

  • 1.9.1-p431 – Has problems with loading gems in general, see redmine.ruby-lang.org/issues/2404

  • 2.0.0-p0 – Has problems with binary encoding of strings that do not manifest in 1.9.x See github.com/todb/packetfu/issues/28

Passing Platforms

  • 1.9.1-p378

  • 1.8.7-p334

  • 1.9.2-p180 (suggested version)

  • 1.9.3-head

Examples

PacketFu ships with dozens and dozens of tests, built on Test::Unit. These should give good pointers on how you're expected to use it. See the /tests directory. Furthermore, PacketFu also ships with packetfu-shell.rb, which should be run via IRB (as root, if you intend to use your interfaces).

Author

PacketFu is maintained primarily by Tod Beardsley todb@planb-security.net, with help from Open Source Land.

See LICENSE for licensing details.

Something went wrong with that request. Please try again.