Peach模糊测试工具

/root/Peach/bin/peach --help

bash 复制代码
root@db8fad2388e3:~/shared/peach# /root/Peach/bin/peach --help

[[ Peach v3.0
[[ Copyright (c) Michael Eddington

This 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 channel
  peach -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, this
                             is machine N.
  --debug                    Enable debug messages. Usefull when debugging
                             your Peach XML file.  Warning: Messages are very
                             cryptic 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, Monitors
                             Publishers and their associated parameters.
  --showdevices              Display the list of PCAP devices
  --analyzer                 Launch Peach Analyzer
  --skipto N                 Skip to a specific test #.  This replaced -r
                             for 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 values


Peach Agent

  Syntax: peach -a channel

  Starts up a Peach Agent instance on this current machine.  User must provide
  a channel/protocol name (e.g. tcp).

  Note: Local agents are started automatically.

Performing Fuzzing Run

  Syntax: 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 the
  name 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 Run

  Syntax: peach -p 10,2 peach_xml_flie [test_name]

  A parallel fuzzing run uses multiple machines to perform the same fuzzing
  which shortens the time required.  To run in parallel mode we will need
  to know the total number of machines and which machine we are.  This
  information is fed into Peach via the "-p" command line argument in the
  format "total_machines,our_machine".

Validate Peach XML File

  Syntax: peach -t peach_xml_file

  This will perform a parsing pass of the Peach XML file and display any
  errors that are found.

Debug Peach XML File

  Syntax: peach -1 --debug peach_xml_file

  This will perform a single iteration (-1) of your pit file while displaying
  alot of debugging information (--debug).  The debugging information was
  origionally intended just for the developers, but can be usefull in pit
  debugging 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只执行一次迭代并显示大量的调试信息。这对开发者来说非常有用,可以帮助他们了解内部运作机制,也可以帮助用户诊断配置文件中的问题。

这些命令和选项为用户提供了强大的工具来控制和定制模糊测试过程,使得无论是简单的还是复杂的测试场景都能得到满足。

相关推荐
cmgdxrz8 小时前
Postman接口测试02|执行接口测试、全局变量和环境变量、接口关联、动态参数、断言
测试工具·postman
测试杂货铺8 小时前
UI自动化测试实战实例
自动化测试·软件测试·python·selenium·测试工具·测试用例·pytest
m0_748241128 小时前
Selenium之Web元素定位
前端·selenium·测试工具
柠檬不萌只是酸i12 小时前
day19——web自动化测试(1)
selenium·测试工具
<e^πi+1=0>12 小时前
Postman常用测试脚本
测试工具·postman
互联网杂货铺13 小时前
单元测试/系统测试/集成测试知识总结
自动化测试·软件测试·测试工具·职场和发展·单元测试·测试用例·集成测试
一条测试老狗20 小时前
【可视化开源性能压测工具】小巧而强大的oha
测试工具·性能压测·oha
测试杂货铺1 天前
Jmeter压测实战:Jmeter二次开发之自定义函数
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试