You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.6 KiB
75 lines
1.6 KiB
#!/bin/bash
|
|
|
|
# This is a script that will allow you to open a btsnooz log
|
|
# in wireshark directly from a zip file. This script will handle
|
|
# the unzipping if it is a zip file, or will convert the btsnooz
|
|
# directly in the case of a plain text file for use with wireshark.
|
|
# After wireshark closes, it will clean up all the temporary files
|
|
# used.
|
|
|
|
WIRESHARK="${WIRESHARK:-wireshark}"
|
|
BTSNOOZ="${BTSNOOZ:-btsnooz.py}"
|
|
|
|
if ! hash "${WIRESHARK}" 2>/dev/null;
|
|
then
|
|
echo "Please make sure wireshark is in your path before running."
|
|
exit 1;
|
|
fi
|
|
|
|
if ! hash btsnooz.py 2>/dev/null;
|
|
then
|
|
echo "Please make sure btsnooz.py is in your path before running."
|
|
exit 2;
|
|
fi
|
|
|
|
if [ $# -eq 0 ];
|
|
then
|
|
echo "Usage: $0 bugreport(.txt|.zip)"
|
|
exit 3;
|
|
fi
|
|
|
|
BUGREPORT="$1"
|
|
FILENAME="$(basename ${BUGREPORT})"
|
|
TMPDIR=$(mktemp --tmpdir -d "viewbtsnooz_XXXXX")
|
|
LOGFILE="${TMPDIR}/${FILENAME%.*}.btsnooz"
|
|
|
|
trap ctrl_c INT
|
|
function ctrl_c() {
|
|
rm -rf "${TMPDIR}"
|
|
}
|
|
|
|
if [ ! -f "${BUGREPORT}" ];
|
|
then
|
|
echo "File ${BUGREPORT} does not exist."
|
|
exit 4;
|
|
fi
|
|
|
|
if [ ! -d "${TMPDIR}" ];
|
|
then
|
|
echo "Unable to create temp. dir (${TMPDIR}) :("
|
|
exit 5;
|
|
fi
|
|
|
|
if [ "${BUGREPORT: -4}" == ".zip" ];
|
|
then
|
|
unzip "${BUGREPORT}" -d "${TMPDIR}"
|
|
BUGREPORT="${TMPDIR}/${FILENAME%.*}.txt"
|
|
fi
|
|
|
|
if [ -f "${BUGREPORT}" ];
|
|
then
|
|
${BTSNOOZ} "${BUGREPORT}" > "${LOGFILE}"
|
|
if [ ! $? -eq 0 ];
|
|
then
|
|
echo "Could not extract btsnooz data from ${BUGREPORT}."
|
|
rm -rf "${TMPDIR}"
|
|
exit 6;
|
|
fi
|
|
|
|
${WIRESHARK} "${LOGFILE}"
|
|
else
|
|
echo "Looks like there is no plain text bugreport (${BUGREPORT})?"
|
|
fi
|
|
|
|
rm -rf "${TMPDIR}"
|