Installation
Windows¶
Run the Ostinato installer ostinato-xxx-setup.exe
and follow on-screen instructions.
Missing DLL error
If at Ostinato startup, you see DLL not found error(s) for wpcap.dll
or packet.dll
, you haven't installed npcap which is required for Ostinato to run on Windows. Please download it from npcap.com, install it and then restart Ostinato
MacOS¶
- Open the dmg
- Drag the drone icon to the Applications icon
- Drag the Ostinato icon to the Applications icon
Network privileges on MacOS
Ostinato requires network privileges to transmit packets.
If you already have Wireshark installed and are able to run Wireshark without sudo (or as root), Wireshark has already made the system changes required for network privilges - you can run Ostinato also as a normal user and nothing more is required.
If you don't have Wireshark installed, please install it.
Linux¶
Ostinato is distributed as multiple deb
/rpm
packages compressed into a single tgz
- one for each distro. First untar the tgz
for your distro to extract the deb/rpm packages -
$ tar zxvf /path/to/tgz
$ ls
Depending on whether you have deb/rpm packages, follow the appropriate instructions below -
Use apt install with the full path to the local package - prefix ./
if the .deb file is in current directory.
$ sudo apt install ./ostinato-agent*.deb
$ sudo apt install ./ostinato-controller*.deb
Use yum to install the package.
$ sudo yum --nogpgcheck localinstall ostinato-agent*.rpm
$ sudo yum --nogpgcheck localinstall ostinato-controller*.rpm
Network capability assignment
To send packets on Linux, you need additional capabilities. Follow steps from this FAQ to configure Ostinato to run without sudo/root privileges.
Virtual Machine (VM)¶
Use import/open in VirtualBox/VMware to open the .ova
file to create the VM.
After the VM is created, please follow the below instructions specific to your hypervisor.
- Verify Network Adaptor 1 is configured as
NAT
and remaining asInternal Network
- Change the name of the internal network to be different for Adaptors 2 to 4 e.g.
osteth1
,osteth2
,osteth3
. These same names must be used for the VM whose NIC you want to connect to these interfaces
- Adaptor 1 should be
NAT
and the rest should beBridged
- Change Adaptors 2 to 4 from
Bridged
toCustom
and set a different unusedVMnetXX
for each of them (exceptVmnet0
,Vmnet8
andVmnet11
). These same names must be used for the VM whose NIC you want to connect to these interfaces
Note
Although the VM is configured with 4 NICs, eth0
is the management interface. Only eth1
, eth2
and eth3
should be used as data interfaces to send traffic on and capture from.
Tip
When the Ostinato GUI starts, you MAY sometimes get a error message saying Failed to start the local drone agent
. This is spurious and can be ignored as long as the 127.0.0.1
portGroup status icon is Green (connected) - this will be fixed shortly.
Docker Containers¶
There are two Ostinato container images -
docker-ostinato-agent-{ver}.tgz
docker-ostinato-{ver}.tgz
The first is an agent-only image - you will need to use an external Ostinato GUI to connect to the drone agent packaged in the container.
The second contains both the agent and the GUI controller.
How to install Ostinato docker container¶
Use the docker load
command to load the tgz -
docker load -i docker-ostinato-[agent-]{tag}.tgz
Use docker images
to verify ostinato/ostinato-[agent] is listed.
How to run/use the Ostinato docker container¶
To access the agent-only container, use docker run -p7878:7878
and from the Ostinato GUI add a new port group with your docker host DNS name or IP address.
To access the Ostinato GUI in the agent+GUI container, use docker run -p5900:5900
and then connect a VNC client to <host-ip>:5900
- this will bring up the Ostinato GUI
Note
Both images treat eth0
as the mgmt interface and therefore don't include it within Ostinato.
Tip
If additional veth ports are added to the container later, Ostinato may not list them. Please kill and restart the drone
process inside the container so that it reads the port list again.
Python API¶
See Ostinato API Guide - Installation
Performance Bench¶
See Performance Bench - How to Install
Labbing¶
Please follow the instructions on the respective labbing platform page.