Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

PacketFu, a mid-level packet manipulation library for Ruby

branch: master
README.rdoc

PacketFu

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

It is maintained at github.com/packetfu/packetfu .

Documentation

PacketFu is yard-compatible (as well as sdoc/rdoc, if you prefer). You can generate local documentation easily with either `yard doc .` or `sdoc`, and 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

Given the security issues with older Rubies and the long-past [EOL for 1.8.x](www.ruby-lang.org/en/news/2011/10/06/plans-for-1-8-7/), PacketFu is rather stuck on very recent versions of 1.9.3 (as of this moment, the version to trust is 1.9.3-p484).

1.8.x

EOL, no longer supported in any sense. PacketFu may or may not work.

1.9.x

1.9.3-p484.

2.x

Not yet vetted. I don't believe there's anything exciting in these platforms, but there has been no attempt yet to perform formal testing. I know, I'm behind the times.

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@packetfu.com, with help from Open Source Land.

See LICENSE for licensing details.

Something went wrong with that request. Please try again.