What is Peach
Peach 3
Peach Pits
 General Conf
 Data Modeling
 State Modeling
Peach 2.3


Running Peach

Running your Peach fuzzer is easy. First launch any required Peach agents using the following command line:

peach.py -a

Next launch your fuzzer:

peach myfuzzer.xml

And that’s it! For additional options just run peach with out any command line arguments.


] Peach 2.3.8 DEV Runtime
] 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, converting WireShark captures into Peach XML and
performing parsing tests of Peach XML files.

Please submit any bugs to Michael Eddington <mike@phed.org>.


  peach.py -a [port] [password]
  peach.py -c peach_xml_file [run_name]
  peach.py -g
  peach.py [--skipto #] peach_xml_file [run_name]
  peach.py -p 10,2 [--skipto #] peach_xml_file [run_name]
  peach.py --range 100,200 peach_xml_file [run_name]
  peach.py -t peach_xml_file

  -1                         Perform a single iteration
  -a,--agent                 Launch Peach Agent
  -c,--count                 Count test cases
  -t,--test xml_file         Test parse 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.
  --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.
  --seed N                   Seed to use for Random strategies

Peach Agent

  Syntax: peach.py -a
  Syntax: peach.py -a port
  Syntax: peach.py -a port password

  Starts up a Peach Agent instance on this current machine.  Defaults to
  port 9000.  When specifying a password, the port # must also be given.

  Note: Local agents are started automatically.

Performing Fuzzing Run

  Syntax: peach.py peach_xml_flie [run_name]
  Syntax: peach.py --skipto 1234 peach_xml_flie [run_name]
  Syntax: peach.py --range 100,200 peach_xml_flie [run_name]

  A fuzzing run is started by by specifying the Peach XML file and the
  name of a run 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.py -p 10,2 peach_xml_flie [run_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.py -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.py -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.