A packet generation tool designed for simulating high-volume network traffic.
sudo rping -I <interface> [OPTIONS]Note: Requires root privileges for raw socket access.
TCP SYN flood (send as fast as possible):
sudo rping -I eth0 --tcp -S --dst-ip 192.168.1.1 --dst-port 80 --floodSend TCP packets with random source IP from a subnet:
sudo rping -I eth0 --tcp --src-ip 10.0.0.0/8 --dst-ip 192.168.1.1 --dst-port 443IPv6 source spoofing works the same way, including CIDR ranges:
sudo rping -I eth0 --tcp --src-ip 2001:db8:1::/64 --dst-ip 2001:db8:2::1 --dst-port 443Send UDP packets to random ports in a range:
sudo rping -I eth0 --udp --dst-ip 192.168.1.1 --dst-port 1-65535Send UDP packets with random data size between 100-500 bytes:
sudo rping -I eth0 --udp --dst-ip 192.168.1.1 --dst-port 53 -d 100-500Send raw IP packets with a custom protocol number (e.g. 47 for GRE) and a payload:
sudo rping -I eth0 --proto 47 --dst-ip 192.168.1.1 -d 100Fill a 1,024-byte UDP payload from a file (the file is truncated or padded with NULL bytes):
sudo rping -I eth0 --udp --dst-ip 192.168.1.1 -d 1024 --file payload.bin| Option | Short | Description |
|---|---|---|
--interface |
-I |
Network interface to use |
--quiet |
-q |
Disable real-time statistics display |
--interval |
-i |
Interval between packets (default: 100ms) |
--flood |
Send packets as fast as possible | |
--count |
-c |
Number of packets to send |
--duration |
Duration to run (e.g., 10s, 1m, 1h) | |
--dst-ip |
Destination IP or CIDR (e.g., 10.0.0.0/8) | |
--src-ip |
Source IP or CIDR | |
--ttl |
-t |
Time to live (default: 64) |
--tcp |
TCP mode | |
--udp |
UDP mode | |
--no-checksum |
Skip the UDP checksum (send 0; IPv4 UDP only) | |
--icmp |
ICMP mode | |
--proto |
Raw IP protocol number (e.g. 47 for GRE) | |
--dst-port |
Destination port or range (e.g., 80, 1-1000) | |
--src-port |
Source port or range | |
--data |
-d |
Data size in bytes or range |
--fill-data |
Fill data with specific ASCII char (default: X) | |
--file |
Fill data from a file; truncate or NULL-pad it |
| Option | Short | Description |
|---|---|---|
--dontfrag |
-y |
Set Don't Fragment (DF) |
--morefrag |
-x |
Set More Fragments (MF) |
--fragoff |
-g |
Fragment offset in bytes, from 0 to 65528, in multiples of 8 |
| Option | Short | Description |
|---|---|---|
--syn |
-S |
Set SYN flag |
--ack |
-A |
Set ACK flag |
--fin |
-F |
Set FIN flag |
--rst |
-R |
Set RST flag |
--psh |
-P |
Set PSH flag |
--urg |
-U |
Set URG flag |
--window |
-w |
TCP window size (default: 64) |
--seq |
TCP sequence number | |
--ack-seq |
TCP acknowledgment number |
| Option | Short | Description |
|---|---|---|
--icmptype |
-C |
ICMP type (default: 8 - echo request) |
--icmpcode |
-K |
ICMP code (default: 0) |
By default, rping displays real-time packet and byte counters. Use -q to disable for scripting:
sudo rping -I eth0 --tcp -S --dst-ip 192.168.1.1 -c 1000 -q