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.