mirror of
https://gitlab.com/shorewall/code.git
synced 2025-06-20 09:47:51 +02:00
Move 'hits' command processing to lib.cli
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@4795 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
e346004136
commit
9b4359e0b2
@ -634,57 +634,7 @@ case "$COMMAND" in
|
|||||||
hits)
|
hits)
|
||||||
[ -n "$debugging" ] && set -x
|
[ -n "$debugging" ] && set -x
|
||||||
[ $# -eq 1 ] || usage 1
|
[ $# -eq 1 ] || usage 1
|
||||||
clear_term
|
hits_command
|
||||||
echo "Shorewall Lite $version Hits at $HOSTNAME - $(date)"
|
|
||||||
echo
|
|
||||||
|
|
||||||
timeout=30
|
|
||||||
|
|
||||||
if [ $(grep -c "$LOGFORMAT" $LOGFILE ) -gt 0 ] ; then
|
|
||||||
echo " HITS IP DATE"
|
|
||||||
echo " ---- --------------- ------"
|
|
||||||
grep "$LOGFORMAT" $LOGFILE | sed 's/\(.\{6\}\)\(.*SRC=\)\(.*\)\( DST=.*\)/\3 \1/' | sort | uniq -c | sort -rn | \
|
|
||||||
while read count address month day; do
|
|
||||||
printf '%7d %-15s %3s %2d\n' $count $address $month $day
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " HITS IP PORT"
|
|
||||||
echo " ---- --------------- -----"
|
|
||||||
grep "$LOGFORMAT" $LOGFILE | sed 's/\(.*SRC=\)\(.*\)\( DST=.*DPT=\)\([0-9]\{1,5\}\)\(.*\)/\2 \4/
|
|
||||||
t
|
|
||||||
s/\(.*SRC=\)\(.*\)\( DST=.*\)/\2/' | sort | uniq -c | sort -rn | \
|
|
||||||
while read count address port; do
|
|
||||||
printf '%7d %-15s %d\n' $count $address $port
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " HITS DATE"
|
|
||||||
echo " ---- ------"
|
|
||||||
grep "$LOGFORMAT" $LOGFILE | sed 's/\(.\{6\}\)\(.*\)/\1/' | sort | uniq -c | sort -rn | \
|
|
||||||
while read count month day; do
|
|
||||||
printf '%7d %3s %2d\n' $count $month $day
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " HITS PORT SERVICE(S)"
|
|
||||||
echo " ---- ----- ----------"
|
|
||||||
grep "$LOGFORMAT.*DPT" $LOGFILE | sed 's/\(.*DPT=\)\([0-9]\{1,5\}\)\(.*\)/\2/' | sort | uniq -c | sort -rn | \
|
|
||||||
while read count port ; do
|
|
||||||
# List all services defined for the given port
|
|
||||||
srv=$(grep "^[^#].*\\b$port/" /etc/services | cut -f 1 | cut -f 1 -d' ' | sort -u)
|
|
||||||
srv=$(echo $srv | sed 's/ /,/g')
|
|
||||||
|
|
||||||
if [ -n "$srv" ] ; then
|
|
||||||
printf '%7d %5d %s\n' $count $port $srv
|
|
||||||
else
|
|
||||||
printf '%7d %5d\n' $count $port
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
version)
|
version)
|
||||||
echo $version Lite
|
echo $version Lite
|
||||||
|
@ -824,3 +824,57 @@ block() # $1 = command, $2 = Finished, $3 = Original Command $4 - $n addresses
|
|||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hits_command() {
|
||||||
|
clear_term
|
||||||
|
echo "Shorewall-$version Hits at $HOSTNAME - $(date)"
|
||||||
|
echo
|
||||||
|
|
||||||
|
timeout=30
|
||||||
|
|
||||||
|
if [ $(grep -c 'IN=.* OUT=' $LOGFILE ) -gt 0 ] ; then
|
||||||
|
echo " HITS IP DATE"
|
||||||
|
echo " ---- --------------- ------"
|
||||||
|
grep 'IN=.* OUT=' $LOGFILE | sed 's/\(.\{6\}\)\(.*SRC=\)\(.*\)\( DST=.*\)/\3 \1/' | sort | uniq -c | sort -rn | \
|
||||||
|
while read count address month day; do
|
||||||
|
printf '%7d %-15s %3s %2d\n' $count $address $month $day
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo " HITS IP PORT"
|
||||||
|
echo " ---- --------------- -----"
|
||||||
|
grep 'IN=.* OUT=' $LOGFILE | sed 's/\(.*SRC=\)\(.*\)\( DST=.*DPT=\)\([0-9]\{1,5\}\)\(.*\)/\2 \4/
|
||||||
|
t
|
||||||
|
s/\(.*SRC=\)\(.*\)\( DST=.*\)/\2/' | sort | uniq -c | sort -rn | \
|
||||||
|
while read count address port; do
|
||||||
|
printf '%7d %-15s %d\n' $count $address $port
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo " HITS DATE"
|
||||||
|
echo " ---- ------"
|
||||||
|
grep 'IN=.* OUT=' $LOGFILE | sed 's/\(.\{6\}\)\(.*\)/\1/' | sort | uniq -c | sort -rn | \
|
||||||
|
while read count month day; do
|
||||||
|
printf '%7d %3s %2d\n' $count $month $day
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo " HITS PORT SERVICE(S)"
|
||||||
|
echo " ---- ----- ----------"
|
||||||
|
grep 'IN=.* OUT=.*DPT' $LOGFILE | sed 's/\(.*DPT=\)\([0-9]\{1,5\}\)\(.*\)/\2/' | sort | uniq -c | sort -rn | \
|
||||||
|
while read count port ; do
|
||||||
|
# List all services defined for the given port
|
||||||
|
srv=$(grep "^[^#].*\\b$port/" /etc/services | cut -f 1 | cut -f 1 -d' ' | sort -u)
|
||||||
|
srv=$(echo $srv | sed 's/ /,/g')
|
||||||
|
|
||||||
|
if [ -n "$srv" ] ; then
|
||||||
|
printf '%7d %5d %s\n' $count $port $srv
|
||||||
|
else
|
||||||
|
printf '%7d %5d\n' $count $port
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
@ -1176,57 +1176,7 @@ case "$COMMAND" in
|
|||||||
hits)
|
hits)
|
||||||
[ -n "$debugging" ] && set -x
|
[ -n "$debugging" ] && set -x
|
||||||
[ $# -eq 1 ] || usage 1
|
[ $# -eq 1 ] || usage 1
|
||||||
clear_term
|
hits_command
|
||||||
echo "Shorewall-$version Hits at $HOSTNAME - $(date)"
|
|
||||||
echo
|
|
||||||
|
|
||||||
timeout=30
|
|
||||||
|
|
||||||
if [ $(grep -c "$LOGFORMAT" $LOGFILE ) -gt 0 ] ; then
|
|
||||||
echo " HITS IP DATE"
|
|
||||||
echo " ---- --------------- ------"
|
|
||||||
grep "$LOGFORMAT" $LOGFILE | sed 's/\(.\{6\}\)\(.*SRC=\)\(.*\)\( DST=.*\)/\3 \1/' | sort | uniq -c | sort -rn | \
|
|
||||||
while read count address month day; do
|
|
||||||
printf '%7d %-15s %3s %2d\n' $count $address $month $day
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " HITS IP PORT"
|
|
||||||
echo " ---- --------------- -----"
|
|
||||||
grep "$LOGFORMAT" $LOGFILE | sed 's/\(.*SRC=\)\(.*\)\( DST=.*DPT=\)\([0-9]\{1,5\}\)\(.*\)/\2 \4/
|
|
||||||
t
|
|
||||||
s/\(.*SRC=\)\(.*\)\( DST=.*\)/\2/' | sort | uniq -c | sort -rn | \
|
|
||||||
while read count address port; do
|
|
||||||
printf '%7d %-15s %d\n' $count $address $port
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " HITS DATE"
|
|
||||||
echo " ---- ------"
|
|
||||||
grep "$LOGFORMAT" $LOGFILE | sed 's/\(.\{6\}\)\(.*\)/\1/' | sort | uniq -c | sort -rn | \
|
|
||||||
while read count month day; do
|
|
||||||
printf '%7d %3s %2d\n' $count $month $day
|
|
||||||
done
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
echo " HITS PORT SERVICE(S)"
|
|
||||||
echo " ---- ----- ----------"
|
|
||||||
grep "$LOGFORMAT.*DPT" $LOGFILE | sed 's/\(.*DPT=\)\([0-9]\{1,5\}\)\(.*\)/\2/' | sort | uniq -c | sort -rn | \
|
|
||||||
while read count port ; do
|
|
||||||
# List all services defined for the given port
|
|
||||||
srv=$(grep "^[^#].*\\b$port/" /etc/services | cut -f 1 | cut -f 1 -d' ' | sort -u)
|
|
||||||
srv=$(echo $srv | sed 's/ /,/g')
|
|
||||||
|
|
||||||
if [ -n "$srv" ] ; then
|
|
||||||
printf '%7d %5d %s\n' $count $port $srv
|
|
||||||
else
|
|
||||||
printf '%7d %5d\n' $count $port
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
version)
|
version)
|
||||||
echo $version
|
echo $version
|
||||||
|
Loading…
x
Reference in New Issue
Block a user