Packet Sender is an open source utility to allow sending and receiving TCP and UDP packets. As of version 5.3, it also supports sending SSL. It is available for Windows, Mac, and Linux. It is licensed GNU General Public License v2 and is free software. Packet Sender's web site says "It's designed to be very easy to use while still providing enough features for power users to do what they need.".
Typical applications of Packet Sender include:
Troubleshooting network devices that use network servers (send a packet and then analyze the response)Troubleshooting network devices that use network clients (devices that "phone home" via UDP, TCP, or SSL—Packet Sender can capture these requests)Testing and development of new network protocols (send a packet, see if device behaves appropriately)Reverse-engineering network protocols for security analysis (such as malware)Troubleshooting secure connections (using the SSL client).Automation (via Packet Sender's command line interface or resend feature)Packet Sender comes with a built-in TCP and UDP server on a port number a user specifies. This remains running listening for packets while sending other packets.
As of version v5.3 Packet Sender supports the following features:
Live traffic log (Time / From IP / From Port / To IP / Method / Error / ASCII / HEX)Persistent TCP and SSL ConnectionsPortable ModeIPv6 Client / ServerIPv4 Subnet CalculatorEBCDIC translationSaved packets (with sending directly from saved list)Mixed ASCII packet notation (ASCII with embedded syntax to allow hex)TCP serverUDP serverPacket resending at n intervals (where n is seconds)Multi-threaded TCP/SSL connectionsCommand-line interfacePacket responsesSmart Packet responsesMacros inside packet responses for TIME, DATE, UNIXTIME, RANDOMPacket search (for saved packets)Packet export/importQuick-send from traffic logSave traffic logWindows (XP through Windows 10)OS X (Intel-based x86-64)Linux (ARM, x86, and x86-64 with Qt 5.5)Packet Sender once had mobile versions for iOS and Android, but these efforts have been abandoned.