Class: PacketGen::Plugin::SMB::Browser::HostAnnouncement

Inherits:
PacketGen::Plugin::SMB::Browser show all
Defined in:
lib/packetgen/plugin/smb/browser/host_announcement.rb

Overview

Host announcement browser frame.

Such a frame is used by a server to advertise its presence and specify the types of resources and services it supports.

Author:

  • Sylvain Daubert

Direct Known Subclasses

DomainAnnouncement, LocalMasterAnnouncement

Constant Summary

Constants inherited from PacketGen::Plugin::SMB::Browser

OPCODES

Instance Attribute Summary collapse

Attributes inherited from PacketGen::Plugin::SMB::Browser

#body, #opcode

Class Method Summary collapse

Methods inherited from PacketGen::Plugin::SMB::Browser

#added_to_packet, #read

Instance Attribute Details

#browser_ver_majInteger

8-bit Browser protocol major version number. Should be 15.

Returns:

  • (Integer)


56
# File 'lib/packetgen/plugin/smb/browser/host_announcement.rb', line 56

define_field :browser_ver_maj, PacketGen::Types::Int8, default: 15

#browser_ver_minInteger

8-bit Browser protocol minor version number. Should be 1.

Returns:

  • (Integer)


60
# File 'lib/packetgen/plugin/smb/browser/host_announcement.rb', line 60

define_field :browser_ver_min, PacketGen::Types::Int8, default: 1

#commentString

Null-terminated ASCII string.

Returns:



68
# File 'lib/packetgen/plugin/smb/browser/host_announcement.rb', line 68

define_field :comment, PacketGen::Types::CString

#os_ver_majInteger

8-bit integer indicating the OS major version number

Returns:

  • (Integer)


44
# File 'lib/packetgen/plugin/smb/browser/host_announcement.rb', line 44

define_field :os_ver_maj, PacketGen::Types::Int8

#os_ver_minInteger

8-bit integer indicating the OS minor version number

Returns:

  • (Integer)


48
# File 'lib/packetgen/plugin/smb/browser/host_announcement.rb', line 48

define_field :os_ver_min, PacketGen::Types::Int8

#periodicityObject

32-bit integer that must be the announcement frequency of the server in milliseconds.



35
# File 'lib/packetgen/plugin/smb/browser/host_announcement.rb', line 35

define_field :periodicity, PacketGen::Types::Int32le

#server_nameString

Null-terminated ASCII string of 16-byte length. Used to identify server.

Returns:



40
# File 'lib/packetgen/plugin/smb/browser/host_announcement.rb', line 40

define_field :server_name, PacketGen::Types::CString, static_length: 16

#server_typeInteger

32-bit integer indicating the type of the server

Returns:

  • (Integer)


52
# File 'lib/packetgen/plugin/smb/browser/host_announcement.rb', line 52

define_field :server_type, PacketGen::Types::Int32le

#signatureInteger

16-bit sinature integer. Should be 0xAA55.

Returns:

  • (Integer)


64
# File 'lib/packetgen/plugin/smb/browser/host_announcement.rb', line 64

define_field :signature, PacketGen::Types::Int16le, default: 0xaa55

#update_countInteger

8-bit integer. Not used. Should be 0

Returns:

  • (Integer)


30
# File 'lib/packetgen/plugin/smb/browser/host_announcement.rb', line 30

define_field :update_count, PacketGen::Types::Int8, default: 0

Class Method Details

.protocol_nameString

Returns:



18
19
20
21
22
23
# File 'lib/packetgen/plugin/smb/browser/host_announcement.rb', line 18

def self.protocol_name
  return @protocol_name if @protocol_name

  basename = to_s.sub(/^.*::/, '')
  @protocol_name = "SMB::Browser::#{basename}"
end