Documentation ¶
Index ¶
- Variables
- func GetSessionFileName(domain string) string
- func LineReader(filename string) (chan string, error)
- func SetupGrabbers(gs []Grabber)
- type CertSH
- type Context
- type Grabber
- type HistoryEntry
- type Machine
- type Pool
- type Query
- type Response
- type Result
- type ResultHandler
- type RunHandler
- type Session
- type Statistics
- type Target
- type ViewDNS
Constants ¶
This section is empty.
Variables ¶
View Source
var (
Grabbers []Grabber
)
View Source
var SessionDefaultFilename = "<domain-name>-xray-session.json"
Functions ¶
func GetSessionFileName ¶
func LineReader ¶
LineReader will accept the name of a file and offset as argument and will return a channel from which lines can be read one at a time.
func SetupGrabbers ¶
func SetupGrabbers(gs []Grabber)
Types ¶
type Context ¶
type Context struct { Domain string Bruter *Machine Session *Session Pool *Pool Shodan *shodan.Client VDNS *ViewDNS CSH *CertSH }
func GetContext ¶
func GetContext() *Context
func MakeContext ¶
func MakeContext(domain string, session_file string, consumers int, wordlist string, shodan_token string, viewdns_token string, run_handler RunHandler, res_handler ResultHandler) *Context
func (*Context) GetSubDomain ¶
func (*Context) StartGrabbing ¶
type HistoryEntry ¶
type Machine ¶
type Machine struct { // Runtime statistics. Stats Statistics // contains filtered or unexported fields }
The main object.
func NewMachine ¶
func NewMachine(consumers int, filename string, session *Session, run_handler RunHandler, res_handler ResultHandler) *Machine
Builds a new machine object, if consumers is less or equal than 0, CPU*2 will be used as default value.
func (*Machine) UpdateStats ¶
func (m *Machine) UpdateStats()
type Pool ¶
func (*Pool) FlushSession ¶
func (p *Pool) FlushSession(stats *Statistics)
func (*Pool) WasRestored ¶
type Response ¶
type Response struct {
Records []HistoryEntry `json:"records"`
}
type ResultHandler ¶
type ResultHandler func(result interface{})
This is where positive results are handled.
type Session ¶
type Session struct { Stats *Statistics Targets map[string]*Target // contains filtered or unexported fields }
func NewSession ¶
func (*Session) Flush ¶
func (s *Session) Flush(stats *Statistics)
type Statistics ¶
type Statistics struct { // Time the execution started Start time.Time // Time the execution finished Stop time.Time // Total duration of the execution Total time.Duration // Total number of inputs from the wordlist Inputs uint64 // Executions per second Eps float64 // Total number of executions Execs uint64 // Total number of executions with positive results. Results uint64 // % of progress as: ( execs / inputs ) * 100.0 Progress float64 }
This structure contains some runtime statistics.
type Target ¶
type Target struct { sync.Mutex Address string Hostnames []string Domains []string Banners map[string]string Info *shodan.Host History map[string][]HistoryEntry // contains filtered or unexported fields }
func (*Target) SortedBanners ¶
type ViewDNS ¶
type ViewDNS struct {
// contains filtered or unexported fields
}
func NewViewDNS ¶
func (*ViewDNS) GetHistory ¶
func (d *ViewDNS) GetHistory(domain string) []HistoryEntry
Source Files ¶
Click to show internal directories.
Click to hide internal directories.