Testing & Validation
This guide explains how to validate a TrapEye deployment by generating controlled interactions against a deployed TrapEye device.
These tests simulate common attacker techniques to validate TrapEye operation, traffic capture, and alert visibility.
Prerequisites
Section titled “Prerequisites”Before starting, ensure that:
- At least one TrapEye device is deployed and visible in the Devices section
- The TrapEye device appears online
- A policy enabling the services to be tested is applied to the TrapEye device
- A testing machine with shell access, on the same network as the TrapEye device, is available
Where to Observe Results
Section titled “Where to Observe Results”All tests below will generate Interactions that can be viewed in Detection → Interactions.
Each interaction includes attacker fingerprinting, protocol metadata, and payload details.
Network Discovery Detection (Nmap)
Section titled “Network Discovery Detection (Nmap)”TrapEye detects common reconnaissance activity at the network layer.
sudo apt install nmapbrew install nmapFrom a machine on the same network, run a port scan against the TrapEye IP:
Terminal window nmap -Pn -sS <TRAPEYE_IP>Flag details:
-Pn: No Ping. Treats the host as online and skips discovery. Useful if ICMP is blocked or to ensure the scan proceeds regardless of reachability checks.-sS: SYN Stealth Scan. This “half-open” scan sends a SYN packet and waits for a response but never completes the 3-way handshake. It is faster and often stealthier.
Or for a TCP Connect scan (if you don’t have root privileges):
Terminal window nmap -Pn -sT -p 21,22,80,443,3389 <TRAPEYE_IP>-sT: TCP Connect Scan. This scan performs a full 3-way handshake (SYN, SYN/ACK, ACK) for every port. It is used when raw packet privileges are not available.-p: Port Specification. Scans only the specified ports (e.g., FTP, SSH, HTTP, HTTPS, RDP) instead of the default 1000 most common ports.
Expected Result
- A Port Scan Interaction is generated
- Source IP, scan type, ports, and timing are visible in the TrapEye console
- A Threat may be created if this is the first interaction from the source IP
FTP Interaction Detection
Section titled “FTP Interaction Detection”TrapEye emulates FTP services to capture attacker behavior.
sudo apt install inetutils-ftpBuilt-in ftp command.
Built-in ftp command.
Connect to the TrapEye device using FTP:
Terminal window ftp <TRAPEYE_IP> <FTP_PORT>Use common FTP commands:
Terminal window USER anonymousPASS testlsmkdir test_dirput localfile.txtget id_ed25519
Expected Result
- Each command generates an Interaction
- Uploaded/downloaded file metadata is recorded
SSH Interaction Detection
Section titled “SSH Interaction Detection”TrapEye detects SSH authentication attempts and interactive sessions.
Note: If the sandbox feature is enabled in the interface, TrapEye will log all executed commands and provide an interactive shell to the attacker.
sudo apt install openssh-clientBuilt-in ssh command.
Built-in OpenSSH Client (Windows 10/11) or PuTTY.
Attempt an SSH connection:
Terminal window ssh root@<TRAPEYE_IP>Enter any password when prompted
Expected Result
- Authentication attempts are recorded
- Username, source IP, client fingerprint, and timing are visible
- Interactive shell commands generate additional interactions if authentication is successful
SMTP Interaction Detection
Section titled “SMTP Interaction Detection”TrapEye simulates SMTP services to capture email-based attacks.
sudo apt install swaksbrew install swaksSend a simulated email with authentication using
swaks:Terminal window swaks --server <TRAPEYE_IP>:<SMTP_PORT> \--ehlo client.example.com \--auth LOGIN \--auth-user "admin" \--auth-password "admin" \--from "admin@example.com" \--to "recipient@example.com" \--header "Subject: Test SEND MAIL" \--body "Content of test email generated with swaks."
Expected Result
- SMTP commands are logged as interactions
- Sender, recipient, and payload metadata are captured
HTTP Interaction Detection
Section titled “HTTP Interaction Detection”TrapEye detects web traffic and fingerprints the visiting browser.
Open a web browser (Chrome, Firefox, Safari).
Navigate to the TrapEye IP address:
http://<TRAPEYE_IP>
Expected Result
- An Interaction is generated
- Browser fingerprinting (User-Agent, headers) is visible
LDAP Interaction Detection
Section titled “LDAP Interaction Detection”TrapEye detects LDAP enumeration attempts.
sudo apt install ldap-utilsbrew install openldapRun an LDAP search against the TrapEye device:
Terminal window ldapsearch -LLL -x \-H ldap://<TRAPEYE_IP>:<LDAP_PORT> \-D "user@example.com" \-w "Password123" \-b "DC=example,DC=com" \"(&(whenChanged>=20250125000000.0Z))" \sAMAccountName whenChanged
Expected Result
- LDAP query is logged as an interaction
- Search filter and base DN are captured
RDP Interaction Detection
Section titled “RDP Interaction Detection”TrapEye detects unauthorized RDP connection attempts.
Install and connect using
xfreerdp3:Terminal window sudo apt install freerdp3-x11 xvfbxvfb-run -a xfreerdp3 /v:<TRAPEYE_IP> /u:administrator /d:test.local
Download Microsoft Remote Desktop
- Open Microsoft Remote Desktop.
- Add a new PC with the specific IP
<TRAPEYE_IP>. - Connect and attempt to log in as
Administrator.
Built-in Remote Desktop Connection.
- Open Remote Desktop Connection.
- Enter the IP address
<TRAPEYE_IP>. - Click Connect and attempt authentication.
Expected Result
- RDP handshake and authentication attempts are recorded
- Source system fingerprinting is visible
PostgreSQL Interaction Detection
Section titled “PostgreSQL Interaction Detection”TrapEye detects authentication attempts on PostgreSQL services.
sudo apt install postgresql-clientbrew install libpqAttempt to connect to the PostgreSQL service:
Terminal window psql -h <TRAPEYE_IP> -p 5432 -U admin -d dbtest -WEnter any password when prompted.
Expected Result
- Connection attempt and credentials are recorded
- Database name and username are captured
Brute Force Detection
Section titled “Brute Force Detection”TrapEye detects and correlates repeated authentication failures to identify brute-force attacks.
sudo apt install medusaDownload a common password list (e.g., SecLists):
Terminal window wget https://raw.githubusercontent.com/danielmiessler/SecLists/refs/heads/master/Passwords/Common-Credentials/darkweb2017_top-100.txt -O darkweb2017_top-100.txtRun a brute-force attack using Medusa:
Terminal window medusa -h <TRAPEYE_IP> -n <SSH_PORT> -u root -P darkweb2017_top-100.txt -M ssh -t 5
Expected Result
- 5 authentication failures are logged, followed by a Brute Force interaction including the number of attempts
Next Steps
Section titled “Next Steps”Once validation is complete, you can:
- Integrate TrapEye alerts into your SIEM and build SOAR playbooks for automated response
- Scale the deployment with additional TrapEye devices