NAME
  packetsender - Network utility for sending and receiving TCP, UDP, SSL packets

SYNOPSIS
  packetsender [options] address port data

DESCRIPTION
  Packet Sender is a utility that sends and receives TCP, UDP and SSL (encrypted
  TCP) packets on the ports of your choosing. It supports IPv4 and IPv6 and
  provides a GUI for final users. However, is also possible use Packet Sender in
  text mode via command line.

  Some features:
    * Can act as client/server to send and receive network traffic.
    * A payload can be created in ASCII or hex.
    * Command line mode is available for automation and scripting.
    * Packet Sender cloud is a disposable resource to be used to publicly
      display and distribute packets (via an URL) for collaboration, tutorials,
      end users, etc. Packet Sender may import public packet sets with
      public URL.

  Some uses:
    * Control network-based devices in ways beyond their original apps.
    * Test automation (using command line tool and/or hotkeys).
    * Test network APIs (using the built-in TCP, UDP, SSL clients).
    * Malware analysis (using the built-in UDP, TCP, SSL servers).
    * Troubleshoot secure connections (using SSL).
    * Test network connectivity/firewalls (by having 2 Packet Senders talk
      to each other).
    * Stress-test a device (using intense network generator tool).
    * Tech support (by sending customers a portable Packet Sender with
      pre-defined settings and packets).
    * Share/Save/Collaborate using the Packet Sender Cloud service.

OPTIONS
  -h, --help         Displays help on commandline options.
  --help-all         Displays help including Qt specific options.
  -v, --version      Displays version information.
  -q, --quiet        Quiet mode. Only output received data.
  -x, --hex          Parse data-to-send as hex (default).
  -a, --ascii        Parse data-to-send as mixed-ascii (like the GUI).
  -A, --ASCII        Parse data-to-send as pure ascii (no \\xx translation).
  -w, --wait <ms>    Wait up to <milliseconds> for a response after sending.
                     Zero means do not wait (Default). It is compulsory if a
                     reply from a server, as an HTTP server, is needed. In this
                     case, -w 500 is a good start value.
  -f, --file <path>  Send contents of specified path. Max 10 MiB for UDP, 100
                     MiB for TCP/SSL.
  -b, --bind <port>  Bind port. Default is 0 (dynamic).
  -6, --ipv6         Force IPv6. Same as -B "::". Default is IP:Any.
  -4, --ipv4         Force IPv4.  Same as -B "0.0.0.0". Default is IP:Any.
  -B, --bindip <IP>  Bind custom IP. Default is IP:Any.
  -t, --tcp          Send TCP (default).
  -s, --ssl          Send SSL and ignore errors.
  -S, --SSL          Send SSL and stop for errors.
  -u, --udp          Send UDP.
  --http             Send HTTP.
  -n, --name <name>  Send previously saved packet named <name>. Other options
                     overrides saved packet parameters.
  --bps <bps>        Intense traffic. Calculate rate based on value of
                     bits per second.
  --num <number>     Intense traffic. Number of packets to send. Default
                     unlimited.
  --rate <Hertz>     Intense traffic. Rate. Ignored in bps option.
  --usdelay <microseconds>  Intense traffic. Resend delay. Used if rate is 0.
                            Ignored in bps option.

  Arguments:

  address             Destination address. Optional for saved packet.
  port                Destination port. Optional for saved packet.
  data                Data to send. Optional for saved packet.

EXAMPLES
  The following command line will send a TCP packet, with a mixed-ascii as
  payload, to example.com, port 22. The command will wait 500 ms for a
  reply.

    $ packetsender -taw 500 example.com 22 "Hello\\nWorld"

  Similar to last command, but the TCP packet will be sent to port 21. An
  anonymous authentication will be used.

    $ packetsender -taw 500 example.com 21 "USER anonymous\\r\\nPASS chrome@example.com\\r\\n"

  The command below uses SSL and will ignore SSL errors. The command will
  wait 500 ms for a reply.

    $ packetsender -saw 500 expired.packetsender.com 443 "GET / HTTP/1.0\\r\\n\\r\\n"

  Other good example how to access a homepage:

    $ packetsender -w 500 -a example.com 80 "GET / HTTP/1.1\\r\\nHost: example.com\\r\\n\\r\\n"

  Packet Sender command line also can bind to custom ports to force IPv4/6 modes
  or multiple NIC, as shown below:

    $ packetsender -taw 3000 fe80::c07b:d517:e339:5a08 5005 "Hello\\r"
    $ packetsender -taw 3000 192.168.0.201 5005 "Hello\\r"
    $ packetsender -B 192.168.0.200 -taw 3000 192.168.0.201 5005 "Hello\\r"
    $ packetsender -B fe80::a437:399a:3091:266a%ethernet_32769 -taw 3000 fe80::c07b:d517:e339:5a08 5005 "Hello\\r"
    $ packetsender -B fe80::a437:399a:3091:266a -taw 3000 fe80::c07b:d517:e339:5a08 5005 "Hello\\r"

SEE ALSO
  tcpdump(8), wireshark(1), https://packetsender.com/documentation

AUTHOR
  Packet Sender was written by Dan Nagle <dan@dannagle.com> and is available at
  https://packetsender.com

  This manual page was written by Joao Eriberto Mota Filho <eriberto@debian.org>
  for the Debian project (but may be used by others).
