File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11+ SEND (IPv6) tests
22
3- = Several basic SEND builds
3+ = ICMPv6NDOptRsaSig build and dissection
44
5- pkt = Ether()/IPv6()/ICMPv6NDOptNonce()
5+ pkt = Ether()/IPv6()/ICMPv6ND_NS()/ICMPv6NDOptRsaSig(signature_pad = b"\x01" * 12)
6+ pkt = Ether(raw(pkt))
7+
8+ assert ICMPv6NDOptRsaSig in pkt
9+ assert pkt[ICMPv6NDOptRsaSig].signature_pad == b"\x01" * 12
10+
11+ = ICMPv6NDOptCGA build and dissection
12+
13+ pkt = Ether()/IPv6()/ICMPv6ND_NS()/ICMPv6NDOptCGA(CGA_PARAMS=CGA_Params())
14+ pkt = Ether(raw(pkt))
15+
16+ assert ICMPv6NDOptCGA in pkt
17+ assert isinstance(pkt[ICMPv6NDOptCGA].CGA_PARAMS.pubkey, X509_SubjectPublicKeyInfo)
18+ assert len(pkt) == 142
19+
20+ = ICMPv6NDOptTmstp build and dissection
21+
22+ pkt = Ether()/IPv6()/ICMPv6ND_NS()/ICMPv6NDOptTmstp(timestamp=int(time.mktime(time.gmtime())))
23+ pkt = Ether(raw(pkt))
24+ pkt.show()
25+
26+ assert ICMPv6NDOptTmstp in pkt
27+ assert pkt[ICMPv6NDOptTmstp].len == 2
28+
29+ = ICMPv6NDOptNonce build and dissection
30+
31+ pkt = Ether()/IPv6()/ICMPv6ND_NS()/ICMPv6NDOptNonce(nonce=b"\x31\x32\x33\x34\x35\x36")
32+ pkt = Ether(raw(pkt))
33+
34+ assert ICMPv6NDOptNonce in pkt
35+ assert raw(ICMPv6NDOptNonce(nonce=b"\x31\x32\x33\x34\x35\x36")) == b'\x0e\x01123456'
Original file line number Diff line number Diff line change @@ -281,7 +281,12 @@ def __mul__(self, n):
281281
282282class RandBin (RandString ):
283283 def __init__ (self , size = None ):
284- RandString .__init__ (self , size , "" .join (map (chr , range (256 ))))
284+ RandString .__init__ (self , size , b"" .join (map (chb , range (256 ))))
285+ def _fix (self ):
286+ s = b""
287+ for _ in range (self .size ):
288+ s += chb (random .choice (self .chars ))
289+ return s
285290
286291
287292class RandTermString (RandString ):
You can’t perform that action at this time.
0 commit comments