MCPcopy Create free account
hub / github.com/secdev/scapy / NBNSQueryResponse

Class NBNSQueryResponse

scapy/layers/netbios.py:181–208  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

179
180
181class NBNSQueryResponse(Packet):
182 name = "NBNS query response"
183 fields_desc = [NetBIOSNameField("RR_NAME", "windows"),
184 ShortEnumField("SUFFIX", 0x4141, _NETBIOS_SUFFIXES),
185 ByteField("NULL", 0),
186 ShortEnumField("QUESTION_TYPE", 0x20, _NETBIOS_QRTYPES),
187 ShortEnumField("QUESTION_CLASS", 1, _NETBIOS_QRCLASS),
188 IntField("TTL", 0x493e0),
189 FieldLenField("RDLENGTH", None, length_of="ADDR_ENTRY"),
190 PacketListField("ADDR_ENTRY",
191 [NBNS_ADD_ENTRY()], NBNS_ADD_ENTRY,
192 length_from=lambda pkt: pkt.RDLENGTH)
193 ]
194
195 def mysummary(self):
196 if not self.ADDR_ENTRY or \
197 not isinstance(self.ADDR_ENTRY[0], NBNS_ADD_ENTRY):
198 return "NBNSQueryResponse"
199 return "NBNSQueryResponse '\\\\%s' is at %s" % (
200 self.RR_NAME.decode(errors="backslashreplace"),
201 self.ADDR_ENTRY[0].NB_ADDRESS
202 )
203
204 def answers(self, other):
205 return (
206 isinstance(other, NBNSQueryRequest) and
207 other.QUESTION_NAME == self.RR_NAME
208 )
209
210
211bind_layers(NBNSHeader, NBNSQueryResponse, # RD+AA

Callers 1

make_replyMethod · 0.85

Calls 7

NetBIOSNameFieldClass · 0.90
ShortEnumFieldClass · 0.90
ByteFieldClass · 0.90
IntFieldClass · 0.90
FieldLenFieldClass · 0.90
PacketListFieldClass · 0.90
NBNS_ADD_ENTRYClass · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…