runner

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2024 License: BSD-3-Clause Imports: 59 Imported by: 0

Documentation

Overview

Package runner executes the enumeration process.

Index

Constants

View Source
const (
	DefaultResumeFile      = "resume.cfg"
	DefaultOutputDirectory = "output"
)
View Source
const Version = `v1.2.1`

Version is the current version of httpx

Variables

View Source
var Naabubuffer = bytes.Buffer{}

Functions

This section is empty.

Types

type AsnResponse

type AsnResponse struct {
	AsNumber  string `json:"as-number" csv:"as-number"`
	AsName    string `json:"as-name" csv:"as-name"`
	AsCountry string `json:"as-country" csv:"as-country"`
	AsRange   string `json:"as-range" csv:"as-range"`
}

func (AsnResponse) String

func (o AsnResponse) String() string

type Options

type Options struct {
	CustomHeaders customheader.CustomHeaders
	CustomPorts   customport.CustomPorts

	Output           string
	StoreResponseDir string
	HTTPProxy        string
	SocksProxy       string
	InputFile        string
	Methods          string
	RequestURI       string
	RequestURIs      string

	OutputMatchStatusCode     string
	OutputMatchContentLength  string
	OutputFilterStatusCode    string
	OutputFilterContentLength string
	InputRawRequest           string

	RequestBody        string
	OutputFilterString string
	OutputMatchString  string
	OutputFilterRegex  string
	OutputMatchRegex   string
	Retries            int
	Threads            int
	Timeout            int

	VHost              bool
	VHostInput         bool
	Smuggling          bool
	ExtractTitle       bool
	StatusCode         bool
	Location           bool
	ContentLength      bool
	FollowRedirects    bool
	StoreResponse      bool
	JSONOutput         bool
	CSVOutput          bool
	Silent             bool
	Version            bool
	Verbose            bool
	NoColor            bool
	OutputServerHeader bool
	OutputWebSocket    bool

	FollowHostRedirects bool
	MaxRedirects        int
	OutputMethod        bool
	TLSProbe            bool
	CSPProbe            bool
	OutputContentType   bool
	OutputIP            bool
	OutputCName         bool
	Unsafe              bool
	Debug               bool
	DebugRequests       bool
	DebugResponse       bool
	Pipeline            bool
	HTTP2Probe          bool
	OutputCDN           bool
	OutputResponseTime  bool
	NoFallback          bool
	NoFallbackScheme    bool
	TechDetect          bool
	TLSGrab             bool

	ShowStatistics            bool
	StatsInterval             int
	RandomAgent               bool
	StoreChain                bool
	Deny                      customlist.CustomList
	Allow                     customlist.CustomList
	MaxResponseBodySizeToSave int
	MaxResponseBodySizeToRead int
	OutputExtractRegex        string
	RateLimit                 int
	RateLimitMinute           int
	Probe                     bool
	Resume                    bool

	ExcludeCDN            bool
	HostMaxErrors         int
	Stream                bool
	SkipDedupe            bool
	ProbeAllIPS           bool
	Resolvers             goflags.NormalizedStringSlice
	Favicon               bool
	OutputFilterFavicon   goflags.NormalizedStringSlice
	OutputMatchFavicon    goflags.NormalizedStringSlice
	LeaveDefaultPorts     bool
	OutputLinesCount      bool
	OutputMatchLinesCount string

	OutputFilterLinesCount string

	OutputWordsCount      bool
	OutputMatchWordsCount string

	OutputFilterWordsCount string

	Hashes string
	Jarm   bool
	Asn    bool
	//
	CeyeApi    string
	CeyeDomain string
	NoPOC      bool
	// contains filtered or unexported fields
}

Options contains configuration options for httpx.

func ParseOptions

func ParseOptions() *Options

ParseOptions parses the command line options for application

func (*Options) ShouldLoadResume

func (options *Options) ShouldLoadResume() bool

ShouldLoadResume resume file

func (*Options) ShouldSaveResume

func (options *Options) ShouldSaveResume() bool

ShouldSaveResume file

type Result

