Documentation
¶
Index ¶
- Constants
- func Opt2fuzz(opts *opt.Opt) (fuzz1 *fuzzTypes.Fuzz, pendingLogs []string)
- type Fuzzer
- func (f *Fuzzer) Do(job *fuzzTypes.Fuzz) (jid int, timeLapsed time.Duration, newJobs []*fuzzTypes.Fuzz, err error)
- func (f *Fuzzer) GetApiToken() string
- func (f *Fuzzer) GetJob(jid int) (jobCtx *fuzzCtx.JobCtx, ok bool)
- func (f *Fuzzer) GetJobIds() []int
- func (f *Fuzzer) Start() *Fuzzer
- func (f *Fuzzer) Status() int8
- func (f *Fuzzer) Stop()
- func (f *Fuzzer) StopJob(jid int) error
- func (f *Fuzzer) Submit(job *fuzzTypes.Fuzz) error
- func (f *Fuzzer) Wait()
- type WebApiConfig
Constants ¶
View Source
const ( FuzzerStatInit = 0 FuzzerStatRunning = 1 FuzzerStatUsed = 2 )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Fuzzer ¶
type Fuzzer struct {
// contains filtered or unexported fields
}
Fuzzer 用来执行模糊测试任务,允许多个任务并发执行,内部维护一个任务协程池 注意:此结构是一次性的,也就是说调用Stop之后就不能再调用Start启动,否则可 能导致未定义行为,必须使用NewFuzzer重新获取
func NewFuzzer ¶
func NewFuzzer(concurrency int, apiConf ...*WebApiConfig) (*Fuzzer, error)
NewFuzzer 获取一个Fuzzer对象 concurrency 指定任务并发池的大小 apiConf 指定是否启动api模式及启动的配置,只要指定了这个参数就会启动api,但是若指定nil会使用默认配置
func (*Fuzzer) Do ¶
func (f *Fuzzer) Do(job *fuzzTypes.Fuzz) (jid int, timeLapsed time.Duration, newJobs []*fuzzTypes.Fuzz, err error)
Do 用于阻塞运行一个fuzz任务
func (*Fuzzer) GetApiToken ¶
func (*Fuzzer) GetJob ¶
GetJob 获取当前协程池中一个正在运行的任务的任务上下文,并且标记1次占用,防止使用时就被关闭 注意,获取到jobCtx后禁止更改,否则可能出现并发安全问题,并且需要手动调用jobCtx.Release 释放,否则这个job永远不会完成
Click to show internal directories.
Click to hide internal directories.