Skip to content
Vyacheslav edited this page Jan 12, 2017 · 24 revisions

Trex VM/Scapy server

  • Install VM using this manual
  • Configure VM:
    • Open VM Settings -> Network -> Advanced -> Port forwarding
    • Add VM port forwarding for ports: 4501(async), 4507(scapy-server)
  • Update trex:
    • Start VM and connect via ssh: ssh -p 3022 [email protected] (password: trex)
    • Update TRex to the latest release
    cd /opt/trex/
    wget --no-cache http://trex-tgn.cisco.com/trex/release/latest
    tar -xzvf latest
  • Run TRex server: (cd /opt/trex/v2.* ; sudo ./t-rex-64 -i )

Scapy server

Since version v2.14 trex-core runs scapy_server automatically on the same host, but on port 4507.

Trex Stateless GUI

Download latest release from https://github.com/kisel/trex-stateless-gui/releases

You can use Mac/Windows installer (dmg/exe files)

Packet editor

You can find embedded packet editor in a build/edit stream dialogs packet editor standalone app screenshot

Appending new layer

You can select available(suggested) layers, or type any layer you want to produce a malformed structure. Click on a append field and start typing - autocompletion will show all available variants without restrictions. append-new-layer

Moving and deleting layers

Packet editor is flexible and uses Scapy to build packets. It allows to create malformed packets, and shows a warning(red label on a layer name). You can move and remove any layer(except Ether) by the right-click on the layer title incorrect-layer-structure-and-menu

Menu and Toolbar

You can use menu, hotkeys and the toolbar to use the following features:

  • create a new packet
  • create a new packet from the template
  • undo & redo
  • import a first packet of the PCAP file
  • Export packet to PCAP file or save current packet model to a JSON file menu-and-toolpbar

Menu is not available in the embeded mode

Payload generator

Payload generator can append Random or template bytes to any layer You have following options:

payload-generator-options

Use template-code and specify the target size of a payload of a whole packet you want. Template code is a hex string. Example: "DE AD BE EF F0 0D" (6 bytes will be repeated to fill the target size. all whitespaces are ignored). payload-generator-code

You can upload a binary file as a payload payload-generator-file

Use "random ascii/bytes" option to generate random payloads of printable characters or any bytes. payload-generator-bytes-packet-size

Binary viewer

At any time you can see the binary representation of a network packet you've created. Click on a field to highlight corresponding packet bytes in a binary viewer

binary-viewer-mac

binary-viewer-text-payload

Field engine

field-editor

List of supported instructions

  • STLVmFlowVar
  • STLVmWrFlowVar
  • STLVmWrMaskFlowVar
  • STLVmFixIpv4
  • STLVmTrimPktSize
  • STLVmTupleGen
  • STLVmFlowVarRepetableRandom
  • STLVmFixChecksumHw

Smart autocomplete for instruction parameters. Flow variable names:

field-editor-autocomplete-var_names

Fields' offset names:

field-editor-autocomplete-offsets

Handle protocol duplication. Packet structure widget and offset autocompleter knows when packet contains duplicate protocols and suggest protocol indexes also.

field-editor-autocomplete-offsets-with-duplicate-IP

Create predefined instructions template with initial parameter values:

screen shot 2016-12-06 at 1 43 33 am screen shot 2016-12-06 at 1 45 26 am

Interactive help for instructions:

field-editor-help

Import parameters from simple configuration mode:

It is easy to export parameters from simple configuration mode to Advanced(Packet Editor + Field Engine).

screen shot 2016-12-16 at 12 36 44 pm

screen shot 2016-12-16 at 12 37 49 pm

screen shot 2016-12-16 at 12 38 03 pm

screen shot 2016-12-16 at 12 38 23 pm

Clone this wiki locally