• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1############
2% IGMP tests
3############
4
5+ Basic IGMP tests
6
7= Build IGMP - Basic
8
9a=Ether(src="00:01:02:03:04:05")
10b=IP(src="1.2.3.4")
11c=IGMP(gaddr="0.0.0.0")
12x = a/b/c
13x[IGMP].igmpize()
14assert x.mrcode == 20
15assert x[IP].dst == "224.0.0.1"
16
17= Build IGMP - Custom membership
18
19a=Ether(src="00:01:02:03:04:05")
20b=IP(src="1.2.3.4")
21c=IGMP(gaddr="224.0.1.2")
22x = a/b/c
23x[IGMP].igmpize()
24assert x.mrcode == 20
25assert x[IP].dst == "224.0.1.2"
26
27= Build IGMP - LG
28
29a=Ether(src="00:01:02:03:04:05")
30b=IP(src="1.2.3.4")
31c=IGMP(type=0x17, gaddr="224.2.3.4")
32x = a/b/c
33x[IGMP].igmpize()
34assert x.dst == "01:00:5e:00:00:02"
35assert x.mrcode == 0
36assert x[IP].dst == "224.0.0.2"
37
38= Change IGMP params
39
40x = Ether(src="00:01:02:03:04:05")/IP()/IGMP()
41x[IGMP].igmpize()
42assert x.mrcode == 20
43assert x[IP].dst == "224.0.0.1"
44
45x = Ether(src="00:01:02:03:04:05")/IP()/IGMP(gaddr="224.2.3.4", type=0x12)
46x.mrcode = 1
47x[IGMP].igmpize()
48x = Ether(raw(x))
49assert x.mrcode == 0
50
51x.gaddr = "224.3.2.4"
52x[IGMP].igmpize()
53assert x.dst == "01:00:5e:03:02:04"
54
55x.ttl = 64
56x[IGMP].igmpize()
57assert x.ttl == 1
58
59= Test mysummary
60
61x = Ether(src="00:01:02:03:04:05")/IP(src="192.168.0.1")/IGMP(gaddr="224.0.0.2", type=0x17)
62x[IGMP].igmpize()
63assert x[IGMP].mysummary() == "IGMP: 192.168.0.1 > 224.0.0.2 Leave Group 224.0.0.2"
64
65assert IGMP().mysummary() == "IGMP Group Membership Query 0.0.0.0"
66
67= IGMP - misc
68~ netaccess
69
70x = Ether(src="00:01:02:03:04:05")/IP(dst="192.168.0.1")/IGMP(gaddr="www.google.fr", type=0x11)
71x = Ether(raw(x))
72assert not x[IGMP].igmpize()
73assert x[IP].dst == "192.168.0.1"
74
75x = Ether(src="00:01:02:03:04:05")/IP(dst="192.168.0.1")/IGMP(gaddr="124.0.2.1", type=0x00)
76assert not x[IGMP].igmpize()
77assert x[IP].dst == "192.168.0.1"