DOKK / manpages / debian 12 / t50 / t50.8.en
T50(8) T50 man page T50(8)

T50 - network packet injector

t50 [options] [--] host[/CIDR]

Experimental mixed packet injector tool.

This is NOT a DoS tool, but a tool to inject packets using various protocols.

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.

Number of packets to inject (default 1000).
Keep injecting packets until user terminates the process (^C). Cannot be used with --threshold.
Use a bogus "random " checksum instead of calculating the actual packet checksum.
Inject packets faster (creates a child process).
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".
IP header source address (default RANDOM).
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.
Display all available options and their defaults.
Display t50 version.
Lists all available protocols T50 can provide.

See all available protocols:

# t50 -l
T50 Experimental Mixed Packet Injector Tool 5.6.15
Originally created by Nelson Brito <nbrito@sekure.org>
Previously maintained by Fernando Mercês <fernando@mentebinaria.com.br>
Maintained by Frederico Lamberti Pissarra <fredericopissarra@gmail.com>
[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

Root privilege is mandatory to run t50.

There are lots of options. Please, use -h or --help to see them and their default values.

As noted before, the "host[/CIDR]" argument sometimes is misinterpreted as an option. This bug was introduced when the argument parser was changed to support flexible host "names". Someday I'll correct this (Frederico).

Nelson Brito

Fernando Mercês
Frederico Lamberti Pissarra

The latest release of the source code can be downloaded at: T50 GitLab Repository. You can also report bugs there or at t50-dev google group via t50-dev@googlegroups.com (but gitlab's is preferable!).

Copyright © 2014-2018 T50 developers. Licensed GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

2018-09-5 5.8