Smith - A Very Quick And Very Dirty Client/Server Tool For Testing Firewalls


A client/server style agent meant for testing connectivity to and from a machine on a network.

Installation
python setup.py install or pip install . should install smith. Note: If you want to use the tcp/udp protocol options, you'll need to install scapy and it's dependencies. Ubuntu has 'apt-get install python-scapy'. You can also pip install scapy, but I don't know if that installs all dependencies on all OS's. I didn't include scapy in the requires because the 'rest' option doesn't utilize it, and is sufficient for a lot of usecases on its own.

Functions: ping and listen

ping
$: smith ping -h

usage:
Initiate a port-specific ping against a listening agent

positional arguments:
port The port the remote agent is listening on
destination IPv4 address of the server the remote agent is
listening on
{TCP,UDP,REST} Protocol to use to contact the remote agent. TCP and
UDP use raw sockets which will bypass IPTABLES rules.

optional arguments:
-h, --help show this help message and exit
-t TIMEOUT, --timeout TIMEOUT
Seconds to wait for response from server before giving
up. Zero means 'wait forever'

Example
$: smith ping 12345 127.0.0.1 REST --timeout 10


listen
$: smith listen -h
usage:
Server-side: listen for incoming ping requests from remote client.

positional arguments:
port The port the remote client is pinging
{TCP,UDP,REST} Protocol to use to contact the remote agent.TCP and UDP use
raw sockets which will bypass IPTABLES rules.

optional arguments:
-h, --help show this help message and exit

Example
$: smith ping 12345 127.0.0.1 REST --timeout 10


Disqus Comments