Documentation
¶
Index ¶
- Variables
- func CreateMatchPartGetter(banner *crawl.Banner) rule.MatchPartGetter
- func MatchWpPlugin(body string) map[string]map[string]string
- func MergeMaps(m1, m2 map[string]map[string]string) map[string]map[string]string
- type BannerAdapter
- type ExecutorsPlugin
- type OptionFunc
- func WithCallback(callback func(target string, result *Result)) OptionFunc
- func WithCrawler(crawler *crawl.Crawler) OptionFunc
- func WithJSONOutput(json bool) OptionFunc
- func WithOutput(output string) OptionFunc
- func WithRuleManager(manager *rule.Manager) OptionFunc
- func WithRulePath(path string) OptionFunc
- func WithSilent(silent bool) OptionFunc
- func WithThreads(threads int) OptionFunc
- func WithTimeout(timeout int) OptionFunc
- func WithVerbose(verbose bool) OptionFunc
- type Options
- type OutputFields
- type Result
- type Runner
- func New(opts ...OptionFunc) (*Runner, error)
- func NewDefaultRunner(options *crawl.Options, finger *rule.Finger) *Runner
- func NewRunner(crawler *crawl.Crawler, ruleManager *rule.Manager, options *Options) (*Runner, error)
- func NewRunnerCompat(crawler *crawl.Crawler, ruleManager *rule.Manager) *Runner
- func NewRunnerWithOptions(options *Options) (*Runner, error)
- func (r *Runner) Enumerate() error
- func (r *Runner) ExecuteWithPlugin(ctx context.Context, baseURL string, plugin *rule.Plugin) ([]*crawl.Banner, error)
- func (r *Runner) Match(uri string) (banner *crawl.Banner, m map[string]map[string]string, err error)
- func (r *Runner) Scan(uri string) (*Result, error)
- func (r *Runner) ScanWithContext(ctx context.Context, uri string) (*Result, error)
- type RunnerBuilder
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultOptions = Options{
Threads: 10,
Timeout: 30,
}
DefaultOptions 默认配置选项
Functions ¶
func CreateMatchPartGetter ¶
func CreateMatchPartGetter(banner *crawl.Banner) rule.MatchPartGetter
CreateMatchPartGetter 创建一个从banner中提取匹配部分的函数
func MatchWpPlugin ¶
MatchWpPlugin 匹配WordPress插件
Types ¶
type BannerAdapter ¶
type BannerAdapter struct {
// contains filtered or unexported fields
}
BannerAdapter 将crawl.Banner适配为matchers.BannerInfo
func (*BannerAdapter) GetMatchPart ¶
func (a *BannerAdapter) GetMatchPart(part string) string
GetMatchPart 实现BannerInfo接口的GetMatchPart方法
func (*BannerAdapter) GetStatusCode ¶
func (a *BannerAdapter) GetStatusCode() int
GetStatusCode 实现BannerInfo接口的GetStatusCode方法
func (*BannerAdapter) GetURI ¶
func (a *BannerAdapter) GetURI() string
GetURI 实现BannerInfo接口的GetURI方法
type OptionFunc ¶
type OptionFunc func(*RunnerBuilder)
OptionFunc 定义一个函数类型,用于设置Runner的选项
func WithCallback ¶
func WithCallback(callback func(target string, result *Result)) OptionFunc
WithCallback 设置结果处理回调函数
func WithRuleManager ¶
func WithRuleManager(manager *rule.Manager) OptionFunc
WithRuleManager 设置自定义规则管理器
type Options ¶
type Options struct {
// 输入相关
Target string // 单个目标URL
Targets []string // 多个目标URL列表
File string // 目标文件路径
Stdin bool // 是否使用标准输入
// 运行相关
Threads int // 并发线程数
Timeout int // 超时时间(秒)
Verbose bool // 是否输出详细信息
Silent bool // 是否静默模式
RulePath string // 规则库路径
// 输出相关
Output string // 输出文件路径
JSON bool // 是否输出JSON格式
NoColor bool // 是否禁用彩色输出
OutputAll bool // 是否输出所有结果(包括未识别到指纹的目标)
// 回调函数,用于处理扫描结果
Callback func(target string, result *Result)
}
Options 运行时配置选项
type OutputFields ¶
type OutputFields struct {
URL string `json:"url"`
Extract map[string]map[string]string `json:"extract,omitempty"`
}
OutputFields 输出字段
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
Runner 负责协调爬虫和规则匹配的执行流程
func NewDefaultRunner ¶
NewDefaultRunner 创建默认的Runner实例
func NewRunner ¶
func NewRunner(crawler *crawl.Crawler, ruleManager *rule.Manager, options *Options) (*Runner, error)
NewRunner 从现有的crawler和ruleManager创建Runner实例
func NewRunnerCompat ¶
NewRunnerCompat 向后兼容的NewRunner函数,用于支持现有代码
func NewRunnerWithOptions ¶
NewRunnerWithOptions 从选项创建Runner实例
func (*Runner) ExecuteWithPlugin ¶
func (r *Runner) ExecuteWithPlugin(ctx context.Context, baseURL string, plugin *rule.Plugin) ([]*crawl.Banner, error)
ExecuteWithPlugin 使用插件执行额外请求
type RunnerBuilder ¶
type RunnerBuilder struct {
// contains filtered or unexported fields
}
RunnerBuilder 用于构建Runner实例的构建器
Click to show internal directories.
Click to hide internal directories.