agent

package
v1.6.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2023 License: GPL-3.0 Imports: 18 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Agent

type Agent struct {
	ID           uuid.UUID               // ID is a Universally Unique Identifier per agent
	Client       clients.ClientInterface // Client is an interface for clients to make connections for agent communications
	Platform     string                  // Platform is the operating system platform the agent is running on (i.e. windows)
	Architecture string                  // Architecture is the operating system architecture the agent is running on (i.e. amd64)
	UserName     string                  // UserName is the username that the agent is running as
	UserGUID     string                  // UserGUID is a Globally Unique Identifier associated with username
	HostName     string                  // HostName is the computer's host name
	Ips          []string                // Ips is a slice of all the IP addresses assigned to the host's interfaces
	Pid          int                     // Pid is the Process ID that the agent is running under
	Process      string                  // Process is this agent's process name in memory

	Version       string        // Version is the version number of the Merlin Agent program
	Build         string        // Build is the build number of the Merlin Agent program
	WaitTime      time.Duration // WaitTime is how much time the agent waits in-between checking in
	MaxRetry      int           // MaxRetry is the maximum amount of failed check in attempts before the agent quits
	Skew          int64         // Skew is size of skew added to each WaitTime to vary check in attempts
	FailedCheckin int           // FailedCheckin is a count of the total number of failed check ins
	Initial       bool          // Initial identifies if the agent has successfully completed the first initial check in
	KillDate      int64         // killDate is a unix timestamp that denotes a time the executable will not run after (if it is 0 it will not be used)
	Integrity     int           // Integrity is the agent's integrity level such as High for Windows or root for Linux
	// contains filtered or unexported fields
}

Agent is a structure for agent objects. It is not exported to force the use of the New() function

func New

func New(config Config) (agent *Agent)

New creates a new agent struct with specific values and returns the object

func (*Agent) Run

func (a *Agent) Run()

Run instructs an agent to establish communications with the passed in server using the passed in protocol

type Config

type Config struct {
	Sleep    string // Sleep is the amount of time the Agent will wait between sending messages to the server
	Skew     string // Skew is the variance, or jitter, used to vary the sleep time so that it isn't constant
	KillDate string // KillDate is the date, as a Unix timestamp, that agent will quit running
	MaxRetry string // MaxRetry is the maximum amount of time an agent will fail to check in before it quits running
}

Config is a structure that is used to pass in all necessary information to instantiate a new Agent

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL