Ostinato - Packet/Traffic Generator and Analyzer
Go to file
2015-07-02 18:29:24 +05:30
binding Infra: Added code to disable notifications for python-ostinato scripts since python-ostinato does not expect and hence does not know how to deal with notifications 2015-05-01 21:41:04 +05:30
client Fixed gcc4 warnings 2015-06-05 20:18:41 +05:30
common Bugfix(collateral): Fixed TCP/UDP checksum on big-endian platforms; collateral of changes made in IPv4/IPv6 pseudo header cksum for variable fields feature 2015-06-06 15:28:16 +05:30
extra Feature: Reserve Ports for cooperative use of shared drone. If a port is reserved the GUI will display the username of the owner but others can still view and control the port; in other words, we just potentially prevent unintentional usage of other people's ports, users still need to play nice with each other! 2015-04-16 22:20:07 +05:30
rpc Bugfix (collateral): Fixed msg parsing logic for blob/error which causes GUI to crash or become unresponsive; this was a colleteral of reworking of the msg parsing code to fix day one issues in revision c484106d19b8 2015-06-14 18:02:22 +05:30
server Infra: Added code to disable notifications for python-ostinato scripts since python-ostinato does not expect and hence does not know how to deal with notifications 2015-05-01 21:41:04 +05:30
test Feature (contd.): Variable Fields - renamed variable_fields as singular; this makes it consistent with other repeated variables in protocol.proto and in any case the C++/Python generated code "sounds" better with a repeated field named in its singular form, rather than plural 2015-05-31 20:14:32 +05:30
.hgignore Feature: Reserve Ports for cooperative use of shared drone. If a port is reserved the GUI will display the username of the owner but others can still view and control the port; in other words, we just potentially prevent unintentional usage of other people's ports, users still need to play nice with each other! 2015-04-16 22:20:07 +05:30
.vimrc Feature: Reserve Ports for cooperative use of shared drone. If a port is reserved the GUI will display the username of the owner but others can still view and control the port; in other words, we just potentially prevent unintentional usage of other people's ports, users still need to play nice with each other! 2015-04-16 22:20:07 +05:30
COPYING Feature: Reserve Ports for cooperative use of shared drone. If a port is reserved the GUI will display the username of the owner but others can still view and control the port; in other words, we just potentially prevent unintentional usage of other people's ports, users still need to play nice with each other! 2015-04-16 22:20:07 +05:30
install.pri Feature: Reserve Ports for cooperative use of shared drone. If a port is reserved the GUI will display the username of the owner but others can still view and control the port; in other words, we just potentially prevent unintentional usage of other people's ports, users still need to play nice with each other! 2015-04-16 22:20:07 +05:30
ost.pro Feature: Reserve Ports for cooperative use of shared drone. If a port is reserved the GUI will display the username of the owner but others can still view and control the port; in other words, we just potentially prevent unintentional usage of other people's ports, users still need to play nice with each other! 2015-04-16 22:20:07 +05:30
protobuf.pri Fixed gcc4 warnings 2015-06-05 20:18:41 +05:30
README.md ../../gc2gh/finishGoogleCodeGitHubWikiMigration: Moved ProjectHome.md from wiki branch to README.md in master branch. 2015-07-02 18:29:24 +05:30
version.pri Bumped version to 0.7.1 2015-06-15 18:10:09 +05:30

Bookmark and Share


Breaking News (2015-06-15): Ostinato version 0.7.1 released! ChangeLog


<wiki:gadget url="http://hosting.gmodules.com/ig/gadgets/file/117254926214212765027/image_selector.xml" width="100%" height="100" border="0" />

Introduction

Ostinato is an open-source, cross-platform network packet crafter/traffic generator and analyzer with a friendly GUI. Craft and send packets of several streams with different protocols at different rates. For the full feature list see below.

Ostinato aims to be "Wireshark in Reverse" and become complementary to Wireshark.

Here's a screencast showing basic usage -

