Troubleshooting payloads
When developing a payload (or deploying a new payload which may require configuration or tweaking), it can sometimes be difficult to identify the reason it is not activating as expected.
There are several ways to debug a payload:
Running payloads in Arming & Configuration mode
Payloads can often be run interactively in Arming & Configuration mode via the web UI terminal, or via a SSH connection.
To run a payload interactively from a terminal, simply launch the payload script via bash
:
This method is the simplest when your payload does not require an offline mode - remember, if you change the NETMODE
in your payload, you may lose network access to the Packet Squirrel!
While debugging, you may be able to comment out the NETMODE
line in a payload. Remember to restore it when you're done!
Enabling SSH and the web UI in a payload
SSH and the web UI can be enabled in any payload mode where the Packet Squirrel has a network connection (NAT
, BRIDGE
, and JAIL
) with the commands START_SSH
and START_UI
. Once SSH or the web UI has been started, you can connect to your Packet Squirrel and examine the state or re-run the payload.
Logging commands to a file
The output of commands can be sent to a file (see the chapter on Redirecting output for more information). This can help diagnose errors in a payload that can not be debugged interactively.
Remember that files in /tmp
are not preserved over a reboot - but you can log to /root/
, for example:
Remember to use >>
to add to the end of the log file instead of replacing it!
Last updated