the goto page for communication protocol engineering and protocol testing resources.

  home  |   find tools  |   topics  |   job listings  

tools
traffic generators
design and verification
robustness test suites    
theory
books
proceedings    
papers
people.places
centers
researchers
conferences/workshops
university Courses
vendors
vendor list
test suites

 

Traffic Generator Tool Platform License
Nemesis
Nemesis is a command-line network packet crafting and injection utility for for testing Network Intrusion Detection Systems, firewalls, IP stacks, etc. Nemesis can natively craft and inject ARP, DNS, ETHERNET, ICMP, IGMP, IP, OSPF, RIP, TCP and UDP packets. Using the IP and the Ethernet injection modes, almost any custom packet can be crafted and injected.
http://nemesis.sourceforge.net
Linux, Windows GPL
Rude and Crude
RUDE stands for Real-time UDP Data Emitter and CRUDE for Collector for RUDE. RUDE is a small and flexible program that generates traffic to the network, which can be received and logged on the other side of the network with the CRUDE. Currently these programs can generate and measure only UDP traffic.
http://rude.sourceforge.net/
Linux GPL2
Scapy
Scapy is an interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more. It can easily handle most classical tasks like scanning, tracerouting, probing, unit tests, attacks or network discovery (it can replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, tethereal, p0f, etc.). It also performs very well at a lot of other specific tasks that most other tools can't handle, like sending invalid frames, injecting your own 802.11 frames, combining technics (VLAN hopping+ARP cache poisoning, VOIP decoding on WEP encrypted channel, etc.
http://www.secdev.org/projects/scapy
Linux GPL
Distributed Internet Traffic Generator
D-ITG (Distributed Internet Traffic Generator) is a platform capable to produce traffic at packet level accurately replicating appropriate stochastic processes for both IDT (Inter Departure Time) and PS (Packet Size) random variables (exponential, uniform, cauchy, normal, pareto, ...). D-ITG supports both IPv4 and IPv6 traffic generation and it is capable to generate traffic at network, transport, and application layer.
http://www.grid.unina.it/software/ITG/index.php
Linux/ Windows Other
pktgen
pktgen is a high-performance testing tool included in the Linux kernel. Being part of the kernel is currently best way to test the TX process of device driver and NIC. pktgen can also be used to generate ordinary packets to test other network devices. Especially of interest is the use of pktgen to test routers or bridges which use the Linux network stack. Because pktgen is "in-kernel", it can generate very high packet rates and with few systems saturate network devices as routers or bridges.
hp: ??
Linux (kernel) GPL
PacketGenerator
ClearSight Packet Generator is a tool for simple network load testing and network traffic reproduction testing. It is a software program for transmitting traffic via 10/100M Ethernet from a Windows PC. The software supports single packet mode for repeatedly sending the same packet and buffer mode for regenerating traffic captured from the actual network.
http://www.clearsightnet.com/products-packetgenerator.jsp
Windows Commercial
Packet Excalibur
A multi-platform graphical and scriptable network packet engine with extensible text based protocol descriptions. In short this is a network tool to built and receive custom packets. With Packet Excalibur you will be able to decide packet attributes from physical layer to the top, sniff and spoof packets (packet generator) in a single interface, build scripts in the gui,define additional protocols in simple text files.
http://www.securitybugware.org/excalibur/
Linux / Windows GPL
Packgen
Packgen is a simple network packet generator written in ruby. It handles diffserv markers, useful for testing network bandwidth and QoS. It can generate several flows of data, each having its own properties such as name, destination, bandwidth, packet size, DSCP (Differentiated Services Code Point), and time range.
http://packgen.rubyforge.org/files/README.html
Ruby GPL
GASP
GASP stands for 'Generator and Analyzer System for Protocols'. It allows you to construct packets by hand and test the behavior of your program when facing some strange packets. GASP is divided in two parts : a compiler which take the specification of the protocols and generate the code to handle it, this code is a new Tcl command as GASP in build upon Tcl/Tk and extends the scripting facilities provided by Tcl.
hp: http://laurent.riesterer.free.fr/gasp/
Linux/ Windows GPL
GSpoof 3.0
Gspoof is a tool which make easier and accurate the building and sending of tcp-ip packets. It works from console (command line) and has an easy-to-use graphical interface written in GTK+ too. Supports ethernet header manipulation, ip header manipulation, tcp header manipulation, tcp payload, floods, congestion notification support.
http://gspoof.sourceforge.net
Linux GPL
Harpoon
Harpoon is a flow-level traffic generator. It uses a set of distributional parameters that can be automatically extracted from Netflow traces to generate flows that exhibit the same statistical qualities present in measured Internet traces, including temporal and spatial characteristics. Harpoon can be used to generate representative background traffic for application or protocol testing, or for testing network switching hardware.
http://www.cs.wisc.edu/~jsommers/harpoon/ http://wail.cs.wisc.edu/waildownload.py
Linux, Solaris 8, FreeBSD, MAcOSX Other (non-commercial research purposes only)
ISIC
ISIC (IP stack integrity checker)is a suite of utilities to exercise the stability of an IP Stack and its component stacks (TCP, UDP, ICMP et. al.) It generates piles of pseudo random packets of the target protocol. The packets be given tendancies to conform to. Ie 50% of the packets generated can have IP Options. 25% of the packets can be IP fragments
http://www.packetfactory.net/projects/ISIC
Linux GPL
packETH
packETH is a *graphical* packet generator tool for ethernet. It allows you to create and send any possible packet or sequence of packets on the ethernet. Supported protocols: ethernet II, ethernet 802.3, 802.1q, QinQ, ARP, IPv4, user defined network layer payload, UDP, TCP, ICMP, IGMP, user defined transport layer payload, RTP.
http://packeth.sourceforge.net
Linux GPL2
Packit
PACket toolKIT can customize, inject, monitor, and manipulate IP traffic. Can spoof nearly all TCP, UDP, ICMP, IP, ARP, RARP, and Ethernet header options, Packit can be useful in testing firewalls, intrusion detection/prevention systems, port scanning, simulating network traffic, and general TCP/IP auditing.
http://www.packetfactory.net/projects/packit/
Linux GPL2
PacketX
PacketX is a packet generator which can be used to simulate various attacks, and offers an easy way to check the robustness of various security applications, such as firewalls and routers.
http://www.ntobjectives.com/packetx.htm
Windows Other (free)
SendIP
SendIP is a commandline tool to allow sending arbitrary IP packets. SendIP has a large number of command line options to specify the content of every header of a NTP, BGP, RIP, RIPng, TCP, UDP, ICMP or raw IPv4 and IPv6 packet. It also allows any data to be added to the packet.
http://www.earth.li/projectpurple/progs/sendip.html
Linux GPL
TCPivo
TCPivo is a tool that provides high-speed packet replay from a trace file using standard PC hardware and freely available open-source software. It requires several patches to the Linux kernel for maximum performance. Among other things, a low-latency kernel patch, a pre-emptible kernel patch, and a firm timer patch is required in order to support gigabit rates. For those using Linux 2.5, a number of these improvements have already been placed into the branch.
http://www.thefengs.com/wuchang/work/tcpivo/
Linux Other
TCPReplay
TCPReplay is a collection of tools. tcpreplay replays ethernet packets stored in a pcap file as they were captured. tcpprep is a pcap pre-processor for tcpreplay. flowreplay1 connects to a server(s) and replays the client side of the connection stored in a pcap file. pcapmerge merges two or more pcap files into one. capinfo displays basic information about a pcap file.
http://tcpreplay.sourceforge.net/
Linux, Solaris BSD (free)
Libnet
Libnet is not a tool, but a high-level API (toolkit) allowing the application programmer to construct and inject network packets. It provides a portable and simplified interface for low-level network packet shaping, handling and injection. Most of the apps on this list use libNet for the underlying packet creation and injection functionality.
http://www.packetfactory.net/projects/libnet/
Linux BSD (free)