Features

  • Runs on Windows, Linux, BSD and Mac OS X (Will probably run on other platforms also with little or no modification but this hasn't been tested)
  • Open, edit, replay and save PCAP files
  • Support for the most common standard protocols
    • Ethernet/802.3/LLC SNAP
    • VLAN (with QinQ)
    • ARP, IPv4, IPv6, IP-in-IP a.k.a IP Tunnelling (6over4, 4over6, 4over4, 6over6)
    • TCP, UDP, ICMPv4, ICMPv6, IGMP, MLD
    • Any text based protocol (HTTP, SIP, RTSP, NNTP etc.)
    • More protocols in the works ...
  • Modify any field of any protocol (some protocols allow changing packet fields with every packet at run time e.g. changing IP/MAC addresses)
  • User provided Hex Dump - specify some or all bytes in a packet
  • User defined script to substitute for an unimplemented protocol (EXPERIMENTAL)
  • Stack protocols in any arbitrary order
  • Create and configure multiple streams
  • Configure stream rates, bursts, no. of packets
  • Single client can control and configure multiple ports on multiple computers generating traffic
  • Exclusive control of a port to prevent the OS from sending stray packets provides a controlled testing environment
  • Statistics Window shows realtime port receive/transmit statistics and rates
  • Capture packets and view them (needs Wireshark to view the captured packets)
  • Framework to add new protocol builders easily

Some screenshots (click to view larger image) -

Main Window Stream Configuration -
Protocol Selection (Simple Mode)
Stream Configuration -
Protocol Data
More Screenshots ...
Stream Configuration -
Stream Control
Stream Configuration -
Packet View

Testimonials

...thanks for developing ostinato: this was a really missing piece in the open-source networking world - Luca Deri (ntop.org) Email

Before I go any further I need to give another shout out to an excellent open source piece of software I found. Ostinato turns you into a packet ninja. Theres literally no limit to what you can do with it. Without Ostinato I could have never gotten beyond this point - Kristian Kielhofner ("Packets of Death" AstLinux, Star2Star) Blog

Napatech supports a number of open-source software applications that can also help customers accelerate their development ... Ostinato for Traffic Generation Article

Ostinato is more stable [than similar tools] and has a more complete roadmap Blog

If your [sic] looking for GUI based packet generator then Ostinato is one of the best option Blog

First - great program - and I'm so happy to see that it's actively being developed Email

Many thanks for developing this great software and giving good support Email

News

June 2015

  • Ostinato podcast with [twitter.com/ecbanks @ecbanks] PacketPushers
  • 0.7.1 released ChangeLog
  • 0.7 released ChangeLog

    December 2014

  • vDrone - drone only appliance published

    August 2014

  • DPDK accelerated Ostinato - Solo Prize Winner of 6WIND: Speed Matters DPDK design contest

    July 2014

  • 0.6 released ChangeLog

    June 2014

  • Ostinato Python Bindings 0.6beta release available on PyPi Details

    May 2013

  • Linux binary packages now available for recent distros - Debian 7.0, Fedora 18, openSUSE 12.3, Ubuntu 12.10, Ubuntu 13.04

    March 2013

  • Ostinato is now available in the FreeBSD ports collection

    August 2012

  • 0.5.1 released ChangeLog

    June 2012

  • Linux binary packages available for Fedora 17 and Ubuntu 12.04

Older News

Follow ostinato on Twitter Follow Ostinato News on Twitter

Documentation

  1. A Quickstart for the impatient
  2. User Guide
  3. Writing a script to fill-in for an unimplemented protocol
  4. Developers: read Writing a Protocol Builder

For more, see the full list of documents in the wiki.

Slides from the FOSS.IN 2010 Conference -
<wiki:gadget url="http://hosting.gmodules.com/ig/gadgets/file/108621208120033273647/my_gadgets_gs.xml" width="425" height="355" border="0" up_File="http://www.slideshare.net/slideshow/embed_code/key/4GL89vItSSaxZD" up_ContainerCol="#ffffff" up_FWidth="425" up_FHeight="355" up_FScroll="no" up_Text="Ostinato @ FOSS.IN 2010"/>

Getting Ostinato

Source and binary packages are available for several platforms/distros. See Downloads

Mailing List

For queries/bugs/feedback/suggestions, send an email to the mailing list - ostinato@googlegroups.com

You can also join the mailing list or read the archives.

Contributing to Ostinato

For source code contributions (fixes/features etc.) -
  • Build instructions are available here
  • Documentation to add support for a protocol is available here
  • See ContributingCodeToOstinato for the process to follow and other important information

You can also contribute to Ostinato in other ways such as testing, reporting bugs, improving the documentation, spreading the word, build/maintain packages for different platforms/distributions etc. - for all such contributions, please send an email to ostinato at googlegroups dot com


<wiki:gadget url="http://hosting.gmodules.com/ig/gadgets/file/117254926214212765027/addThisNoHover.xml" width="100%" height="20" border="0"/>