Exemple #1
0
	def handle_read(self):
		ip = struct.unpack("!i", self.recv(4))[0] # network byte-order
		port = struct.unpack("!h", self.recv(2))[0] # network byte-order
		length = struct.unpack("i", self.recv(4))[0] # host byte-order
		src = IpAddress(ip)
		src.port = port
		msg = self.recv(length)
		assert length == len(msg)
		tlv = BER_decode.get_tlv(msg) # should be community based message
		version, community, pdu = tlv.decode()
		if version == 0:
			pdu = _translate2v2(ip, community, pdu)
		return self.traphandler(src, community, pdu)
Exemple #2
0
	def _decode_message(self, message):
		tlv = BER_decode.get_tlv(message)
		version, community, pdu = tlv.decode()
		return CommunityBasedMessage(community, pdu, version)
Exemple #3
0
    def decode(self):
        import BER_decode

        tlv = BER_decode.get_tlv(self.tostring())
        return tlv.decode()