diff --git a/salt/common/tools/sbin/so-tcpreplay b/salt/common/tools/sbin/so-tcpreplay index 349bb6e84..29b5a68e2 100755 --- a/salt/common/tools/sbin/so-tcpreplay +++ b/salt/common/tools/sbin/so-tcpreplay @@ -15,13 +15,13 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# Usage: so-tcpreplay "/opt/so/samples/*" +# Usage: so-tcpreplay "/opt/samples/*" REPLAY_ENABLED=$(docker images | grep so-tcpreplay) REPLAY_RUNNING=$(docker ps | grep so-tcpreplay) if [ "$REPLAY_ENABLED" != "" ] && [ "$REPLAY_RUNNING" != "" ]; then - docker cp so-tcpreplay:/opt/samples /opt/samples + #docker cp so-tcpreplay:/opt/samples /opt/samples docker exec -it so-tcpreplay /usr/local/bin/tcpreplay -i bond0 -M10 $1 else echo "Replay functionality not enabled! To enable, run `so-tcpreplay-start`" diff --git a/salt/common/tools/sbin/so-test b/salt/common/tools/sbin/so-test new file mode 100644 index 000000000..8ec09c7a6 --- /dev/null +++ b/salt/common/tools/sbin/so-test @@ -0,0 +1,41 @@ +#!/bin/bash + +# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Usage: so-test + +. /usr/sbin/so-common + +REPLAY_ENABLED=$(docker images | grep so-tcpreplay) +REPLAY_RUNNING=$(docker ps | grep so-tcpreplay) + +if [ "$REPLAY_ENABLED" != "" ] && [ "$REPLAY_RUNNING" != "" ]; then + docker exec -it so-tcpreplay /usr/local/bin/tcpreplay -i bond0 -M10 /opt/samples/* + echo + echo "PCAP's have been replayed - it is normal to see some warnings." + echo +else + echo "Replay functionality not enabled! Enabling Now...." + echo + echo "Note that you will need internet access to download the appropriate components" + /usr/sbin/so-start tcpreplay + echo "Replay functionality enabled. Replaying PCAPs Now...." + docker exec -it so-tcpreplay /usr/local/bin/tcpreplay -i bond0 -M10 /opt/samples/* + echo + echo "PCAP's have been replayed - it is normal to see some warnings." + echo +fi + diff --git a/salt/tcpreplay/init.sls b/salt/tcpreplay/init.sls index 2634e6c15..d9050ffbb 100644 --- a/salt/tcpreplay/init.sls +++ b/salt/tcpreplay/init.sls @@ -1,8 +1,20 @@ -{% if grains['role'] == 'so-sensor' or grains['role'] == 'so-eval' %} +{% if grains['role'] == 'so-sensor' or grains['role'] == 'so-eval' or grains['role'] == 'so-standalone' %} {% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %} {% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %} {% set MANAGER = salt['grains.get']('master') %} +so-tcpreplayimage: + cmd.run: + - name: docker pull --disable-content-trust=false docker.io/{{ IMAGEREPO }}/so-tcpreplay:{{ VERSION }} + +so-tcpreplaytag: + cmd.run: + - name: docker tag {{ IMAGEREPO }}/so-tcpreplay:{{ VERSION }} {{ MANAGER }}:5000/{{ IMAGEREPO }}/so-tcpreplay:{{ VERSION }} + +so-tcpreplaypush: + cmd.run: + - name: docker push {{ MANAGER }}:5000/{{ IMAGEREPO }}/so-tcpreplay:{{ VERSION }} + so-tcpreplay: docker_container.running: - network_mode: "host"