🟢 Stable | A tool designed for generating various types of Internet Group Management Protocol (IGMP) packets on multicast networks.
src | ||
.gitignore | ||
CMakeLists.txt | ||
LICENSE.txt | ||
README.md |
IGMP Packet Generator
Overview
The IGMP Packet Generator is a specialized tool designed for generating various types of Internet Group Management Protocol (IGMP) p ackets. This tool is particularly useful for network administrators, developers, and researchers involved in testing and analyzing ne twork protocols, multicast networks, and network security systems.
Features
- Support for Multiple IGMP Versions: Compatible with IGMPv1, IGMPv2, and IGMPv3.
- Variety of IGMP Packets: Capable of generating Query, Report, Leave, and other IGMP packet types.
- Customizable Packet Parameters: Allows setting of source/destination IPs, ports, and multicast groups.
- Router Alert Option: Implements the Router Alert IP option (IPOPT_RA).
Requirements
- Unix-like operating system.
libnet
library- CMake for building the project.
For debian/ubuntu, simply type:
sudo apt-get install cmake libnet1-dev
Install
Clone the Repository (if applicable):
git clone [repository-url]
cd igmpgen
Build with CMake:
Create a build directory:
mkdir _build && cd _build
Run CMake and build the project:
cmake ..
cmake --build .
Install binaries
cmake ..
cmake --install .
Usage
After building, you can run igmpgen
with the necessary command-line arguments:
Command-Line Arguments
IGMP packet generator
Usage: ./igmpgen [options]
Options:
-i <interface> Specify the network interface (e.g., eth0)
-t <type> Specify the IGMP packet type and version (e.g., 1.query)
-g <group> Specify the IGMP group (e.g., 224.0.0.1)
-s <source> Specify the source IP and port (e.g., 192.168.1.1:1234)
-d <destination> Specify the destination IP and port (e.g., 224.0.0.2:5678)
-n <number> Specify delay between packets in seconds (optional)
Available IGMP packet types:
- 1.query
- 1.report
- 1.dvmrp
- 2.query
- 2.report
- 2.leave
- 3.report
Example
Generate an IGMPv2 Membership Report for group 224.0.0.1
on eth0
:
./igmpgen -i eth0 -g 224.0.0.1 -t 2.report
Contributing
Contributions to igmpgen
are welcome. Please feel free to report issues,
suggest features, or submit pull requests.
License
This project is licensed under the LGPL 3.0-or-later.