scapy.layers.netbios
NetBIOS over TCP/IP
[RFC 1001/1002]
- classscapy.layers.netbios.NBNSHeader(_pkt,/,*,NAME_TRN_ID=0,RESPONSE=0,OPCODE=0,NM_FLAGS=<Flag0()>,RCODE=0,QDCOUNT=0,ANCOUNT=0,NSCOUNT=0,ARCOUNT=0)[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| NAME TRN ID |R| OPCODE| NM FLAGS | RCODE |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| QDCOUNT | ANCOUNT |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| NSCOUNT | ARCOUNT |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NBNSHeader
NBNSHeader fields NAME_TRN_ID
0
RESPONSE
BitField
(1 bit)0
OPCODE
BitField
(4 bits)0
NM_FLAGS
<Flag0()>
RCODE
BitField
(4 bits)0
QDCOUNT
0
ANCOUNT
0
NSCOUNT
0
ARCOUNT
0
- payload_guess
Possible sublayers:
NBNSNodeStatusRequest
,NBNSNodeStatusResponse
,NBNSQueryRequest
,NBNSQueryResponse
,NBNSRegistrationRequest
,NBNSWackResponse
- classscapy.layers.netbios.NBNSNodeStatusRequest(_pkt,/,*,QUESTION_NAME=b'*\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00',SUFFIX=16705,NULL=0,QUESTION_TYPE=33,QUESTION_CLASS=1)[source]
Bases:
NBNSQueryRequest
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| QUESTION NAME |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +-+-+-+-+-+-+-+-+| | SUFFIX |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | NULL | QUESTION TYPE |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| QUESTION CLASS |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NBNSNodeStatusRequest
NBNSNodeStatusRequest fields QUESTION_NAME
b'*\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
SUFFIX
16705
NULL
0
QUESTION_TYPE
33
QUESTION_CLASS
1
- classscapy.layers.netbios.NBNSNodeStatusResponse(_pkt,/,*,RR_NAME=b'windows',SUFFIX=16705,NULL=0,RR_TYPE=33,RR_CLASS=1,TTL=0,RDLENGTH=83,NUM_NAMES=None,NODE_NAME=[<NBNSNodeStatusResponseService |>],MAC_ADDRESS=None,STATISTICS=b'')[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| RR NAME |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +-+-+-+-+-+-+-+-+| | SUFFIX |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | NULL | RR TYPE |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| RR CLASS | TTL |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | RDLENGTH |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| NUM NAMES | NODE NAME | MAC ADDRESS |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| |+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | STATISTICS |+-+-+-+-+-+-+-+-+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +-+-+-+-+-+-+-+-+| |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NBNSNodeStatusResponse
NBNSNodeStatusResponse fields RR_NAME
b'windows'
SUFFIX
16705
NULL
0
RR_TYPE
33
RR_CLASS
1
TTL
0
RDLENGTH
83
NUM_NAMES
None
NODE_NAME
[<NBNSNodeStatusResponseService |>]
MAC_ADDRESS
None
STATISTICS
b''
- classscapy.layers.netbios.NBNSNodeStatusResponseService(_pkt,/,*,NETBIOS_NAME=b'WINDOWS ',SUFFIX=0,NAME_FLAGS=4,UNUSED=0)[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| NETBIOS NAME |+ +| |+ +| |+ +-+-+-+-+-+-+-+-+| | SUFFIX |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| NAME FLAGS | UNUSED |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NBNSNodeStatusResponseService
NBNSNodeStatusResponseService fields NETBIOS_NAME
b'WINDOWS '
SUFFIX
0
NAME_FLAGS
4
UNUSED
0
- classscapy.layers.netbios.NBNSQueryRequest(_pkt,/,*,QUESTION_NAME=b'windows',SUFFIX=16705,NULL=0,QUESTION_TYPE=32,QUESTION_CLASS=1)[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| QUESTION NAME |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +-+-+-+-+-+-+-+-+| | SUFFIX |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | NULL | QUESTION TYPE |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| QUESTION CLASS |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NBNSQueryRequest
NBNSQueryRequest fields QUESTION_NAME
b'windows'
SUFFIX
16705
NULL
0
QUESTION_TYPE
32
QUESTION_CLASS
1
- classscapy.layers.netbios.NBNSQueryResponse(_pkt,/,*,RR_NAME=b'windows',SUFFIX=16705,NULL=0,QUESTION_TYPE=32,QUESTION_CLASS=1,TTL=300000,RDLENGTH=None,ADDR_ENTRY=[<NBNS_ADD_ENTRY |>])[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| RR NAME |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +-+-+-+-+-+-+-+-+| | SUFFIX |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | NULL | QUESTION TYPE |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| QUESTION CLASS | TTL |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | RDLENGTH |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| ADDR ENTRY |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NBNSQueryResponse
NBNSQueryResponse fields RR_NAME
b'windows'
SUFFIX
16705
NULL
0
QUESTION_TYPE
32
QUESTION_CLASS
1
TTL
300000
RDLENGTH
None
ADDR_ENTRY
[<NBNS_ADD_ENTRY |>]
- classscapy.layers.netbios.NBNSRegistrationRequest(_pkt,/,*,QUESTION_NAME=b'Windows',SUFFIX=16705,NULL=0,QUESTION_TYPE=32,QUESTION_CLASS=1,RR_NAME=49164,RR_TYPE=32,RR_CLASS=1,TTL=0,RDLENGTH=6,G=0,OWNER_NODE_TYPE=0,UNUSED=0,NB_ADDRESS='127.0.0.1')[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| QUESTION NAME |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +-+-+-+-+-+-+-+-+| | SUFFIX |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | NULL | QUESTION TYPE |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| QUESTION CLASS | RR NAME |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| RR TYPE | RR CLASS |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| TTL |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| RDLENGTH |G|OWN| UNUSED |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| NB ADDRESS |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NBNSRegistrationRequest
NBNSRegistrationRequest fields QUESTION_NAME
b'Windows'
SUFFIX
16705
NULL
0
QUESTION_TYPE
32
QUESTION_CLASS
1
RR_NAME
49164
RR_TYPE
32
RR_CLASS
1
TTL
0
RDLENGTH
6
G
0
OWNER_NODE_TYPE
0
UNUSED
0
NB_ADDRESS
'127.0.0.1'
- classscapy.layers.netbios.NBNSWackResponse(_pkt,/,*,RR_NAME=b'windows',SUFFIX=16705,NULL=0,RR_TYPE=32,RR_CLASS=1,TTL=2,RDLENGTH=2,RDATA=10512)[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| RR NAME |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +-+-+-+-+-+-+-+-+| | SUFFIX |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | NULL | RR TYPE |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| RR CLASS | TTL |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | RDLENGTH |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| RDATA |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NBNSWackResponse
NBNSWackResponse fields RR_NAME
b'windows'
SUFFIX
16705
NULL
0
RR_TYPE
32
RR_CLASS
1
TTL
2
RDLENGTH
2
RDATA
BitField
(16 bits)10512
- classscapy.layers.netbios.NBNS_ADD_ENTRY(_pkt,/,*,G=0,OWNER_NODE_TYPE=0,UNUSED=0,NB_ADDRESS='127.0.0.1')[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|G|OWN| UNUSED | NB ADDRESS |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NBNS_ADD_ENTRY
NBNS_ADD_ENTRY fields G
0
OWNER_NODE_TYPE
0
UNUSED
0
NB_ADDRESS
'127.0.0.1'
- classscapy.layers.netbios.NBNS_am(self,server_name=None,from_ip=None,ip=None)[source]
Bases:
AnsweringMachine
- filter:str|None='udpport137'
- function_name='nbnsd'
- optam0:Dict[str,Any]
- optam1:Dict[str,Any]
- optam2:Dict[str,Any]
- optsend:Dict[str,Any]
- optsniff:Dict[str,Any]
- parse_options(server_name=None,from_ip=None,ip=None)[source]
NBNS answering machine
- Parameters:
server_name – the netbios server name to match
from_ip – an IP (can have a netmask) to filter on
ip – the IP to answer with
- sniff_options:Dict[str,Any]={'store':0}
- classscapy.layers.netbios.NBTDatagram(_pkt,/,*,Type=16,Flags=2,ID=0,SourceIP='127.0.0.1',SourcePort=138,Length=None,Offset=0,SourceName=b'windows',SUFFIX1=16705,NULL1=0,DestinationName=b'windows',SUFFIX2=16705,NULL2=0)[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| TYPE | FLAGS | ID |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| SOURCEIP |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| SOURCEPORT | LENGTH |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| OFFSET | SOURCENAME |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | SUFFIX1 | NULL1 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| DESTINATIONNAME |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +-+-+-+-+-+-+-+-+| | SUFFIX2 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | NULL2 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NBTDatagram
NBTDatagram fields Type
16
Flags
2
ID
0
SourceIP
'127.0.0.1'
SourcePort
138
Length
None
Offset
0
SourceName
b'windows'
SUFFIX1
16705
NULL1
0
DestinationName
b'windows'
SUFFIX2
16705
NULL2
0
- payload_guess
Possible sublayers:
_SMBGeneric
- classscapy.layers.netbios.NBTSession(_pkt,/,*,TYPE=0,RESERVED=0,LENGTH=None)[source]
Bases:
Packet
- MAXLENGTH=262143
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| TYPE | RESERVED | LENGTH |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NBTSession
NBTSession fields TYPE
0
RESERVED
BitField
(7 bits)0
LENGTH
BitField
(17 bits)None
- payload_guess
Possible sublayers:
_SMBGeneric
- classscapy.layers.netbios.NetBIOS_DS(_pkt,/,*,type=17,flags=0,id=0,src='127.0.0.1',sport=138,len=None,ofs=0,srcname=b'',dstname=b'')[source]
Bases:
Packet
- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| TYPE | FLAGS | ID |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| SRC |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| SPORT | LEN |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| OFS | SRCNAME |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | DSTNAME |+-+-+-+-+-+-+-+-+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+ +| |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. NetBIOS_DS
NetBIOS_DS fields type
17
flags
0
id
0
src
'127.0.0.1'
sport
138
len
None
ofs
0
srcname
b''
dstname
b''