Created a new tool for SNMP Trap generation, useful for stress tests and for development.
This commit is contained in:
parent
c108c8fba5
commit
08eaf5fc70
|
@ -0,0 +1,51 @@
|
|||
#!/bin/bash
|
||||
|
||||
# (c) Sancho Lerena 2014
|
||||
# This is an script to generate random SNMP traps. Should be used to
|
||||
# test SNMP trap processing performance on Pandora FMS Server.
|
||||
# Licensed under BSD licence, do with it whatever you want :-)
|
||||
|
||||
TRAPS=$1
|
||||
TARGET=$2
|
||||
OIDBASE="1.3.6.1.4.1"
|
||||
SOURCE=$3
|
||||
|
||||
if [ $# -lt 2 ]
|
||||
then
|
||||
echo " "
|
||||
echo "Syntax error: "
|
||||
echo "SNMP Trap generator <# traps> <target ip> [<source_ip>]"
|
||||
echo "If <source_ip> is not provided, it will forge fake IP's"
|
||||
echo " "
|
||||
exit -1
|
||||
fi
|
||||
|
||||
COUNTER=0
|
||||
|
||||
while [ $COUNTER -lt $TRAPS ]
|
||||
do
|
||||
|
||||
RAND=`date +%N`
|
||||
SMALLRAND=`date +%N|cut -c 2-5`
|
||||
FAKEOID=""
|
||||
if [ "$SOURCE" == "" ]
|
||||
then
|
||||
FAKEIP=`date +%N | cut -c 2-3`.`date +%N | cut -c 2-3`.`date +%N | cut -c 2-3`.`date +%N | cut -c 2-3`
|
||||
else
|
||||
FAKEIP=$SOURCE
|
||||
fi
|
||||
|
||||
# Create a fake OID with random data using Enterprise base OID
|
||||
for (( i=0; i<${#RAND}; i++ )); do
|
||||
FAKEOID=${RAND:$i:1}.$FAKEOID
|
||||
done
|
||||
|
||||
FAKEOID=$OIDBASE.$FAKEOID"1"
|
||||
|
||||
# Send the fake TRAP
|
||||
snmptrap -v 1 -c public $TARGET $FAKEOID $FAKEIP 6 $SMALLRAND $RAND $FAKEOID".$COUNTER" i $SMALLRAND
|
||||
echo "snmptrap -v 1 -c public $TARGET $FAKEOID $FAKEIP 6 $SMALLRAND $RAND $FAKEOID.$COUNTER i $SMALLRAND"
|
||||
|
||||
COUNTER=`expr $COUNTER + 1`
|
||||
|
||||
done
|
Loading…
Reference in New Issue