• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1+ SEND (IPv6) tests
2
3= ICMPv6NDOptRsaSig build and dissection
4
5pkt = Ether()/IPv6()/ICMPv6ND_NS()/ICMPv6NDOptRsaSig(signature_pad = b"\x01" * 12)
6pkt = Ether(raw(pkt))
7
8assert ICMPv6NDOptRsaSig in pkt
9assert pkt[ICMPv6NDOptRsaSig].signature_pad == b"\x01" * 12
10
11= ICMPv6NDOptCGA build and dissection
12
13pkt = Ether()/IPv6()/ICMPv6ND_NS()/ICMPv6NDOptCGA(CGA_PARAMS=CGA_Params())
14pkt = Ether(raw(pkt))
15
16assert ICMPv6NDOptCGA in pkt
17assert isinstance(pkt[ICMPv6NDOptCGA].CGA_PARAMS.pubkey, X509_SubjectPublicKeyInfo)
18assert len(pkt) == 142
19
20= ICMPv6NDOptTmstp build and dissection
21
22pkt = Ether()/IPv6()/ICMPv6ND_NS()/ICMPv6NDOptTmstp(timestamp=int(time.mktime(time.gmtime())))
23pkt = Ether(raw(pkt))
24pkt.show()
25
26assert ICMPv6NDOptTmstp in pkt
27assert pkt[ICMPv6NDOptTmstp].len == 2
28
29= ICMPv6NDOptNonce build and dissection
30
31pkt = Ether()/IPv6()/ICMPv6ND_NS()/ICMPv6NDOptNonce(nonce=b"\x31\x32\x33\x34\x35\x36")
32pkt = Ether(raw(pkt))
33
34assert ICMPv6NDOptNonce in pkt
35assert raw(ICMPv6NDOptNonce(nonce=b"\x31\x32\x33\x34\x35\x36")) == b'\x0e\x01123456'
36