--- /dev/null
+*** Settings ***
+Documentation Library to catch traffic/packets using linux tcpdump command
+Library SSHLibrary
+Resource Utils.robot
+Variables ../variables/Variables.py
+
+*** Variables ***
+${dumpalias} tcpdump
+${dumppcap} dump.pcap
+${dumppcappath} /tmp/${dumppcap}
+${dumpcmd} sudo tcpdump -s 0 -w ${dumppcappath}
+
+*** Keywords ***
+Start Tcpdumping
+ [Arguments] ${system}=${TOOLS_SYSTEM_IP} ${user}=${TOOLS_SYSTEM_USER} ${password}=${TOOLS_SYSTEM_PASSWORD} ${prompt}=${TOOLS_SYSTEM_PROMPT} ${timeout}=5s ${eth}=eth0
+ ... ${more_params}=${None}
+ [Documentation] Connects to the remote machine via ssh and starts tcpdump linux command
+ ${currentcon}= SSHLibrary.Get Connection index=True
+ SSHLibrary.Open Connection ${system} prompt=${prompt} timeout=${timeout} alias=${dumpalias}
+ Utils.Flexible SSH Login ${user} password=${password} delay=${timeout}
+ SSHLibrary.Write ${dumpcmd} -i ${eth} ${more_params}
+ Run Keyword If ${currentcon}==${None} Return From Keyword
+ SSHLibrary.Switch Connection ${currentcon}
+
+Stop Tcpdumping And Download
+ [Arguments] ${filename}=${dumppcap}.xz
+ [Documentation] Stops catching packets with tcpdump and download the saved file
+ ${oldcon}= SSHLibrary.Switch Connection ${dumpalias}
+ Utils.Write_Bare_Ctrl_C
+ SSHLibrary.Read
+ ${stdout}= SSHLibrary.Execute Command xz -9ekvv ${dumppcappath}
+ Log ${stdout}
+ ${stdout}= SSHLibrary.Execute Command ls -la /tmp
+ Log ${stdout}
+ SSHLibrary.Get File ${dumppcappath}.xz ${filename}
+ SSHLibrary.Close Connection
+ Run Keyword If ${oldcon}==${None} Return From Keyword
+ SSHLibrary.Switch Connection ${oldcon}