User Guide

PETEP Extensions

PETEP is extensible application, which allows developers to extend the functionality by creating their own extensions in Java using PETEP library.

Main purpose of extensions is to provide new module types for proxies and interceptors and/or add new graphical components to the application. It is possible to, for example, create extension that will provide support for SMTP protocol and also add new replacement and tagging rules for SMTP-specific demands.

There are two categories of extensions - internal and external. You are able to choose, which extensions (both internal and external) you want to use and load for each project individually.

Internal extensions

Internal extensions are distributed inside PETEP.jar file and provide official functions of PETEP, because without them the PETEP is only a core entity that does not provide any functions for the user.

Currently there are the following internal extensions available:

  • TCP - simple TCP support (with basic SSL/TLS support),
  • UDP - simple UDP support,
  • HTTP - simple HTTP & WebSocket protocol support (with basic SSL/TLS support),
  • Logger - logs PDUs to plain-text files,
  • Tagger - management of tagging rules,
  • Modifier - modification rules for automatic data replacements etc.,
  • Catcher - manual modification of data,
  • Repeater - manual PDU repeating support,
  • Scripter - scripting support based on GraalVM polyglot engine (JavaScript supported out-of-the-box),
  • Connection View - proxy connection list viewer,
  • External HTTP Proxy - support for usage of external HTTP proxy tools (Zaproxy, Burp etc.),
  • History - database of intercepted PDUs with filtering.

External extensions

External extensions are JAR files (Java ARchive), which are distributed separately. If you are interested in creating your own extension, take a look at Dev Guide.