SkillAgentSearch skills...

PacketSender

Network utility for sending / receiving TCP, UDP, SSL, HTTP

Install / Use

/learn @dannagle/PacketSender

README

Introduction

Packet Sender Logo

https://packetsender.com

Read this in other languages: English, Español, Deutsch, Français, italiano 简体中文.

Downloads

Packet Sender is an open source utility to allow sending and receiving TCP, UDP, and SSL (encrypted TCP) packets as well as HTTP/HTTPS requests and panel generation. The mainline branch officially supports Windows, Mac, and Desktop Linux (with Qt). Other places may recompile and redistribute Packet Sender. Packet Sender is free and licensed GPL v2 or later. It can be used for both commercial and personal use. If you find the app useful, please consider donating/sponsoring so development may continue.

Table Of Contents

<a id="sponsors"></a>

Sponsors

Packet Sender would like to thank the following sponsors.

IWL <br>IWL is a California company creating computer networking products. <br><br><br>

NagleCode <br>NagleCode is a software publisher and development studio. <br><br><br>

Eletiope <br>Eletiope installs lighting, audiovisuals and immersive rooms for exhibitions and museums, and for corporate showrooms. <br><br><br>

John Huntington <br>Author, consultant, educator, sound engineer, award-winning photographer, and storm chaser. <br><br><br>

Would you like your name/logo listed here?

<a id="support"></a>

Support

NOTE: Try (temporarily) disabling your firewall if having problems in Windows.

<a id="downloads"></a>

Downloads

Desktop Download

Official releases of Packet Sender can be downloaded at PacketSender.com. Some places redistribute Packet Sender.

Windows Logo Mac Logo Linux Logo

<!-- Not sure when this will be back. ## Mobile Apps ### Android Mobile App ![Android Logo](screenshots/android_logo.png) The Android version is located [on Google Play](https://play.google.com/store/apps/details?id=com.packetsender.compose) or [on Amazon Appstore](https://www.amazon.com/dp/B08RXM6KM2/) [![Packet Sender Android](screenshots/packetsender_android_screenshot.png)](https://play.google.com/store/apps/details?id=com.packetsender.compose -->

<a id="ios"></a>

iOS Mobile App

The Packet Sender for iOS is fully native, contain bare minimum permissions, and collects no data. This is software that respsects you. Thank you for supporting this effort.

The iOS version is located on the Apple App Store

Packet Sender iOS

<a id="gui"></a>

GUI

Packet Sender is identical for all the desktop versions. The only difference is its theme to match the operating system.

Packet Sender screenshot

  1. A packet has a name, destination address (domain names are default resolved just before sending), port, and data associated with it.
  2. In the table, there is a list of saved packets. You can double-click to directly edit fields in this table.
  3. In the bottom right, there are UDP, TCP, and SSL server status and port(s). Clicking on these will activate or deactivate the protocol. Packet Sender supports binding to any number of ports.
  4. There is also a IP toggle button. Clicking this changes it to IPv4 (default), IPv6, or custom IP

General Notes

  • A resend value of "0" means it is a single-shot packet.
  • During packet resending, there will be a button to cancel all resends.
  • Please check your firewall. Windows aggressively blocks TCP-based servers. Packet Sender will still work if the firewall blocks it, but it can't receive unsolicited TCP-based packets.
  • An optional response can be sent. The same response is used for TCP, UDP, and SSL.
  • For IPv6 sending, you will also need the scope ID.
  • Packet Sender supports mixed ASCII and HEX notation:
    • Double-click either field to bring up the multi-line editor
    • \XX gets translated to XX in hex
    • \n, \r, \t will get translated to 0A, 0D, and 09
    • HEX numbers are space delimited
      • The HEX field will attempt to interpret other common delimiters (such as commas, colons (Wireshark), semicolons, " 0x", etc) and auto-correct. It is very fault-tolerent.
      • A single stream of HEX is also supported. If the number of bytes is odd, Packet Sender will assume the front byte needs a zero and then auto-correct.
    • Example ASCII: hello world\r
    • Example HEX: 68 65 6c 6c 6f 20 77 6f 72 6c 64 0d
    • You may save a packet directly from the traffic log. You will be prompted for a name, and the source address and port will be switched for your convenience.
    • You may also load a file directly in to the HEX field. The HEX field supports sending up to 10,922 bytes. The theoretical limit for sending via the command line is 200 MB.

Hotkeys/Keyboard Shortcuts

The fields at the top can be navigated using CTRL+1, CTRL+2, etc, up to CTRL+8 (send button). On Mac, the shortcut key is Command.

The hotkeys and fields are:

  • CTRL + 1 = Name
  • CTRL + 2 = ASCII
  • CTRL + 3 = HEX
  • CTRL + 4 = Address
  • CTRL + 5 = Port
  • CTRL + 6 = Resend Delay
  • CTRL + 7 = Protocol Selection
  • CTRL + 8 = Send (executes)

Some notes:

  • The fields are linked to the corresponding hotkey regardless of protocol selection.
  • When you navigate to the TCP/UDP/SSL option, you may use up/down or t/u/s/h characters to make a selection.
  • If you are going to automate with hotkeys (using tools such at AutoHotKey), you may want to turn off "Restore previous session".

<a id="network"></a>

Network Features

Basic Settings

By default, Packet Sender launches with UDP, TCP, and SSL servers enabled on random ports (shown as buttons on the bottom right). You may bind to any number of ports (if the OS allows it), using comma-separated port numbers. For example, 0, 1000, 2000 will bind to "random" and ports 1000, 2000.

Basic Network Settings

The UDP button now shows 3 ports bound. 1 of them is random.

Bound UDP Example

The other setting is to respond to all requests with a reply. You may also have this request be a macro. There is a field to type the reply (or load a saved packet).

Additional UDP/TCP/SSL Settings

By default, Packet Sender binds to any IPv4 address. In this area of the settings, you may have it bind to any IPv6 instead, or to a specific IP address.

Binding to a specific address is very helpful when there are multiple NICs and you want to force communication (like broadcast packets) out a specific one.

Bound UDP Example

Some protocols expect the server to send data before the client sends (such as many telnet services). This workflow can be enabled with the "Receive Before Send".

If you have a slow device (such an embedded server with a weak processor), you may wish to enable "500 ms delay after connect". This will allow the slow server time to launch its handler.

IPv4, IPv6, Custom IP

Packet Sender's built-in servers are configured to support either IPv4 or IPv6 but not both at the same time. For clients, Packet Sender GUI and CLI will seamlessly switch between the two modes upon sending (scope ID may be needed for IPv6). Click the IPv4 / IPv6 toggle on the bottom right to switch between the two.

Inside the settings, you may also force Packet Sender's servers to bind to a custom IP address. This can be very useful for systems with multiple NICs or complicated IP setups. Packet Sender will trigger an error if told to bind to an address that does not exist.

IP Specific binding

<a id="subnetcalculator"></a>

IPv4 Subnet Calculator

Packet Sender has a built-in subnet calculator. It is under the Tools menu. Packet Sender Subnet Calc

  • The log window (bottom section) will display non-loopback IPv4 and IPv6 addresses found on your computer.
  • On the left side, input the IPv4 address in the IP field.
  • On the left side, input the subnet in
View on GitHub
GitHub Stars2.6k
CategoryDevelopment
Updated1d ago
Forks391

Languages

C++

Security Score

100/100

Audited on Apr 3, 2026

No findings