nemesis-igmp(1) (usm)
nemesis-igmp(1) General Commands Manual (usm) nemesis-igmp(1)

NAME

nemesis-igmpIGMP Protocol (The Nemesis Project)

SYNOPSIS

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]

DESCRIPTION

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.

GENERAL OPTIONS

-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.

IGMP Options

-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.

IP OPTIONS

-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.

DATA LINK OPTIONS

-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.

DIAGNOSTICS

nemesis-igmp returns 0 on a successful exit, 1 if it exits on an error.

SEE ALSO

nemesis-arp(1), nemesis-dhcp(1), nemesis-dns(1), nemesis-ethernet(1), nemesis-icmp(1), nemesis-ip(1), nemesis-ospf(1), nemesis-rip(1), nemesis-tcp(1), nemesis-udp(1).

AUTHORS

Mark Grimes <mark@stateful.net>,
Jeff Nathan <jeff@snort.org> and
Joachim Nilsson <troglobit@gmail.com>

BUGS

Please report at https://github.com/troglobit/nemesis/issues
December 13, 2019