Locked History Actions

RunningPeach

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.py myfuzzer.xml

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

>peach.py

] Peach 2.2 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.

All features exposed by this interface can also be accessed via the
Python API.

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

Syntax:

  peach.py -a [port] [password]
  peach.py -c peach_xml_file [run_name]
  peach.py -g
  peach.py [-r runspot_file] peach_xml_flie [run_name]
  peach.py -p 10,2 [-r runspot_file] peach_xml_flie [run_name]
  peach.py -s pdml protocol > output.xml
  peach.py -t peach_xml_file

  -a,--agent                 Launch Peach Agent
  -c,--count                 Count test cases
  -g,--gui                   Launch Peach Builder
  -s,--shark pdml protocol   Convert a Wireshark capture to Peach XML
  -t,--test xml_file         Test parse a Peach XML file
  -w,--web                   Monitor Fuzzer Runs with WebWatcher
  -r,--restart [file]        Restart fuzzer at saved position
  -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.

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.

Peach Builder

  Syntax: peach.py -g

  Start the Peach DDL Editor.

Performing Fuzzing Run

  Syntax: peach.py peach_xml_flie [run_name]
  Syntax: peach.py [-r restart_file] 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
  -r parameter and providing the restart file.  Currently these files are
  called "RunSpotSave_date_time.peach".

Performing A Parellel Fuzzing Run

  Syntax: peach.py -p 10,2 [-r runspot_file] 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".

WireShark to Peach XML

  Syntax: peach.py -s pdml protocol > output.xml

  Peach can convert PDML saved captures into Peach XML Templates.  To
  perform this conversion follow these steps:

    1. Perform a capture in WireShark
    2. Select a single packet and save as PDML
    3. Open the PDML file and locate the <proto> element to convert
       and note the name of the protocol
    4. Run Peach using the provided syntax
    5. Modify generated XML as needed

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.