Add a utility for easier handling of pf logging facilities.
parent
7ba6a0b67c
commit
3ddcb48412
|
@ -0,0 +1,68 @@
|
|||
#!/usr/local/bin/bash
|
||||
|
||||
set -o errexit
|
||||
set -o pipefail
|
||||
set -o nounset
|
||||
|
||||
PFCTL="/sbin/pfctl"
|
||||
|
||||
add() {
|
||||
${PFCTL} -t loghosts -Tadd ${1}
|
||||
}
|
||||
|
||||
del() {
|
||||
${PFCTL} -t loghosts -Tdel ${1}
|
||||
}
|
||||
|
||||
show() {
|
||||
${PFCTL} -t loghosts -Tshow
|
||||
}
|
||||
|
||||
log() {
|
||||
tcpdump -n -e -ttt -i pflog0
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo "${0} <action> [<argument>]"
|
||||
cat << EOF
|
||||
where <action> is one of:
|
||||
add - add an address to loghosts table
|
||||
del - remove an address from loghosts table
|
||||
show|list - list contents of loghosts table
|
||||
log|trace|follow - realtime display of logged connections
|
||||
where <argument> is applicable for following actions:
|
||||
add - ip address or FQDN
|
||||
del - ip address or FQDN
|
||||
EOF
|
||||
}
|
||||
|
||||
# poor getopts replacement. i'm too lazy to learn getopts
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case ${1} in
|
||||
add)
|
||||
add ${2}
|
||||
shift 2
|
||||
;;
|
||||
del)
|
||||
del ${2}
|
||||
shift 2
|
||||
;;
|
||||
show|list)
|
||||
show
|
||||
shift 2
|
||||
;;
|
||||
log|trace|follow)
|
||||
log
|
||||
shift
|
||||
;;
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "unknown argument"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
Loading…
Reference in New Issue