scapy.layers.netbios

NetBIOS over TCP/IP

[RFC 1001/1002]

class scapy.layers.netbios.NBNSHeader(_pkt, /, *, NAME_TRN_ID=0, RESPONSE=0, OPCODE=0, NM_FLAGS=<Flag 0 ()>, RCODE=0, QDCOUNT=0, ANCOUNT=0, NSCOUNT=0, ARCOUNT=0)[source]

Bases: scapy.packet.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

ShortField

0

RESPONSE

BitField (1 bit)

0

OPCODE

BitField (4 bits)

0

NM_FLAGS

FlagsField

<Flag 0 ()>

RCODE

BitField (4 bits)

0

QDCOUNT

ShortField

0

ANCOUNT

ShortField

0

NSCOUNT

ShortField

0

ARCOUNT

ShortField

0

payload_guess

Possible sublayers: NBNSNodeStatusResponse, NBNSQueryRequest, NBNSQueryResponse, NBNSRegistrationRequest, NBNSWackResponse

class scapy.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=0)[source]

Bases: scapy.packet.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

NetBIOSNameField

b'windows'

SUFFIX

ShortEnumField

16705

NULL

ByteField

0

RR_TYPE

ShortEnumField

33

RR_CLASS

ShortEnumField

1

TTL

IntField

0

RDLENGTH

ShortField

83

NUM_NAMES

FieldLenField

None

NODE_NAME

PacketListField

[<NBNSNodeStatusResponseService  |>]

MAC_ADDRESS

SourceMACField

None

STATISTICS

BitField (456 bits)

0

class scapy.layers.netbios.NBNSNodeStatusResponseService(_pkt, /, *, NETBIOS_NAME=b'WINDOWS         ', SUFFIX=0, NAME_FLAGS=4, UNUSED=0)[source]

Bases: scapy.packet.Packet

aliastypes
default_payload_class(payload)[source]
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

StrFixedLenField

b'WINDOWS         '

SUFFIX

ByteEnumField

0

NAME_FLAGS

ByteField

4

UNUSED

ByteEnumField

0

class scapy.layers.netbios.NBNSQueryRequest(_pkt, /, *, QUESTION_NAME=b'windows', SUFFIX=16705, NULL=0, QUESTION_TYPE=32, QUESTION_CLASS=1)[source]

Bases: scapy.packet.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

NetBIOSNameField

b'windows'

SUFFIX

ShortEnumField

16705

NULL

ByteField

0

QUESTION_TYPE

ShortEnumField

32

QUESTION_CLASS

ShortEnumField

1

mysummary()[source]
class scapy.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: scapy.packet.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

NetBIOSNameField

b'windows'

SUFFIX

ShortEnumField

16705

NULL

ByteField

0

QUESTION_TYPE

ShortEnumField

32

QUESTION_CLASS

ShortEnumField

1

TTL

IntField

300000

RDLENGTH

FieldLenField

None

ADDR_ENTRY

PacketListField

[<NBNS_ADD_ENTRY  |>]

mysummary()[source]
class scapy.layers.netbios.NBNSRegistrationRequest(_pkt, /, *, NAME_TRN_ID=0, FLAGS=10512, QDCOUNT=1, ANCOUNT=0, NSCOUNT=0, ARCOUNT=1, 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: scapy.packet.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          |             FLAGS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            QDCOUNT            |            ANCOUNT            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            NSCOUNT            |            ARCOUNT            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         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

NAME_TRN_ID

ShortField

0

FLAGS

ShortField

10512

QDCOUNT

ShortField

1

ANCOUNT

ShortField

0

NSCOUNT

ShortField

0

ARCOUNT

ShortField

1

QUESTION_NAME

NetBIOSNameField

b'Windows'

SUFFIX

ShortEnumField

16705

NULL

ByteField

0

QUESTION_TYPE

ShortEnumField

32

QUESTION_CLASS

ShortEnumField

1

RR_NAME

ShortEnumField

49164

RR_TYPE

ShortEnumField

32

RR_CLASS

ShortEnumField

1

TTL

IntField

0

RDLENGTH

ShortField

6

G

BitEnumField

0

OWNER_NODE_TYPE

BitEnumField

0

UNUSED

BitEnumField

0

NB_ADDRESS

IPField

'127.0.0.1'

class scapy.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: scapy.packet.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

NetBIOSNameField

b'windows'

SUFFIX

ShortEnumField

16705

NULL

ByteField

0

RR_TYPE

ShortEnumField

32

RR_CLASS

ShortEnumField

1

TTL

IntField

2

RDLENGTH

ShortField

2

RDATA

BitField (16 bits)

10512

class scapy.layers.netbios.NBNS_ADD_ENTRY(_pkt, /, *, G=0, OWNER_NODE_TYPE=0, UNUSED=0, NB_ADDRESS='127.0.0.1')[source]

Bases: scapy.packet.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

BitEnumField

0

OWNER_NODE_TYPE

BitEnumField

0

UNUSED

BitEnumField

0

NB_ADDRESS

IPField

'127.0.0.1'

class scapy.layers.netbios.NBNS_am(self, server_name=None, ip=None)[source]

Bases: scapy.ansmachine.AnsweringMachine

filter = 'udp port 137'
function_name = 'netbios_announce'
is_request(req)[source]
make_reply(req)[source]
parse_options(server_name=None, ip=None)[source]
sniff_options = {'L2socket': <L3PacketSocket: read/write packets at layer 3 using Linux PF_PACKET sockets>, 'store': 0}
class scapy.layers.netbios.NBTDatagram(_pkt, /, *, Type=16, Flags=2, ID=0, SourceIP='127.0.0.1', SourcePort=138, Length=272, Offset=0, SourceName=b'windows', SUFFIX1=16705, NULL1=0, DestinationName=b'windows', SUFFIX2=16705, NULL2=0)[source]

Bases: scapy.packet.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

ByteField

16

Flags

ByteField

2

ID

ShortField

0

SourceIP

IPField

'127.0.0.1'

SourcePort

ShortField

138

Length

ShortField

272

Offset

ShortField

0

SourceName

NetBIOSNameField

b'windows'

SUFFIX1

ShortEnumField

16705

NULL1

ByteField

0

DestinationName

NetBIOSNameField

b'windows'

SUFFIX2

ShortEnumField

16705

NULL2

ByteField

0

class scapy.layers.netbios.NBTSession(_pkt, /, *, TYPE=0, RESERVED=0, LENGTH=None)[source]

Bases: scapy.packet.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     |   RESERVED  |              LENGTH             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. NBTSession                          
NBTSession fields

TYPE

ByteEnumField

0

RESERVED

BitField (7 bits)

0

LENGTH

BitField (17 bits)

None

payload_guess

Possible sublayers: SMBNegociate_Protocol_Request_Header_Generic

post_build(pkt, pay)[source]
class scapy.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: scapy.packet.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

ByteEnumField

17

flags

ByteField

0

id

XShortField

0

src

IPField

'127.0.0.1'

sport

ShortField

138

len

ShortField

None

ofs

ShortField

0

srcname

NetBIOSNameField

b''

dstname

NetBIOSNameField

b''

post_build(p, pay)[source]