nemesis-tcp
—
TCP Protocol (The Nemesis Project)
nemesis-tcp |
[ -vZ? ]
[-a
NUM ]
[-c
COUNT ]
[-d
IFNAME ]
[-D
ADDR ]
[-f
-AR
-FLAG ]
[-F
OPT ]
[-I
ID ]
[-i
INTERVAL ]
[-M
MAC ]
[-o
FILE ]
[-O
FILE ]
[-P
FILE ]
[-s
NUM ]
[-S
ADDR ]
[-t
TOS ]
[-T
TTL ]
[-u
OFFSET ]
[-w
SIZE ]
[-x
PORT ]
[-y
PORT ] |
nemesis
is designed to be a command
line-based, portable human IP stack for UNIX-like and Windows systems. The
suite is broken down by protocol, and should allow for useful scripting of
injected packets from simple shell scripts.
nemesis-tcp
provides an interface to craft
and inject TCP packets allowing the user to specify any portion of a TCP
packet as well as lower-level IP packet information.
-c
COUNT
- Number of packets to send, default: 1.
-i
INTERVAL
- Seconds between repeatedly sent packets, only available if
-c
is given.
-v
- Display the injected packet in human readable form. Use twice to see a
hexdump of the injected packet with printable ASCII characters on the
right. Use three times for a hexdump without decoded ASCII.
-a
NUM
- Specify the acknowledgement number (ACK number) within the TCP
header.
-F
FLAG
- Specify the TCP flags within the TCP header. The following flags are
supported:
Flags can be combined in the form
‘
-fPA
’.
If flags are specified in the form
‘-f-
’
then the TCP header will be built without flags.
-o
FILE
- This will cause
nemesis-tcp
to use the
specified TCP options file as the options when building the TCP header for
the injected packet. TCP options can be up to 40 bytes in length. The TCP
options file must be created manually based upon the desired options. TCP
options can also be read from stdin by specifying
‘-o-
’
instead.
-P
FILE
- This will cause
nemesis-tcp
to use the
specified payload file as the payload when injecting TCP packets. For
packets injected using the raw interface (where
-d
is not used), the maximum payload
size is 65415 bytes. For packets injected using the link layer interface
(where -d
IS used), the maximum payload
size is 1380 bytes. Payloads can also be read from stdin by specifying
‘-P-
’
instead.
Windows systems are limited to a maximum payload size of 1380 bytes for TCP
packets.
-s
NUM
- Specify the sequence number within the TCP header.
-u
OFFSET
- Specify the urgent pointer offset within the TCP header.
-w
SIZE
- Specify the window size within the TCP header.
-x
PORT
- Specify the source port within the TCP header.
-y
PORT
- Specify the destintion port within the TCP header.
-D
ADDR
- Specify the destination IP address within the IP header.
-F
OPT
- Specify the fragmentation options in the IP header:
-FD
- don't fragment
-FM
- more fragments
-FR
- reserved flag
-F
offset
-
IP fragmentation options can be specified individually or combined into a
single argument to the -F
command line
switch by separating the options with commas (eg.
-FD,M
) or spaces (eg.
-FM
223). The IP fragmentation offset is a
13-bit field with valid values from 0 to 8189. Don't fragment (DF), more
fragments (MF) and the reserved flag (RESERVED or RB) are 1-bit fields.
NOTE: Under normal conditions, the reserved
flag is unset.
-I
ID
- Specify the IP ID within the IP header.
-O
FILE
- This will cause
nemesis-tcp
to use the
specified IP options file as the options when building the IP header for
the injected packet. IP options can be up to 40 bytes in length. The IP
options file must be created manually based upon the desired options. IP
options can also be read from stdin by specifying
-O-
instead.
-S
ADDR
- Specify the source IP address within the IP header.
-t
TOS
- Specify the IP type of service (TOS) within the IP header. Valid type of
service values:
- 2
- Minimize monetary cost
- 4
- Maximize reliability
- 8
- Maximize throughput
- 24
- Minimize delay
NOTE: Under normal conditions, only one type of
service is set within a packet. To specify multiple types, specify the sum
of the desired values as the type of service.
-T
TTL
- Specify the IP time-to-live (TTL) in the IP header.
-d
IFNAME
- Specify the name (for UNIX-like systems) or the number (for Windows
systems) of the IFNAME to use (eg. fxp0,
eth0, hme0, 1).
-H
MAC
- Specify the source MAC address,
(XX:XX:XX:XX:XX:XX).
-M
MAC
- Specify the destination MAC address,
(XX:XX:XX:XX:XX:XX).
-Z
- Lists the available network interfaces by number for use in link-layer
injection.
NOTE: This feature is only relevant to Windows
systems.
nemesis-tcp
returns 0 on a successful exit, 1
if it exits on an error.
nemesis-arp(1),
nemesis-dhcp(1),
nemesis-dns(1),
nemesis-ethernet(1),
nemesis-icmp(1),
nemesis-igmp(1),
nemesis-ip(1),
nemesis-ospf(1),
nemesis-rip(1),
nemesis-udp(1).
Mark Grimes
<
mark@stateful.net>
and
Jeff Nathan
<
jeff@snort.org>
Please report at
https://github.com/libnet/nemesis/issues