nemesis-igmp
—
IGMP Protocol (The Nemesis Project)
nemesis-igmp |
[-vZ? ] [-c
COUNT] [-d
IFNAME] [-D
ADDR] [-F
OPT] [-g
GROUP] [-H
MAC] [-I
ID] [-i
INTERVAL] [-M
MAC] [-O
FILE] [-p
TYPE] [-P
FILE] [-S
ADDR] [-t
TOS] [-T
TTL] |
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-igmp
provides an interface to
craft and inject IGMP packets allowing the user to specify any portion of an
IGMP 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.
-r
CODE
- Specify the IGMP response code, the value for the one-byte field following
the IGMP type field. Unused in IGMP v1, query response time in IGMP
v2.
-g
GROUP
- Specify the IGMP group address within the IGMP header. It is used for IGMP
v1/v2 join/leave (v1 does not have leave), and group specific IGMP
queries.
-p
TYPE
- Specify the IGMP type within the IGMP header. Example values include:
- 0x11:
- Query, length determines version
- 0x12:
- Join, v1
- 0x13:
- DVMRP
- 0x14:
- PIM, v1
- 0x16:
- Join, v2
- 0x17:
- Leave, v2
- 0x1e:
- Multicast traceroute, response
- 0x1f:
- Multicast traceroute
- 0x22:
- Membership report, v3 join/leave
- 0x30:
- Multicast router advertisement
- 0x31:
- Multicast router solicitation
- 0x32:
- Multicast router termination
Only one type may be specified at a time.
-P
FILE
- This will cause
nemesis-igmp
to use the specified
payload file as the raw payload when injecting IGMP packets. For packets
injected using the interface (where -d
is not
used), the maximum payload size is 65467 bytes. For packets injected using
the link layer interface (where -d
IS used), the
maximum payload size is 1432 bytes. Payloads can also be read from stdin
by specifying -P-
instead.
Windows systems are limited to a maximum payload size of 1432
bytes for IGMP packets.
-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-igmp
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-igmp
returns 0 on a successful
exit, 1 if it exits on an error.