Welcome to PETEP guide!

## About PETEP

PETEP is an open-source Java application with graphical user interface. It allows testers to setup proxies and interceptors to manage the traffic transmitted between client and server. Currently only TCP, UDP and basic HTTP & Websocket protocols are supported officially (with SSL/TLS support), but other protocols might be implemented easily using extensions.

PETEP website: PETEP

Author's website: Michal Válka (Warxim)

Be aware that this is a simplified guide. For more information, please go to the PETEP website, where you can find both user and development guides.

### Extensibility

One of core properties of PETEP is its extensibility. Extensions can be written in Java using PetepLib.jar library - for more information about extension development, please check out PETEP website using your web browser.

#### Proxy extensions

Proxy extensions allow you to implement your own proxies for other protocols (SMTP, ...). Data from these protocols will be transmitted through the PETEP core and its modules.

Internal proxy extensions:

- TCP proxy: support for TCP (SSL/TLS/STARTTLS support).
- UDP proxy: support for TCP UDP.
- HTTP proxy: simple HTTP & WebSocket protocol support (with basic SSL/TLS support).

#### Intercept extensions

Intercept extensions allow you to implement your own intercepting module which can modify PDUs, create GUI tabs etc.

Internal intercept extensions:

- Connection View: viewer of currently opened connections.
- External HTTP Proxy: transmission of PDUs through HTTP proxy (e.g. ZAP, Burp).
- Logger: logs PDUs to plain-text files.
- Modifier: modification rules for automatic data replacements etc.
- Tagger: tag rules for automatic PDUs tagging.
- History: database of intercepted PDUs with filtering.
- Scripter: scripting support based on GraalVM polyglot engine (JavaScript supported out-of-the-box).
- Repeater: manual PDU repeating support.
- Catcher: manual PDU intercept editor.