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

Class IP6MultiProtocolDecoder

impacket/ImpactDecoder.py:159–184  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

157 return i
158
159class IP6MultiProtocolDecoder(Decoder):
160 def __init__(self, a_protocol_id):
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.85
decodeMethod · 0.85
decodeMethod · 0.85
decodeMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…