/// <summary> /// This function build an IGMP over IPv4 over Ethernet packet. /// </summary> public static Packet BuildIgmpPacket() { EthernetLayer ethernetLayer = new EthernetLayer { Source = new MacAddress(macAddressSource), Destination = new MacAddress(macAddressDest), EtherType = EthernetType.None, // Will be filled automatically. }; IpV4Layer ipV4Layer = new IpV4Layer { Source = new IpV4Address(ipSource), CurrentDestination = new IpV4Address(ipDest), Fragmentation = IpV4Fragmentation.None, HeaderChecksum = null, // Will be filled automatically. Identification = 123, Options = IpV4Options.None, Protocol = null, // Will be filled automatically. Ttl = 100, TypeOfService = 0, }; IgmpQueryVersion1Layer igmpLayer = new IgmpQueryVersion1Layer { GroupAddress = new IpV4Address(ipSource), }; PacketBuilder builder = new PacketBuilder(ethernetLayer, ipV4Layer, igmpLayer); return(builder.Build(DateTime.Now)); }
public void DifferentIgmpSimpleLayersTest() { IgmpVersion1PlusSimpleLayer layer1 = new IgmpQueryVersion1Layer { GroupAddress = new IpV4Address("1.2.3.4") }; IgmpVersion1PlusSimpleLayer layer2 = new IgmpQueryVersion2Layer { GroupAddress = new IpV4Address("1.2.3.4"), MaxResponseTime = TimeSpan.FromMinutes(55) }; Assert.IsFalse(layer1.Equals(layer2)); }
private void btnAdd_Click(object sender, EventArgs e) { try { IgmpQueryVersion1Layer igmpLayer = new IgmpQueryVersion1Layer { GroupAddress = new IpV4Address(txtSourceIP.Text), }; mainForm.addToPacket(igmpLayer, "ICMP -> " + txtSourceIP.Text); } catch (Exception) { MessageBox.Show("Invalid Parameters"); } }