ip150-connection-decrypt parses and decrypts a YAML capture of IP150 TCP traffic produced by Wireshark. It decrypts the IP150 protocol layer, decodes the encapsulated Paradox serial messages, and prints a human-readable trace of the full conversation between the IP150 module and the alarm panel.
Usage
Arguments
YAML file containing the captured TCP stream. To create this file from Wireshark:
- Right-click the first IP150 packet in the capture.
- Select Follow → TCP Stream.
- In the “Show and save data as” dropdown, choose YAML.
- Copy the contents into a file.
IP module password used to decrypt the session. This is the same password configured in
IP_CONNECTION_PASSWORD. The Paradox factory default is paradox.Options
Maximum number of packets to decrypt and print. Useful for inspecting just the connection handshake without processing an entire long capture.
Examples
Capturing traffic with Wireshark
Start a capture
Open Wireshark and start capturing on the network interface that carries traffic between your computer and the IP150 module.
Filter to the IP150 stream
Apply a display filter such as
tcp.port == 10000 (replace with your IP_CONNECTION_PORT) to isolate the IP150 traffic.Export as YAML
In the TCP Stream dialog, set “Show and save data as” to YAML and copy the contents to a
.yaml file.Output format
The tool prints colour-coded output to the terminal:| Colour | Meaning |
|---|---|
| Blue | PC → IP150 request packet |
| Green | IP150 → PC response packet |
| White/highlighted | Decoded payload (parsed Paradox message or IP header) |
| Red | Parse errors or packets with no registered parser |
- Raw header bytes (hex)
- Encrypted payload bytes (hex)
- Decrypted payload bytes (hex)
- Decoded payload structure (if a parser is available)
- Session password when the connection handshake completes
When to use this tool
Debugging IP150 connection failures
Debugging IP150 connection failures
If PAI fails to connect or authenticate with the IP150 module, capture the TCP stream and decrypt it to see exactly where the handshake fails and what error code the module returns.
Investigating unexpected panel behaviour
Investigating unexpected panel behaviour
Decrypt a capture taken during a specific event (alarm, arm/disarm) to see the raw serial messages exchanged and verify PAI is parsing them correctly.
Developing parser support for new messages
Developing parser support for new messages
When a new Paradox firmware version introduces unknown message types, decrypted captures provide the raw bytes needed to write new
construct parsers.Verifying a wrong decryption password
Verifying a wrong decryption password
The tool checks that the initial handshake payload matches the supplied password and prints
Wrong decryption password if it does not, confirming a misconfiguration.