Pio
Pio is a ruby gem to easily parse and generate network packets.
Features Overview
- Pure Ruby. No additional dependency on other external tools to parse/generate packets.
- Multi-Platform. Runs on major operating systems (recent Windows, Linux, and MacOSX).
- Clean Code. Pio is built on BinData's declarative binary format DSL so that it is easy to read and debug by human beings.
Supported packet formats
Pio supports the following packet formats:
- ICMP
- ARP
- LLDP
- DHCP
- UDP
- OpenFlow 1.0
- Hello
- HelloFailed
- BadRequest
- Echo Request
- Echo Reply
- Features Request
- Features Reply
- Packet In
- Packet Out
- Flow Mod
- Port Status
- Exact Match
- Barrier Request
- Barrier Reply
- Description Stats Request
- Description Stats Reply
- Flow Stats Request
- Flow Stats Reply
- Aggregate Stats Request
- Aggregate Stats Reply
- OpenFlow 1.3
Installation
The simplest way to install Pio is to use Bundler.
Add Pio to your Gemfile
:
gem 'pio'
and install it by running Bundler:
bundle
Documents
Team
Contributors
https://github.com/trema/pio/contributors
Alternatives
- PacketFu: https://github.com/todb/packetfu
- Racket: http://spoofed.org/files/racket/
License
Pio is released under the GNU General Public License version 3.0: