libfgiu

package
v0.2.0-4 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2025 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FuzzerStatInit    = 0
	FuzzerStatRunning = 1
	FuzzerStatUsed    = 2
)

Variables

This section is empty.

Functions

func Opt2fuzz

func Opt2fuzz(opts *opt.Opt) (fuzz1 *fuzzTypes.Fuzz, pendingLogs []string)

Opt2fuzz 将opt结构转化为fuzz结构

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 (f *Fuzzer) GetApiToken() string

func (*Fuzzer) GetJob

func (f *Fuzzer) GetJob(jid int) (jobCtx *fuzzCtx.JobCtx, ok bool)

GetJob 获取当前协程池中一个正在运行的任务的任务上下文,并且标记1次占用,防止使用时就被关闭 注意,获取到jobCtx后禁止更改,否则可能出现并发安全问题,并且需要手动调用jobCtx.Release 释放,否则这个job永远不会完成

func (*Fuzzer) GetJobIds

func (f *Fuzzer) GetJobIds() []int

GetJobIds 获取当前任务池中运行的所有任务

func (*Fuzzer) Start

func (f *Fuzzer) Start() *Fuzzer

Start 启动Fuzzer的任务池,在此之后可使用Submit方法向其中提交任务

func (*Fuzzer) Status

func (f *Fuzzer) Status() int8

Status 获取fuzzer当前的状态

func (*Fuzzer) Stop

func (f *Fuzzer) Stop()

Stop 停止fuzzer的运行,并停止所有任务的运行

func (*Fuzzer) StopJob

func (f *Fuzzer) StopJob(jid int) error

StopJob 停止一个任务

func (*Fuzzer) Submit

func (f *Fuzzer) Submit(job *fuzzTypes.Fuzz) error

Submit 用于非阻塞执行一个fuzz任务(提交到任务池中)

func (*Fuzzer) Wait

func (f *Fuzzer) Wait()

type WebApiConfig

type WebApiConfig struct {
	ServAddr     string
	Tls          bool
	CertFileName string
	CertKeyName  string
}

Jump to

Keyboard shortcuts

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