rm eve.json
fi
+if [ -e ./rust/target/release/suricatasc ]; then
+ SURICATASC=./rust/target/release/suricatasc
+else
+ SURICATASC=./rust/target/debug/suricatasc
+fi
+
RES=0
-export PYTHONPATH=python/
# Get listen interface and "ping" target address
IFACE=$(ip r|grep default|awk '{print $5}')
echo $IFACE
echo "ERROR alerts count off for sid 222 (datasets)"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -v -c "dataset-clear ipv4-list ipv4" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -v -c "dataset-clear ipv4-list ipv4" /var/run/suricata/suricata-command.socket)
echo $JSON
sleep 5
cp .github/workflows/live/icmp2.rules suricata.rules
# trigger the reload
-JSON=$(python3 python/bin/suricatasc -c "iface-list" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "iface-list" /var/run/suricata/suricata-command.socket)
PIFACE=$(echo $JSON | jq -r .message.ifaces[0])
-JSON=$(python3 python/bin/suricatasc -c "iface-stat $PIFACE")
+JSON=$(${SURICATASC} -c "iface-stat $PIFACE")
STATSCHECK=$(echo $JSON | jq '.message.pkts > 0')
if [ $STATSCHECK = false ]; then
echo "ERROR unix socket stats check failed"
RES=1
fi
-python3 python/bin/suricatasc -c "reload-rules" /var/run/suricata/suricata-command.socket
+${SURICATASC} -c "reload-rules" /var/run/suricata/suricata-command.socket
-JSON=$(python3 python/bin/suricatasc -c "iface-bypassed-stat" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "iface-bypassed-stat" /var/run/suricata/suricata-command.socket)
echo $JSON
-JSON=$(python3 python/bin/suricatasc -c "capture-mode" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "capture-mode" /var/run/suricata/suricata-command.socket)
if [ "$(echo $JSON | jq -r .message)" != "AF_PACKET_DEV" ]; then
echo "ERROR unix socket capture mode check failed"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -c "dump-counters" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "dump-counters" /var/run/suricata/suricata-command.socket)
STATSCHECK=$(echo $JSON | jq '.message.uptime >= 15')
if [ $STATSCHECK = false ]; then
echo "ERROR unix socket dump-counters uptime check failed"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -c "memcap-list" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "memcap-list" /var/run/suricata/suricata-command.socket)
echo $JSON
-JSON=$(python3 python/bin/suricatasc -c "running-mode" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "running-mode" /var/run/suricata/suricata-command.socket)
echo $JSON
if [ "$(echo $JSON | jq -r .message)" != "$RUNMODE" ]; then
echo "ERROR unix socket runmode check failed"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -c "version" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "version" /var/run/suricata/suricata-command.socket)
echo $JSON
-JSON=$(python3 python/bin/suricatasc -c "uptime" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "uptime" /var/run/suricata/suricata-command.socket)
echo $JSON
STATSCHECK=$(echo $JSON | jq '.message >= 15')
if [ $STATSCHECK = false ]; then
RES=1
fi
sleep 15
-JSON=$(python3 python/bin/suricatasc -c "add-hostbit $GW test 60" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "add-hostbit $GW test 60" /var/run/suricata/suricata-command.socket)
echo $JSON
sleep 15
echo "ERROR no alerts for sid 2"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -c "list-hostbit $GW" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "list-hostbit $GW" /var/run/suricata/suricata-command.socket)
CHECK=$(echo $JSON|jq -r .message.hostbits[0].name)
if [ "$CHECK" != "test" ]; then
echo "ERROR hostbit listing failed"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -c "remove-hostbit $GW test" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "remove-hostbit $GW test" /var/run/suricata/suricata-command.socket)
kill -INT $PINGPID
wait $PINGPID
-python3 python/bin/suricatasc -c "shutdown" /var/run/suricata/suricata-command.socket
+${SURICATASC} -c "shutdown" /var/run/suricata/suricata-command.socket
wait $SURIPID
echo "done: $RES"
rm eve.json
fi
+if [ -e ./rust/target/release/suricatasc ]; then
+ SURICATASC=./rust/target/release/suricatasc
+else
+ SURICATASC=./rust/target/debug/suricatasc
+fi
+
RES=0
export PYTHONPATH=python/
echo "ERROR alerts count off for sid 222 (datasets)"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -v -c "dataset-clear ipv4-list ipv4" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -v -c "dataset-clear ipv4-list ipv4" /var/run/suricata/suricata-command.socket)
echo $JSON
sleep 5
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -c "dataset-add ipv6-list ip 192.168.1.1" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "dataset-add ipv6-list ip 192.168.1.1" /var/run/suricata/suricata-command.socket)
echo $JSON
if [ "$(echo $JSON | jq -r .message)" != "data added" ]; then
echo "ERROR unix socket dataset add failed"
fi
# look it up in IPv4 in IPv6 notation
-JSON=$(python3 python/bin/suricatasc -c "dataset-lookup ipv6-list ip ::ffff:c0a8:0101" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "dataset-lookup ipv6-list ip ::ffff:c0a8:0101" /var/run/suricata/suricata-command.socket)
echo $JSON
if [ "$(echo $JSON | jq -r .message)" != "item found in set" ]; then
echo "ERROR unix socket dataset lookup failed"
fi
# fail to add junk
-JSON=$(python3 python/bin/suricatasc -c "dataset-add ipv6-list ip ::ffff:c0a8:0z0z" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "dataset-add ipv6-list ip ::ffff:c0a8:0z0z" /var/run/suricata/suricata-command.socket)
echo $JSON
if [ "$(echo $JSON | jq -r .message)" != "failed to add data" ]; then
echo "ERROR unix socket dataset added junk"
cp .github/workflows/live/icmp2.rules suricata.rules
# trigger the reload
-JSON=$(python3 python/bin/suricatasc -c "iface-list" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "iface-list" /var/run/suricata/suricata-command.socket)
PIFACE=$(echo $JSON | jq -r .message.ifaces[0])
-JSON=$(python3 python/bin/suricatasc -c "iface-stat $PIFACE")
+JSON=$(${SURICATASC} -c "iface-stat $PIFACE")
STATSCHECK=$(echo $JSON | jq '.message.pkts > 0')
if [ $STATSCHECK = false ]; then
echo "ERROR unix socket stats check failed"
RES=1
fi
-python3 python/bin/suricatasc -c "reload-rules" /var/run/suricata/suricata-command.socket
+${SURICATASC} -c "reload-rules" /var/run/suricata/suricata-command.socket
-JSON=$(python3 python/bin/suricatasc -c "iface-bypassed-stat" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "iface-bypassed-stat" /var/run/suricata/suricata-command.socket)
echo $JSON
-JSON=$(python3 python/bin/suricatasc -c "capture-mode" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "capture-mode" /var/run/suricata/suricata-command.socket)
if [ "$(echo $JSON | jq -r .message)" != "PCAP_DEV" ]; then
echo "ERROR unix socket capture mode check failed"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -c "dump-counters" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "dump-counters" /var/run/suricata/suricata-command.socket)
STATSCHECK=$(echo $JSON | jq '.message.uptime >= 15')
if [ $STATSCHECK = false ]; then
echo "ERROR unix socket dump-counters uptime check failed"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -c "memcap-list" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "memcap-list" /var/run/suricata/suricata-command.socket)
echo $JSON
-JSON=$(python3 python/bin/suricatasc -c "running-mode" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "running-mode" /var/run/suricata/suricata-command.socket)
echo $JSON
if [ "$(echo $JSON | jq -r .message)" != "$RUNMODE" ]; then
echo "ERROR unix socket runmode check failed"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -c "version" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "version" /var/run/suricata/suricata-command.socket)
echo $JSON
-JSON=$(python3 python/bin/suricatasc -c "uptime" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "uptime" /var/run/suricata/suricata-command.socket)
echo $JSON
STATSCHECK=$(echo $JSON | jq '.message >= 15')
if [ $STATSCHECK = false ]; then
RES=1
fi
sleep 15
-JSON=$(python3 python/bin/suricatasc -c "add-hostbit $GW test 60" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "add-hostbit $GW test 60" /var/run/suricata/suricata-command.socket)
echo $JSON
sleep 15
echo "ERROR no alerts for sid 2"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -c "list-hostbit $GW" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "list-hostbit $GW" /var/run/suricata/suricata-command.socket)
CHECK=$(echo $JSON|jq -r .message.hostbits[0].name)
if [ "$CHECK" != "test" ]; then
echo "ERROR hostbit listing failed"
RES=1
fi
-JSON=$(python3 python/bin/suricatasc -c "remove-hostbit $GW test" /var/run/suricata/suricata-command.socket)
+JSON=$(${SURICATASC} -c "remove-hostbit $GW test" /var/run/suricata/suricata-command.socket)
kill -INT $PINGPID
wait $PINGPID
-python3 python/bin/suricatasc -c "shutdown" /var/run/suricata/suricata-command.socket
+${SURICATASC} -c "shutdown" /var/run/suricata/suricata-command.socket
wait $SURIPID
echo "done: $RES"