Import Splunk Add-On for Unix and Linux version 9.2.0
This commit is contained in:
commit
92ac2630a1
77 changed files with 11487 additions and 0 deletions
52
bin/netstat.sh
Executable file
52
bin/netstat.sh
Executable file
|
@ -0,0 +1,52 @@
|
|||
#!/bin/sh
|
||||
# SPDX-FileCopyrightText: 2024 Splunk, Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
. "$(dirname "$0")"/common.sh
|
||||
|
||||
HEADER='Proto Recv-Q Send-Q LocalAddress ForeignAddress State'
|
||||
HEADERIZE="BEGIN {print \"$HEADER\"}"
|
||||
# shellcheck disable=SC2016
|
||||
PRINTF='{printf "%-5s %6s %6s %-30.30s %-30.30s %-s\n", $1, $2, $3, $4, $5, $6}'
|
||||
# shellcheck disable=SC2016
|
||||
FILL_BLANKS='($1=="udp") {$6="<n/a>"}'
|
||||
|
||||
if [ "$KERNEL" = "Linux" ] ; then
|
||||
queryHaveCommand ss
|
||||
FOUND_SS=$?
|
||||
if [ $FOUND_SS -eq 0 ] ; then
|
||||
CMD='eval ss -antu 2>/dev/null | egrep "tcp|udp"'
|
||||
# shellcheck disable=SC2016
|
||||
FORMAT='{ state=$2; $2=$3; $3=$4; $4=$5; $5=$6; $6=state}'
|
||||
else
|
||||
CMD='eval netstat -aenp 2>/dev/null | egrep "tcp|udp"'
|
||||
fi
|
||||
elif [ "$KERNEL" = "SunOS" ] ; then
|
||||
CMD='netstat -an -f inet -f inet6'
|
||||
FIGURE_SECTION='NR==1 {inUDP=1;inTCP=0} /^TCP: IPv/ {inUDP=0;inTCP=1} /^SCTP:/ {exit}'
|
||||
FILTER='/: IPv|Local Address|^$|^-----/ {next}'
|
||||
# shellcheck disable=SC2016
|
||||
FORMAT_UDP='(inUDP) {localAddr=$1; $1="udp"; $2=$3=0; $4=localAddr; $5="*.*"}'
|
||||
# shellcheck disable=SC2016
|
||||
FORMAT_TCP='(inTCP) {localAddr=$1; foreignAddr=$2; sendQ=$4; recvQ=$6; state=$7; $1="tcp"; $2=recvQ; $3=sendQ; $4=localAddr; $5=foreignAddr; $6=state}'
|
||||
FORMAT="$FORMAT_UDP $FORMAT_TCP"
|
||||
elif [ "$KERNEL" = "AIX" ] ; then
|
||||
CMD='eval netstat -an 2>/dev/null | egrep "tcp|udp"'
|
||||
elif [ "$KERNEL" = "Darwin" ] ; then
|
||||
CMD='eval netstat -anW | egrep "tcp|udp"'
|
||||
# shellcheck disable=SC2016
|
||||
FORMAT='{gsub("[46]", "", $1)}'
|
||||
elif [ "$KERNEL" = "HP-UX" ] ; then
|
||||
CMD='eval netstat -an | egrep "tcp|udp"'
|
||||
elif [ "$KERNEL" = "FreeBSD" ] ; then
|
||||
# shellcheck disable=SC2089
|
||||
CMD='eval netstat -an | egrep "tcp|udp"'
|
||||
# shellcheck disable=SC2016
|
||||
FORMAT='{gsub("[46]", "", $1)}'
|
||||
fi
|
||||
|
||||
assertHaveCommand "$CMD"
|
||||
# shellcheck disable=SC2090
|
||||
$CMD | tee "$TEE_DEST" | $AWK "$HEADERIZE $FIGURE_SECTION $FILTER $FORMAT $FILL_BLANKS $PRINTF" header="$HEADER"
|
||||
echo "Cmd = [$CMD]; | $AWK '$HEADERIZE $FIGURE_SECTION $FILTER $FORMAT $FILL_BLANKS $PRINTF' header=\"$HEADER\"" >> "$TEE_DEST"
|
Loading…
Add table
Add a link
Reference in a new issue