X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdiameter%2FpcapDecoder%2FtsharkDecoder.sh;h=816dea7d24b687190dbc7673e1b68f7bba647b60;hb=37d878ff070d97c2d116c78d3fc78b46c568991b;hp=35a9815594f122dda962c13ff888a7f0452c320e;hpb=f844fa068cf757c0b517318dc1437bd29f319d94;p=anna.git diff --git a/example/diameter/pcapDecoder/tsharkDecoder.sh b/example/diameter/pcapDecoder/tsharkDecoder.sh index 35a9815..816dea7 100755 --- a/example/diameter/pcapDecoder/tsharkDecoder.sh +++ b/example/diameter/pcapDecoder/tsharkDecoder.sh @@ -308,7 +308,7 @@ do group_array=( $(echo $group | sed 's/,/ /g') ) echo "Grouping frames ${group_array[*]} ..." for frame in ${group_array[@]}; do - cat $RESULTS_DIR/$frame.hex >> $tmpdir/diam.$group + cat $RESULTS_DIR/$frame.hex >> $tmpdir/diam.$group 2>/dev/null done cat $tmpdir/diam.$group | tr -d '\n' > $RESULTS_DIR/$frame.hex # Delete all frames except last one in the group: @@ -319,7 +319,11 @@ done #segments=( $(cat $tmpdir/diameter_frames | awk -F\| '{ if ($16 == "") print $1 }') ) segments=( $(echo $to_delete) ) echo "Deleting superfluous buffers & metadata (${segments[*]}) ..." -for s in ${segments[@]}; do rm $RESULTS_DIR/${s}.* ; done +for s in ${segments[@]}; do rm -f $RESULTS_DIR/${s}.* ; done + +# Basic checking: +ls $RESULTS_DIR/*.metadata >/dev/null 2>/dev/null +[ $? -ne 0 ] && { echo "No metadata generated !" ; exit 1 ; } # Detecting Session-Id values: grep ^sessionid= $RESULTS_DIR/*.metadata 2>/dev/null | cut -d= -f2- | sort -u > $RESULTS_DIR/session-ids @@ -354,5 +358,13 @@ then rm $RESULTS_DIR/.wanted $RESULTS_DIR/.all fi +# Purge frames with invalid metadata: +invalid=( $(grep -lw "^code=$" $RESULTS_DIR/*metadata) ) +for file in ${invalid[@]} +do + frm=$(basename $file | cut -d\. -f1) + rm $RESULTS_DIR/${frm}.* +done + _exit "Done!" 0