Table of Contents

Name

udpsend - send an Ethernet frame containing a UDP/IPv4 packet with user-specified source and destination fields

Synopsis

udpsend [ -c count ] [ -d debuglevel ] [ -h ] [ -p pause_time ] [ -q ] [ -v ] [ -w ]
[
-i interface_name ]
[
-E ether_source_address ] [ -e ether_dest_address ]
[
-Q vlan_id ]
[
-S ip_src_address ] [ -s ip_dest_address ] [ -T ip_ttl ] [ -D ip_id ] [ -f ip_frag ] [ -67 ] [ -Y udp_src_port ] -y udp_dest_port

Description

udpsend sends an Ethernet frame containing a UDP/IPv4 packet containing fields you specify. This is a diagnostic tool intended for use by network administrators.

Availability

udpsend is a product of the Network Systems Group at Princeton University’s Office of Information Technology, and is available from https://www.net.princeton.edu/software/udpsend/

Presently the product builds and runs on Solaris 9 and 10 on SPARC with gcc.

The program relies on the libnet(3) library.

Options

-c count
Specifies the number of packets to send. If not specified, this defaults to 1.
-d debug_level
Sets the debug_level variable that controls the amount of debugging messages generated. If not specified, this defaults to 0 (no debugging). Presently no debugging messages are defined.
-E ether_source_address
Specifies the source address of the Ethernet frame. If not specified, this defaults to the Ethernet address of the outgoing interface. (Some environments may not allow you to override this value.)
-e ether_dest_address
Specifies the destination address of the Ethernet frame. If not specified, this defaults to the Ethernet broadcast address.
-h
Display a brief usage summary, then exit.
-i interface_name
Specifes the name of the Ethernet interface through which the packet should be sent. If not specified, this defaults to the first interface that is up (other than loopback).
-p pause_time
Specifies the number of seconds to pause between sending each packet, when the packet count is great than 1. If not specified, this defaults to 1 second.
-Q vlan_id
Tag the frame with an 802.1Q VLAN ID.
-q
Specifies ’quiet’ operation; only errors and warnings are displayed.
-S ip_src_address
Specifies IP source address. If not specified, this defaults to that of the outgoing interface.
-s ip_dest_address
Specifies the IP destination address. This option must be specified; there is no default value.
-T ip_ttl
Overrides the default IP TTL (64).
-D ip_id
Overrides the default IP datagram id (1).
-f ip_frag
Overrides the default IP fragmentation offset (0).
-6
Set the IP DF (don’t fragment) flag.
-7
Set the IP MF (more fragments) flag.
-U udp_src_port
Specifies the UDP source port. If not specified, this default to 0.
-u udp_dest_port
Specifies the UDP destination port. If not specified, this default to 0.
-v
Display the program’s version number, then exit.
-w
Specifies that udpsend should not warn you about values that might cause network problems.

Operation

udpsend is a diagnostic tool intended to be used by an network administrator. It is possible to specify values that will interfere with the normal operation of devices attached to the network, or the network as a whole.

udpsend checks for the most-common values that could cause network problems, but by no means can catch all such combinations of values. When it believes the values you specify could cause a problem, it will display a warning, and ask you if you still wish to send the packet. You can skip these checks (and the associated prompt) with the -w option; your packet will be sent without comment.

Author

The program was written by Irwin Tillman of Princeton University OIT Network Switching and Routing. It was written to run on Solaris 9 and 10, relying on the generally-available libnet(3) library.

Bugs

There is presently no support for specifying the UDP payload.

See Also

RFC 826
Address Resolution Protocol
RFC 1122
Host Network Requirements (Link Layer: Specific Issues, section 2.3)
libnet(3)
available from https://github.com/libnet/libnet/releases

or https://codedocs.xyz/libnet/libnet/md_README.html


Table of Contents