163 lines
6.9 KiB
TeX
163 lines
6.9 KiB
TeX
% !TEX root = ../Thesis.tex
|
||
\chapter{Appendix A}
|
||
|
||
\section{Command Line Examples}\label{example:pre-post}
|
||
\subsection{Pre and post scripts}
|
||
In this example, the \verb|--unsafe| option allows not to specify a IP or MAC address.
|
||
\verb|default| is the device name used and \verb|-c 10| tells \iottb that we only want to capture 10 packets.
|
||
\begin{minted}{bash}
|
||
# Command:
|
||
$ iottb sniff --pre='/usr/bin/echo "pre"' --post='/usr/bin/echo "post"' \
|
||
default --unsafe -c 10
|
||
# Stdout:
|
||
Testbed [Info]
|
||
Running pre command /usr/bin/echo "pre"
|
||
pre
|
||
Using canonical device name default
|
||
Found device at path /home/seb/iottb.db/default
|
||
Using filter None
|
||
Files will be placed in /home/seb/iottb.db/default/sniffs/2024-06-30/cap0002-2101
|
||
Capture has id dcdf1e0b-6c4d-4f01-ba16-f42a04131fbe
|
||
Capture setup complete!
|
||
Capture complete. Saved to default_dcdf1e0b-6c4d-4f01-ba16-f42a04131fbe.pcap
|
||
tcpdump took 2.12 seconds.
|
||
Ensuring correct ownership of created files.
|
||
Saving metadata.
|
||
END SNIFF SUBCOMMAND
|
||
Running post script /usr/bin/echo "post"
|
||
post
|
||
\end{minted}
|
||
|
||
The contents of the 'sniff' directory for the default device after this capture has completed:
|
||
\begin{minted}{bash}
|
||
sniffs/2024-06-30/cap0002-2101
|
||
$ tree
|
||
.
|
||
|-- capture_metadata.json
|
||
|-- default_dcdf1e0b-6c4d-4f01-ba16-f42a04131fbe.pcap
|
||
|-- stderr_dcdf1e0b-6c4d-4f01-ba16-f42a04131fbe.log
|
||
L__ stdout_dcdf1e0b-6c4d-4f01-ba16-f42a04131fbe.log
|
||
\end{minted}
|
||
and the metadata file contains (\verb|\| only used for fitting into this document):\\
|
||
\verb|# capture_metadata.json|\\
|
||
\begin{minted}{json}
|
||
{
|
||
"device": "default",
|
||
"device_id": "default",
|
||
"capture_id": "dcdf1e0b-6c4d-4f01-ba16-f42a04131fbe",
|
||
"capture_date_iso": "2024-06-30T21:01:31.496870",
|
||
"invoked_command": "sudo tcpdump -# -n -c 10 -w \
|
||
/home/seb/iottb.db \
|
||
/default/sniffs/2024-06-30 \
|
||
/cap0002-2101/default_dcdf1e0b-6c4d-4f01-ba16-f42a04131fbe.pcap",
|
||
"capture_duration": 2.117154359817505,
|
||
"generic_parameters": {
|
||
"flags": "-# -n",
|
||
"kwargs": "-c 10",
|
||
"filter": null
|
||
},
|
||
"non_generic_parameters": {
|
||
"kwargs": "-w \
|
||
/home/seb/iottb.db/default/sniffs/2024-06-30 \
|
||
/cap0002-2101 \
|
||
/default_dcdf1e0b-6c4d-4f01-ba16-f42a04131fbe.pcap",
|
||
"filter": null
|
||
},
|
||
"features": {
|
||
"interface": null,
|
||
"address": null
|
||
},
|
||
"resources": {
|
||
"pcap_file": "default_dcdf1e0b-6c4d-4f01-ba16-f42a04131fbe.pcap",
|
||
"stdout_log": "stdout_dcdf1e0b-6c4d-4f01-ba16-f42a04131fbe.log",
|
||
"stderr_log": "stderr_dcdf1e0b-6c4d-4f01-ba16-f42a04131fbe.log",
|
||
"pre": "/usr/bin/echo \"pre\"",
|
||
"post": "/usr/bin/echo \"post\""
|
||
},
|
||
"environment": {
|
||
"capture_dir": "cap0002-2101",
|
||
"database": "iottb.db",
|
||
"capture_base_dir": "/home/seb/iottb.db/default/sniffs/2024-06-30",
|
||
"capture_dir_abs_path": \
|
||
"/home/seb/iottb.db/default/sniffs/2024-06-30/cap0002-2101"
|
||
}
|
||
}
|
||
|
||
\end{minted}
|
||
|
||
\section{Canonical Name}
|
||
\begin{listing}[!ht]
|
||
\inputminted[firstline=12, lastline=40]{python}{string_processing.py}
|
||
\caption{Shows how the canonical name is created.}
|
||
\label{lst:dev-canonical}
|
||
\end{listing}
|
||
|
||
\section{Add Device Example}
|
||
\subsection{Configuration File}\label{appendixA:add-dev-cfg}
|
||
\begin{listing}[!ht]
|
||
\inputminted[linenos, breaklines]{python}{appendixa-after-add-device-dir.txt}
|
||
\caption{Directory and file contents after adding two devices.}
|
||
\label{lst:appendix:appendixa:config-file}
|
||
\end{listing}
|
||
|
||
\section{Debug Flag Standard Output}
|
||
|
||
\begin{figure}
|
||
\centering
|
||
\begin{minted}{bash}
|
||
❯ iottb -vvv --debug sniff roomba --unsafe -c 10
|
||
<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>
|
||
INFO - main - cli - 48 - Starting execution.
|
||
INFO - iottb_config - __init__ - 24 - Initializing Config object
|
||
WARNING - iottb_config - warn - 21 - DatabaseLocations are DatabaseLocationMap in the class iottb.models.iottb_config
|
||
INFO - iottb_config - load_config - 57 - Loading configuration file
|
||
INFO - iottb_config - load_config - 62 - Config file exists, opening.
|
||
DEBUG - main - cli - 52 - Verbosity: 3
|
||
DEBUG - main - cli - 54 - Debug: True
|
||
INFO - sniff - validate_sniff - 37 - Validating sniff...
|
||
INFO - sniff - sniff - 91 - sniff command invoked
|
||
DEBUG - sniff - sniff - 98 - Config loaded: <iottb.models.iottb_config.IottbConfig object at 0x7f16197d5e50>
|
||
DEBUG - sniff - sniff - 104 - Full db path is /home/seb/showcase
|
||
INFO - string_processing - make_canonical_name - 20 - Normalizing name roomba
|
||
DEBUG - string_processing - make_canonical_name - 38 - Canonical name: roomba
|
||
DEBUG - string_processing - make_canonical_name - 39 - Aliases: ['roomba']
|
||
Testbed [I]
|
||
Using canonical device name roomba
|
||
Found device at path /home/seb/showcase/roomba
|
||
INFO - sniff - sniff - 152 - Generic filter None
|
||
Using filter None
|
||
DEBUG - sniff - sniff - 160 - Previous captures <generator object Path.glob at 0x7f16194ec590>
|
||
DEBUG - sniff - sniff - 162 - Capture count is 4
|
||
DEBUG - sniff - sniff - 165 - capture_dir: cap0004-0310
|
||
Files will be placed in /home/seb/showcase/roomba/sniffs/2024-07-01/cap0004-0310
|
||
DEBUG - sniff - sniff - 172 - successfully created capture directory
|
||
Capture has id 59153b53-c49d-44de-99d2-b5a3490df29a
|
||
DEBUG - sniff - sniff - 185 - Full pcap file path is /home/seb/showcase/roomba/sniffs/2024-07-01/cap0004-0310/roomba_59153b53-c49d-44de-99d2-b5a3490df29a.pcap
|
||
INFO - sniff - sniff - 186 - pcap file name is roomba_59153b53-c49d-44de-99d2-b5a3490df29a.pcap
|
||
INFO - sniff - sniff - 187 - stdout log file is stdout_59153b53-c49d-44de-99d2-b5a3490df29a.log
|
||
INFO - sniff - sniff - 188 - stderr log file is stderr_59153b53-c49d-44de-99d2-b5a3490df29a.log
|
||
DEBUG - sniff - sniff - 191 - pgid 260696
|
||
DEBUG - sniff - sniff - 192 - ppid 12862
|
||
DEBUG - sniff - sniff - 193 - (real, effective, saved) user id: (1000, 1000, 1000)
|
||
DEBUG - sniff - sniff - 194 - (real, effective, saved) group id: (1000, 1000, 1000)
|
||
DEBUG - sniff - sniff - 209 - Flags: -# -n
|
||
DEBUG - sniff - sniff - 217 - verbosity string to pass to tcpdump: -vvv
|
||
DEBUG - sniff - sniff - 228 - KW args: -c 10
|
||
DEBUG - sniff - sniff - 237 - Non transferable (special) kw args: -w /home/seb/showcase/roomba/sniffs/2024-07-01/cap0004-0310/roomba_59153b53-c49d-44de-99d2-b5a3490df29a.pcap
|
||
INFO - sniff - sniff - 246 - tcpdump command: sudo tcpdump -# -n -vvv -c 10 -w /home/seb/showcase/roomba/sniffs/2024-07-01/cap0004-0310/roomba_59153b53-c49d-44de-99d2-b5a3490df29a.pcap
|
||
Capture setup complete!
|
||
DEBUG - sniff - sniff - 259 -
|
||
stdout: <_io.TextIOWrapper name='/home/seb/showcase/roomba/sniffs/2024-07-01/cap0004-0310/stdout_59153b53-c49d-44de-99d2-b5a3490df29a.log' mode='w' encoding='UTF-8'>.
|
||
stderr: <_io.TextIOWrapper name='/home/seb/showcase/roomba/sniffs/2024-07-01/cap0004-0310/stderr_59153b53-c49d-44de-99d2-b5a3490df29a.log' mode='w' encoding='UTF-8'>.
|
||
|
||
Capture complete. Saved to roomba_59153b53-c49d-44de-99d2-b5a3490df29a.pcap
|
||
tcpdump took 1.11 seconds.
|
||
Ensuring correct ownership of created files.
|
||
Saving metadata.
|
||
END SNIFF SUBCOMMAND
|
||
|
||
\end{minted}
|
||
\caption{Output with max verbosity and debug flag set.}
|
||
\label{fig:example-debug-output}
|
||
\end{figure}
|