t508
Network packet injector
Usage
t50 [options]
[--]
host
[/CIDR]
Overview
Experimental mixed packet injector tool.
This is NOT a DoS tool, but a tool to inject packets using various protocols.
Options
host[/CIDR]-
The host address is the target of T50. It can be informed in one of two formats: IP address or URI name. This address can be informed as a range of IPs (by omitting one or mode octects) or using a CIDR separating the IP (full or partial) or URI with "/##", for instance: "192.168/16" or "host.com.local/22". When using a partial IP address T50 will calculate CIDR automatically (8, 16 or 24 bits, if the first, second or third octect [from right to left] are omitted, respectively).
Notice that, sometimes, the "host[/CIDR]" argument is misinterpreted as an option. When this happens, you can use the pseudo option '--' before the host address:
-
# t50 --flood -- 192.168.1.32/27
Also, to avoid this error you can provide the host address as the first argument.
Notice, also, ONLY IPv4 addresses are allowed. T50 don't provide IPv6 support yet.
-
--threshold NUM -
Number of packets to inject (default 1000).
-
--flood -
Keep injecting packets until user terminates the process (^C). Cannot be used with --threshold.
-
-B, --bogus-csum -
Use a bogus "random " checksum instead of calculating the actual packet checksum.
-
--turbo -
Inject packets faster (creates a child process).
-
--shuffle -
When used with T50 "protocol", it will shuffle the available protocols. Otherwise they will be sent in the same order as listed with --list-protocols option. This option will not work with any other "protocol".
-
-s, --saddr ADDR -
IP header source address (default RANDOM).
-
-p, --protocol protoname -
Select an specific protocol to use (default: TCP. Use --list-protocols to see all protocols available). Use T50 if you want to inject all available protocols. The "protocolname" is case insensitive.
-
-h, --help -
Display all available options and their defaults.
-
-v, --version -
Display t50 version.
-
-l, --list-protocols -
Lists all available protocols T50 can provide.
Examples
See all available protocols:
-
# t50 -l T50 Experimental Mixed Packet Injector Tool 5.6.15 Originally created by Nelson Brito <[email protected]> Previously maintained by Fernando Mercês <[email protected]> Maintained by Frederico Lamberti Pissarra <[email protected]> [INFO] List of supported protocols (--protocol): 1 - ICMP (Internet Control Message Protocol) 2 - IGMPv1 (Internet Group Message Protocol v1) 3 - IGMPv3 (Internet Group Message Protocol v3) 4 - TCP (Transmission Control Protocol) 5 - EGP (Exterior Gateway Protocol) 6 - UDP (User Datagram Protocol) 7 - RIPv1 (Routing Internet Protocol v1) 8 - RIPv2 (Routing Internet Protocol v2) 9 - DCCP (Datagram Congestion Control Protocol) 10 - RSVP (Resource Reservation Protocol) 11 - IPSEC (Internet Security Protocl (AH/ESP)) 12 - EIGRP (Enhanced Interior Gateway Routing Protocol) 13 - OSPF (Open Shortest Path First)
Send 500 packets to a single target:
-
# t50 192.168.0.100 --threshold 500
Flooding targets from 192.168.0.1 to 192.168.0.254 (notice the partial IP) with TCP packets:
-
# t50 192.168.0 --flood
Flooding targets from 192.168.0.1 to 192.168.255.254 with all protocols T50 can provide in a random order using "Turbo" mode.
-
# t50 192.168 --flood -p t50 --shuffle --turbo
Notes
Root privilege is mandatory to run t50.
There are lots of options. Please, use -h or --help to see them and their default values.
Contributors
Fernando Mercês
Frederico Lamberti Pissarra
BUGS and SOURCE CODE AVAILABILITY
The latest release of the source code can be downloaded at: T50 GitLab Repository ⟨https://\:gitlab.com/\:fredericopissarra/\:t50⟩\. You can also report bugs there or at t50-dev google group via [email protected] (but gitlab's is preferable!).
Releases
5 releases since Debian 9 (Stretch); the text changed 1 time.
--list-protocols since Debian 10 (Buster);
--protocol since Debian 10 (Buster);
--saddr since Debian 10 (Buster);
--shuffle since Debian 10 (Buster);
--threshold since Debian 10 (Buster);
--version since Debian 10 (Buster);
-h since Debian 10 (Buster);
-l since Debian 10 (Buster);
-p since Debian 10 (Buster);
-s since Debian 10 (Buster);
-v since Debian 10 (Buster).