type Result struct {
	Scheme       string   `json:"scheme,omitempty" csv:"scheme"`
	Port         string   `json:"port,omitempty" csv:"port"`
	URL          string   `json:"url,omitempty" csv:"url"`
	StatusCode   int      `json:"status-code,omitempty" csv:"status-code"`
	Title        string   `json:"title,omitempty" csv:"title"`
	Technologies []string `json:"technologies,omitempty" csv:"technologies"`
	ContentType  string   `json:"content-type,omitempty" csv:"content-type"`
	Method       string   `json:"method,omitempty" csv:"method"`
	Host         string   `json:"host,omitempty" csv:"host"`
	Lines        int      `json:"lines" csv:"lines"`
	Words        int      `json:"words" csv:"words"`
	FinalURL     string   `json:"final-url,omitempty" csv:"final-url"`
	POC          []string `json:"POC,omitempty" csv:"POC"`
	FileFuzz     []string `json:"file-fuzz,omitempty" csv:"file-fuzz"`
	Path         string   `json:"path,omitempty" csv:"path"`
	A            []string `json:"a,omitempty" csv:"a"`
	CNAMEs       []string `json:"cnames,omitempty" csv:"cnames"`

	Input    string `json:"input,omitempty" csv:"input"`
	Location string `json:"location,omitempty" csv:"location"`

	Error            string              `json:"error,omitempty" csv:"error"`
	WebServer        string              `json:"webserver,omitempty" csv:"webserver"`
	ResponseBody     string              `json:"response-body,omitempty" csv:"response-body"`
	ContentLength    int                 `json:"content-length,omitempty" csv:"content-length"`
	ChainStatusCodes []int               `json:"chain-status-codes,omitempty" csv:"chain-status-codes"`
	TLSData          *cryptoutil.TLSData `json:"tls-grab,omitempty" csv:"tls-grab"`
	CSPData          *httpx.CSPData      `json:"csp,omitempty" csv:"csp"`
	VHost            bool                `json:"vhost,omitempty" csv:"vhost"`
	WebSocket        bool                `json:"websocket,omitempty" csv:"websocket"`
	Pipeline         bool                `json:"pipeline,omitempty" csv:"pipeline"`
	HTTP2            bool                `json:"http2,omitempty" csv:"http2"`
	CDN              bool                `json:"cdn,omitempty" csv:"cdn"`
	CDNName          string              `json:"cdn-name,omitempty" csv:"cdn-name"`
	ResponseTime     string              `json:"response-time,omitempty" csv:"response-time"`
	Chain            []httpx.ChainItem   `json:"chain,omitempty" csv:"chain"`
	Failed           bool                `json:"failed" csv:"failed"`
	FavIconMMH3      string              `json:"favicon-mmh3,omitempty" csv:"favicon-mmh3"`
	Hashes           map[string]string   `json:"hashes,omitempty" csv:"hashes"`
	ASN              interface{}         `json:"asn,omitempty" csv:"asn"`
	Jarm             string              `json:"jarm,omitempty" csv:"jarm"`
	Timestamp        time.Time           `json:"timestamp,omitempty" csv:"timestamp"`
	Request          string              `json:"request,omitempty" csv:"request"`
	ResponseHeader   string              `json:"response-header,omitempty" csv:"response-header"`
	PluginName       string              `json:"pluginName,omitempty" csv:"PluginName"`
	// contains filtered or unexported fields
}

Result of a scan

func (Result) CSVHeader

func (r Result) CSVHeader() string

CSVHeader the CSV headers

func (Result) CSVRow

func (r Result) CSVRow(scanopts *scanOptions) string

CSVRow the CSV Row

func (Result) JSON

func (r Result) JSON(scanopts *scanOptions) string

JSON the result

type ResumeCfg

type ResumeCfg struct {
	ResumeFrom string
	Index      int
	// contains filtered or unexported fields
}

type Runner

type Runner struct {
	HostErrorsCache gcache.Cache
	// contains filtered or unexported fields
}

Runner is a client for running the enumeration process.

func New

func New(options *Options) (*Runner, error)

New creates a new client for running enumeration process.

func (*Runner) Close

func (r *Runner) Close()

Close closes the httpx scan instance

func (*Runner) RunEnumeration

func (r *Runner) RunEnumeration()

RunEnumeration on targets for httpx client

func (*Runner) SaveResumeConfig

func (r *Runner) SaveResumeConfig() error

SaveResumeConfig to file

Jump to

Keyboard shortcuts

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