Пример #1
0
	def __init__ (self,data):
		self.type = PeerType(ord(data[2]))
		self.flag = PeerFlag(ord(data[3]))
		self.distinguisher = unpack('!L',data[4:8])[0]
		self.asn = unpack('!L',data[28:32])[0]
		self.id = IPv4.unpack(data[32:36])

		if self.flag.ipv4(): self.peer_address = IPv4.unpack(data[24:28])
		if self.flag.ipv6(): self.peer_address = IPv6.unpack(data[12:28])
Пример #2
0
    def __init__(self, data):
        self.type = PeerType(ord(data[2]))
        self.flag = PeerFlag(ord(data[3]))
        self.distinguisher = unpack('!L', data[4:8])[0]
        self.asn = unpack('!L', data[28:32])[0]
        self.id = IPv4.unpack(data[32:36])

        if self.flag.ipv4(): self.peer_address = IPv4.unpack(data[24:28])
        if self.flag.ipv6(): self.peer_address = IPv6.unpack(data[12:28])
Пример #3
0
 def unpack(cls, data, negotiated):
     return IPv4.unpack(data, cls)
Пример #4
0
	def unpack (cls, data, negotiated):
		return IPv4.unpack(data,cls)
Пример #5
0
	def unpack (cls,data,negotiated):
		if negotiated.asn4:
			return cls(ASN.unpack(data[:4]),IPv4.unpack(data[-4:]))
		return cls(ASN.unpack(data[:2]),IPv4.unpack(data[-4:]))
Пример #6
0
	def unpack (cls, data, negotiated):
		if negotiated.asn4:
			return cls(ASN.unpack(data[:4]),IPv4.unpack(data[-4:]))
		return cls(ASN.unpack(data[:2]),IPv4.unpack(data[-4:]))
Пример #7
0
	def unpack (cls, data, negotiated):
		clusters = []
		while data:
			clusters.append(IPv4.unpack(data[:4]))
			data = data[4:]
		return cls(clusters)
Пример #8
0
 def unpack(cls, data, direction, negotiated):
     return IPv4.unpack(data, cls)
Пример #9
0
 def unpack(cls, data, negotiated):
     clusters = []
     while data:
         clusters.append(IPv4.unpack(data[:4]))
         data = data[4:]
     return cls(clusters)