MCPcopy
hub / github.com/fortra/impacket / decode

Method decode

impacket/ImpactDecoder.py:163–184  ·  view source on GitHub ↗
(self, buffer)

Source from the content-addressed store, hash-verified

161 self.protocol_id = a_protocol_id
162
163 def decode(self, buffer):
164 if self.protocol_id == ImpactPacket.UDP.protocol:
165 self.udp_decoder = UDPDecoder()
166 packet = self.udp_decoder.decode(buffer)
167 elif self.protocol_id == ImpactPacket.TCP.protocol:
168 self.tcp_decoder = TCPDecoder()
169 packet = self.tcp_decoder.decode(buffer)
170 elif self.protocol_id == ICMP6.ICMP6.protocol:
171 self.icmp6_decoder = ICMP6Decoder()
172 packet = self.icmp6_decoder.decode(buffer)
173 else:
174 # IPv6 Extension Headers lookup
175 extension_headers = IP6_Extension_Headers.IP6_Extension_Header.get_extension_headers()
176 if buffer and self.protocol_id in extension_headers:
177 extension_header_decoder_class = extension_headers[self.protocol_id].get_decoder()
178 self.extension_header_decoder = extension_header_decoder_class()
179 packet = self.extension_header_decoder.decode(buffer)
180 else:
181 self.data_decoder = DataDecoder()
182 packet = self.data_decoder.decode(buffer)
183
184 return packet
185
186class IP6Decoder(Decoder):
187 def __init__(self):

Callers 4

decodeMethod · 0.95
decodeMethod · 0.95
decodeMethod · 0.95
decodeMethod · 0.95

Calls 7

UDPDecoderClass · 0.85
TCPDecoderClass · 0.85
ICMP6DecoderClass · 0.85
DataDecoderClass · 0.85
get_extension_headersMethod · 0.80
decodeMethod · 0.45
get_decoderMethod · 0.45

Tested by

no test coverage detected