package
0.0.0-20240523144707-f5b61b103af6
Repository: https://github.com/packetloop/zgrab2.git
Documentation: pkg.go.dev
# Functions
DecodeDescriptor takes a descriptor in native Oracle format and returns a flattened map.
DecodeTNSDataNSN reads a TNSDataNSN packet from a TNSData body.
EncodeReleaseVersion gets a ReleaseVersion instance from its dotted-decimal representation, e.g.: EncodeReleaseVersion("64.3.2.1.0") = ReleaseVersion(0x40320100).
NSNValueBytes returns a NSNValue of type Bytes with the given value.
NSNValueStatus returns a NSNValue of type Status with the given value.
NSNValueString returns a NSNValue of type String with the given value.
NSNValueUB1 returns a NSNValue of type UB1 with the given value.
NSNValueUB2 returns a NSNValue of type UB2 with the given value.
NSNValueVersion returns a NSNValue of type Version whose value is given in dotted-decimal format.
ReadNSNService reads an NSNService packet from the stream.
ReadNSNValue reads a NSNValue from the stream, returns nil/error if one cannot be read (leaving the stream in a bad state).
ReadTNSAccept reads a TNSAccept packet body from the stream.
ReadTNSConnect reads a TNSConnect packet from the reader, which should point to the first byte after the end of the TNSHeader.
ReadTNSData reads a TNSData packet from the stream, which should point to the first byte after the TNSHeader.
ReadTNSDataNSN reads a TNSDataNSN packet from a stream pointing to the start of the NSN data.
ReadTNSRedirect reads a TNSRedirect packet from the stream, which should point to the first byte after the TNSHeader.
ReadTNSRefuse reads a TNSRefuse packet from the stream, which should point to the first byte after the TNSHeader.
ReadTNSResend reads a TNSResend packet from the reader, which should point to the first byte after the end of the header -- so in this case, it reads nothing and returns an empty TNSResend{} instance.
RegisterModule registers the zgrab2 module.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DataIDNSN identifies a Native Security Negotiation data payload.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
TODO: details.
NSNServiceAuthentication identifies an Authentication service (TODO: details).
NSNServiceDataIntegrity identifies a Data Integrity service (TODO: details).
NSNServiceEncryption identifies an Encryption service (TODO: details).
NSNServiceSupervisor identifies a Supervisor service (TODO: details).
NSNValueTypeBytes identifies a binary value type (an array of bytes).
NSNValueTypeStatus identifies a 16-bit status value.
NSNValueTypeString identifies a string value type.
NSNValueTypeUB1 identifies an unsigned 8-bit integer.
NSNValueTypeUB2 identifies an unsigned 16-bit big-endian integer.
NSNValueTypeUB4 identifies an unsigned 32-bit big-endian integer.
NSNValueTypeVersion identifies a 32-bit ReleaseVersion value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
PacketTypeAbort identifies an Abort packet.
PacketTypeAccept identifies an Accept packet (the server's response to a Connect packet, contains some server configuration flags).
PacketTypeAcknowledge identifies an Acknowledge packet.
PacketTypeAttention identifies an Attention packet.
PacketTypeConnect identifies a Connect packet (first packet sent by the client, containing the connect descriptor).
PacketTypeControl identifies a Control packet.
PacketTypeData identifies a Data packet.
PacketTypeMarker identifies a Marker packet.
PacketTypeNull identifies a Null packet.
PacketTypeRedirect idenfies a Redirect packet.
PacketTypeRefuse identifies a Refuse packet.
PacketTypeResend identifies a Resend packet.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TNSMode12c uses the newer TNSHeader format, with 32-bit lengths and no PacketChecksum.
TNSModeOld uses the pre-12c format TNSHeader, with 16-bit lengths.
# Variables
ErrBufferTooSmall is returned when the caller provides a buffer that is too small for the required data.
ErrInvalidData is returned when the server returns syntactically-invalid (or very unlikely / problematic) data.
ErrInvalidInput is returned when user-supplied data is not valid.
ErrUnexpectedResponse is returned when the server returns a valid TNS response but it is not the expected type.
# Structs
Connection holds the state for a scan connection to the Oracle server.
DescriptorEntry is a simple key-value pair representing a single primitive value in the descriptor string.
Flags holds the command-line configuration for the HTTP scan module.
HandshakeLog gives the results of the initial connection handshake in a form suitable for zgrab2 output.
Module implements the zgrab2.Module interface.
NSNService is an individual "packet" inside the NSN data payload; it consists in an identifier and a list of values or "sub-packets" giving configuration settings for that service type.
NSNValue represents a single value or "sub-packet" within an NSNService.
Scanner implements the zgrab2.Scanner interface.
ScanResults instances are returned by the module's Scan function.
TNSAccept is the server's response to a successful TNSConnect request from the client.
TNSConnect is sent by the client to request a connection with the server.
TNSData is the packet type used to send (more or less) arbitrary data between client and server.
TNSDataNSN represents the decoded body of a TNSData packet for a Native Security Negotiation payload.
TNSDriver abstracts the bottom-level TNS packet encoding.
TNSHeader is the 8-byte header that precedes all TNS packets.
TNSPacket is a TNSHeader + a body.
TNSRedirect is returned by the server in response to a TNSConnect when it needs to direct the caller elsewhere.
TNSRefuse is returned by the server when an error occurs (for instance, an invalid connect descriptor).
TNSResend is empty -- the entire packet is just a header with a type of PacketTypeResend (0x0b == 11).
# Interfaces
TNSPacketBody is the interface for the "body" of a TNSPacket (that is, everything after the header).
# Type aliases
ConnectFlags are flags used by the client and the server to negotiate connection settings.
DataFlags is a 16-bit flags field used in the TNSData packet.
Descriptor is a nested series of parens, used for e.g.
NSNOptions is an 8-bit flags value describing the Native Security Negotiation options (TODO: details).
NSNServiceType is an enumerated type identifying the "service" types inside a NSN packet.
NSNValueType is a 16-bit enumerated value identifying the different data types of the values or "sub-packets" in the NSNService packets.
NTProtocolCharacteristics are flags used by the client and the server to negotiate connection settings.
PacketType is the type identifier used in the TNS header to identify the format of the packet.
RefuseReason is an enumeration describing the reason the request was refused.
ReleaseVersion is a packed version number describing the release version of a specific (sub-)component.
ServiceOptions are flags used by the client and server in negotiating the connection settings.
TNSFlags is the type for the TNS header's flags.
TNSMode determines the format of the TNSHeader; used in TNSDriver.