Simple Packet Sender (SPS)

A Linux packet crafting tool. Supports IPv4, IPv6 including extension headers, and tunneling IPv6 over IPv4. Written in C on Linux with GUI built using GTK+ and released under GPLv3. Does not require pcap.


Packet crafting and sending one, multiple, or flooding IPv4 and IPv6 packets of type TCP, ICMP, or UDP (or cycle through all three). All values within ethernet frame can be modified arbitrarily. Supports IPv4 header options, TCP header options, and TCP, ICMP and UDP data as well, input from either: keyboard as UTF-8/ASCII, keyboard as hexadecimal, or from file.

IPv6 support includes: hop-by-hop, "first" and "last" destination, routing, authentication, and encapsulating security payload (ESP) extension headers. For those without access to a native IPv6 network, IPv6 packets can be transmitted over IPv4 (6to4).

Packet fragmentation for IPv4, IPv6, and 6to4. Assumed maximum transmission unit (MTU) can be changed if unusual fragment sizes are needed.

IP addresses and port numbers can be randomized.

A configurable traceroute function, which supports TCP, ICMP, and UDP packets with all the features mentioned above.

View packets in hexadecimal/ASCII representation, in both unfragmented and fragmented forms.

All packet settings can be saved to and loaded from file.

IP and ASN delegation functions, including: country name/code search and reverse-search, autonomous system (AS) number search by country and reverse-search,  IPv4 and IPv6 address delegation search and reverse-search.

ARP (IPv4) and Neighbor Discovery (IPv6) for querying a LAN for MAC addresses of local nodes.

Retrieve MAC address and current MTU setting of any attached network interface.

Domain name resolution and reverse resolution.

In /src??/utils/ sub-directory, three UTF-8 utility programs are provided. They are not part of SPS and can be deleted if desired. They can be used to determine if the contents of a file are valid UTF-8, or to raise or lower the case of the UTF-8 characters in a file.

Screen captures:

Main Window:

TCP (IPv4) ICMP (IPv4) UDP (IPv4) TCP (IPv6) ICMP (IPv6) UDP (IPv6)

Traceroute Window:

TCP (IPv4)
UDP (IPv4)
TCP (IPv6)
<ICMP (IPv6)
UDP (IPv6)

IPv6 Extension Header Windows:

Hop-by-hop Destination Routing Authentication ESP

Releases (gzipped tarballs containing binaries and source):

Tarballs for versions 4.0 and later, contain two sets of binaries:

  1. Compiled on a 32-bit machine with Gtk+ 2, and
  2. Compiled on a 64-bit machine with Gtk+ 3.

The source code for these versions is slightly different, while the Glade user interface files are significantly different between Gtk+ 2 and Gtk+ 3.

Revised UTF-8 utilities April 24, 2014 Changelog SHA-512
SPS 4.2 January 12, 2014 Changelog SHA-512
SPS 4.1p November 8, 2013 Changelog SHA-512
SPS 4.1 August 29, 2013 Changelog SHA-512
SPS 4.0 May 22, 2013 Changelog SHA-512
SPS 3.1 September 14, 2012 Changelog SHA-512
SPS 3.0 July 8, 2012 Changelog SHA-512
SPS 2.1 February 20, 2012 Changelog SHA-512
SPS 2.0 January 24, 2012 Changelog SHA-512
SPS 1.2 October 16, 2011 Changelog SHA-512
SPS 1.1 July 21, 2011 Changelog SHA-512
SPS 1.0 July 3, 2011 Initial Release SHA-512


Yahoo email:


Twitter: @h0h1r4um

Page last edited: April 24, 2014