nemesis-dhcp
—
DHCP Protocol (The Nemesis Project)
nemesis-dhcp |
[ -vZ? ]
[-c
COUNT ]
[-i
INTERVAL ]
[-d
IFNAME ]
[-C
ADDR ]
[-D
ADDR ]
[-F
OPT ]
[-f
FLAGS ]
[-g
ADDR ]
[-h
MAC ]
[-H
MAC ]
[-I
ID ]
[-M
MAC ]
[-o
CODE ]
[-O
FILE ]
[-P
FILE ]
[-s
ADDR ]
[-S
ADDR ]
[-t
IP-TOS ]
[-T
TTL ]
[-x
PORT ]
[-y
PORT ]
[-Y
ADDR ] |
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-dhcp
provides an interface to craft
and inject DHCP packets allowing the user to specify any portion of a DHCP
packet as well as lower-level IP and TCP/UDP packet information.
By default a DHCP Discover (client) message is created. To successfully send it
out a network interface you must be root.
-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.
-o
CODE
- BOOTP/DHCP opcode to send, default: 1 (request).
-f
FLAGS
- Specify the FLAGS within the DHCP header,
default: 0x8000.
-g
ADDR
- DHCP Gateway (relay agent) IP address.
-s
ADDR
- DHCP server IP address.
-C
ADDR
- DHCP client's IP address.
-Y
ADDR
- Your IP address, the lease from the DHCP server.
-h
MAC
- Client's HW address, MAC.
-P
FILE
- This will cause
nemesis-dhcp
to use the
specified FILE as the payload when
injecting DHCP packets. For packets injected using the raw interface
(where -d
is not used), the maximum
payload size is 65455 for DHCP packets. For packets injected using the
link layer interface (where -d
IS
used), the maximum payload size is 1420 bytes. Payloads can also be read
from stdin by specifying -P-
instead.
The payload file can consist of any arbitrary data though it will be most
useful to create a payload resembling the structure of the DHCP packet
specified using the command-line options.
NOTE: Windows systems are limited to a maximum
payload size of 1420 bytes.
-x
PORT
- UDP source port of injected packet.
-y
PORT
- UDP target port of injected packet.
-D
ADDR
- Specify the destination IP address in 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 in the IP header.
-O
FILE
- This will cause
nemesis-dhcp
to use the
specified IP options file, 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 of an
IP options file.
-S
ADDR
- Specify the source IP address in the IP header.
-t
TOS
- Specify the IP type-of-service (TOS) in 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-dhcp
returns 0 on a successful exit,
1 if it exits on an error.
nemesis-arp(1),
nemesis-dns(1),
nemesis-ethernet(1),
nemesis-icmp(1),
nemesis-igmp(1),
nemesis-ip(1),
nemesis-ospf(1),
nemesis-rip(1),
nemesis-tcp(1),
nemesis-udp(1).
Joachim Nilsson
<
troglobit@gmail.com>
Please report at
https://github.com/libnet/nemesis/issues