1#!/bin/bash 2 3# This is a script that will allow you to open a btsnooz log 4# in wireshark directly from a zip file. This script will handle 5# the unzipping if it is a zip file, or will convert the btsnooz 6# directly in the case of a plain text file for use with wireshark. 7# After wireshark closes, it will clean up all the temporary files 8# used. 9 10WIRESHARK="${WIRESHARK:-wireshark}" 11BTSNOOZ="${BTSNOOZ:-btsnooz.py}" 12 13if ! hash "${WIRESHARK}" 2>/dev/null; 14then 15 echo "Please make sure wireshark is in your path before running." 16 exit 1; 17fi 18 19if ! hash btsnooz.py 2>/dev/null; 20then 21 echo "Please make sure btsnooz.py is in your path before running." 22 exit 2; 23fi 24 25if [ $# -eq 0 ]; 26then 27 echo "Usage: $0 bugreport(.txt|.zip)" 28 exit 3; 29fi 30 31BUGREPORT="$1" 32FILENAME="$(basename ${BUGREPORT})" 33TMPDIR=$(mktemp --tmpdir -d "viewbtsnooz_XXXXX") 34LOGFILE="${TMPDIR}/${FILENAME%.*}.btsnooz" 35 36trap ctrl_c INT 37function ctrl_c() { 38 rm -rf "${TMPDIR}" 39} 40 41if [ ! -f "${BUGREPORT}" ]; 42then 43 echo "File ${BUGREPORT} does not exist." 44 exit 4; 45fi 46 47if [ ! -d "${TMPDIR}" ]; 48then 49 echo "Unable to create temp. dir (${TMPDIR}) :(" 50 exit 5; 51fi 52 53if [ "${BUGREPORT: -4}" == ".zip" ]; 54then 55 unzip "${BUGREPORT}" -d "${TMPDIR}" 56 BUGREPORT="${TMPDIR}/${FILENAME%.*}.txt" 57fi 58 59if [ -f "${BUGREPORT}" ]; 60then 61 ${BTSNOOZ} "${BUGREPORT}" > "${LOGFILE}" 62 if [ ! $? -eq 0 ]; 63 then 64 echo "Could not extract btsnooz data from ${BUGREPORT}." 65 rm -rf "${TMPDIR}" 66 exit 6; 67 fi 68 69 ${WIRESHARK} "${LOGFILE}" 70else 71 echo "Looks like there is no plain text bugreport (${BUGREPORT})?" 72fi 73 74rm -rf "${TMPDIR}" 75