/root/Peach/bin/peach --help
root@db8fad2388e3:~/shared/peach# /root/Peach/bin/peach --help[[ Peach v3.0
[[ Copyright (c) Michael EddingtonThis is the Peach Runtime. The Peach Runtime is one of the many ways
to use Peach XML files. Currently this runtime is still in development
but already exposes several abilities to the end-user such as performing
simple fuzzer runs and performing parsing tests of Peach XML files.Please submit any bugs to Michael Eddington <mike@dejavusecurity.com>.Syntax:peach -a channelpeach -c peach_xml_file [test_name]peach [--skipto #] peach_xml_flie [test_name]peach -p 10,2 [--skipto #] peach_xml_file [test_name]peach --range 100,200 peach_xml_file [test_name]peach -t peach_xml_file-1 Perform a single iteration-a,--agent Launch Peach Agent-c,--count Count test cases-t,--test xml_file Validate a Peach XML file-p,--parallel M,N Parallel fuzzing. Total of M machines, thisis machine N.--debug Enable debug messages. Usefull when debuggingyour Peach XML file. Warning: Messages are verycryptic sometimes.--seed N Sets the seed used by the random number generator--parseonly Test parse a Peach XML file--showenv Print a list of all DataElements, Fixups, MonitorsPublishers and their associated parameters.--showdevices Display the list of PCAP devices--analyzer Launch Peach Analyzer--skipto N Skip to a specific test #. This replaced -rfor restarting a Peach run.--range N,M Provide a range of test #'s to be run.-D/define=KEY=VALUE Define a substitution value. In your PIT you can##KEY## and it will be replaced for VALUE.--definedvalues=FILENAME XML file containing defined valuesPeach AgentSyntax: peach -a channelStarts up a Peach Agent instance on this current machine. User must providea channel/protocol name (e.g. tcp).Note: Local agents are started automatically.Performing Fuzzing RunSyntax: peach peach_xml_flie [test_name]Syntax: peach --skipto 1234 peach_xml_flie [test_name]Syntax: peach --range 100,200 peach_xml_flie [test_name]A fuzzing run is started by by specifying the Peach XML file and thename of a test to perform.If a run is interupted for some reason it can be restarted using the--skipto parameter and providing the test # to start at.Additionally a range of test cases can be specified using --range.Performing A Parellel Fuzzing RunSyntax: peach -p 10,2 peach_xml_flie [test_name]A parallel fuzzing run uses multiple machines to perform the same fuzzingwhich shortens the time required. To run in parallel mode we will needto know the total number of machines and which machine we are. Thisinformation is fed into Peach via the "-p" command line argument in theformat "total_machines,our_machine".Validate Peach XML FileSyntax: peach -t peach_xml_fileThis will perform a parsing pass of the Peach XML file and display anyerrors that are found.Debug Peach XML FileSyntax: peach -1 --debug peach_xml_fileThis will perform a single iteration (-1) of your pit file while displayingalot of debugging information (--debug). The debugging information wasorigionally intended just for the developers, but can be usefull in pitdebugging as well.
这段文本是Peach框架的帮助信息输出,Peach是一个用于模糊测试(fuzzing)的平台。下面我将逐行解释这些帮助信息:
Peach 版本与版权
[[ Peach v3.0
和[[ Copyright (c) Michael Eddington
表示这是Peach版本3.0,并且版权归属于Michael Eddington。
简介
- 这段文字说明了Peach Runtime的功能和用途,包括执行简单的模糊测试运行和解析Peach XML文件的测试等。
- 提示用户如果有bug可以提交给Michael Eddington。
语法概览
接下来的部分展示了使用Peach命令的基本语法,以及如何使用不同参数来启动不同的功能或模式。
参数说明
以下是各个参数的详细说明:
-1
: 只执行一次迭代。-a,--agent
: 启动Peach Agent,需要指定通信协议(如tcp)。-c,--count
: 计算测试用例的数量。-t,--test xml_file
: 验证一个Peach XML文件的正确性。-p,--parallel M,N
: 并行模糊测试,M表示机器总数,N表示当前机器编号。--debug
: 启用调试消息,对调试XML文件有帮助,但有时信息可能难以理解。--seed N
: 设置随机数生成器使用的种子。--parseonly
: 仅测试解析Peach XML文件。--showenv
: 显示所有DataElements、Fixups、Monitors、Publishers及其关联参数的列表。--showdevices
: 列出PCAP设备。--analyzer
: 启动Peach Analyzer工具。--skipto N
: 跳过到特定测试编号,取代了旧的-r选项用于重启Peach运行。--range N,M
: 指定要运行的测试编号范围。-D/define=KEY=VALUE
: 定义一个替换值,在PIT文件中可以通过##KEY##引用并被替换为VALUE。--definedvalues=FILENAME
: 包含定义值的XML文件。
Peach Agent
这部分介绍了如何通过提供通道/协议名称来启动Peach Agent实例,并指出本地代理会自动启动。
执行模糊测试运行
这部分描述了如何通过指定Peach XML文件和可选的测试名称来开始模糊测试,也包括了如何使用--skipto
参数从上次中断的地方继续,或者使用--range
参数指定测试案例的范围。
执行并行模糊测试
这里说明了如何配置多个机器进行并行模糊测试,以缩短所需时间,指出了需要知道总机器数量和当前机器编号。
验证Peach XML文件
这部分说明了如何验证Peach XML文件,确保其没有语法错误。
调试Peach XML文件
最后,这部分解释了如何通过执行单次迭代并启用调试信息来进行Peach XML文件的调试,这对开发者和高级用户非常有用。
根据之前的输出,后面部分主要涉及的是对Peach Agent的使用说明、执行模糊测试运行、并行模糊测试运行、验证Peach XML文件以及调试Peach XML文件的更详细解释。接下来我将提供更深入的解析:
Peach Agent
- 启动Peach Agent:
Syntax: peach -a channel
:该命令用于启动一个Peach Agent实例,需要指定通道/协议名称(如tcp)。Peach Agent是Peach框架的一部分,它在目标系统上运行,负责与主控制器通信,并执行实际的测试用例。- 注意事项:本地代理会自动启动,无需手动指定。
执行模糊测试运行
- 基本语法:
peach peach_xml_file [test_name]
:这是最基本的命令格式,用于开始一次模糊测试运行,需指定Peach XML配置文件和可选的测试名称。peach --skipto 1234 peach_xml_file [test_name]
:如果测试中途被打断,可以使用此命令从特定编号的测试案例继续。peach --range 100,200 peach_xml_file [test_name]
:允许用户指定要执行的测试案例编号范围。
执行并行模糊测试运行
- 并行测试:
Syntax: peach -p 10,2 peach_xml_file [test_name]
:当有多个机器参与测试时,可以通过指定-p
参数来分配任务。这里,“10”表示总共有10台机器参与测试,“2”表示当前机器是第2台。这有助于分担工作负载,加快测试速度。
验证Peach XML文件
- 验证命令:
Syntax: peach -t peach_xml_file
:该命令用于验证给定的Peach XML文件是否正确,即检查其语法错误或结构问题。这对于确保配置文件的正确性非常重要。
调试Peach XML文件
- 调试命令:
Syntax: peach -1 --debug peach_xml_file
:通过添加-1
和--debug
参数,可以让Peach只执行一次迭代并显示大量的调试信息。这对开发者来说非常有用,可以帮助他们了解内部运作机制,也可以帮助用户诊断配置文件中的问题。
这些命令和选项为用户提供了强大的工具来控制和定制模糊测试过程,使得无论是简单的还是复杂的测试场景都能得到满足。