netstat vs ss

frogmaster
Antal: 3785
Tilmeldt:
20-05-2010
User is offline
netstat vs ss

For netværksadministratorer er socket info en vigtig del af jobbet.
netstat, men også ss, er uundværlige værktøjer, men ikke alle Linux har dem installeret default.

Hvis du ønsker info omkring netstat og ss, så vær venlig at spørge ...


marlar
Antal: 2884
Tilmeldt:
05-12-2009
User is offline
Hvis du ønsker info

#0: Hvis du ønsker info omkring netstat og ss

Hvad bruger man dem typisk til?


frogmaster
frogmaster's picture
Antal: 3785
Tilmeldt:
20-05-2010
User is offline
For at se hvad der sker på

For at se hvad der sker på netværket (netstat - network statistics og ss - socket statistics), oplysninger om netkort, IP adr., funktionalitet, routing og i forbindelse med sikkerhed eksempelvis malware og DoS angreb.

netstat -h og ss -h lister flag og fortæller om funktionerne.

Jeg bruger dette bash med nogle få af de tilgængelige commands, men glem ikke Wireshark m.f., hvis de er mulige på netværk man normalt ikke administrerer.

Hvis det handler om Arch, så skal net-tools muligvis først installeres før netstat fungerer. Ubuntu brugere kender det muligvis under navnet gnome-nettool, på dansk netværksværktøjer. Imidlertid kan ss erstatte netstat.

#!/bin/bash
# Bash colors definition: https://misc.flogisoft.com/bash/tip_colors_and_for...
# netstat options: https://www.ghacks.net/2018/03/21/how-to-use-netst...

# Define variables

#EDITOR=vim
#PASSWD=/etc/passwd

YEL='\033[1;33;1m'
RED='\033[0;41;37m'
RED2='\033[1;31;1m'
BLUE='\033[34m'
BLUE2='\033[1;34;1m'
STD='\033[0;0;39m'

# function
pause(){
  read -p "Press [Enter] key to continue..." fackEnterKey
}
# call item 1
one(){
echo "one() called"
        pause
}
# call item 2
two(){
echo "two() called"
        pause
}

# call item 3
three(){
echo "three() called"
        pause
}
# call item 4
four(){
echo "four() called"
        pause
}
# call item 5
five(){
echo "five() called"
        pause
}
# call item 6
six(){
echo "six() called"
        pause
}
# call item 7
seven(){
echo "seven() called"
        pause
}
# call item 8
eight(){
echo "eight() called"
        pause
}
# call item 9
nine(){
echo "nine() called"
        pause
}

# function to display menu
show_menus() {
clear
    echo
echo -e ${BLUE2}
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo "     N E T S T A T - S S - M E N U"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    echo
echo "1. Display all sockets statically (netstat)"
    echo "2. Display all sockets continuously (netstat)"
echo "3. Check all unique IP addresses connected (netstat)"
    echo "4. Check for DOS attack (netstat)"
    echo "5. Check network interfaces (netstat)"
    echo "6. Netstat documentation and flags (netstat)"
    echo "7. Display all sockets statically (ss)"
    echo "8. Display all listening sockets (ss)"
    echo -e ${RED2}
echo "9. Exit"
    echo -e  ${STD}
}

# read input from the keyboard and take an action
# &>/dev/null suppress stdout and stderr
read_options(){
local choice
    tput setaf 2
    tput bold
    read -p "Enter choice and press Enter [1 - 9] " choice
    tput sgr0
case $choice in
1) netstat -an ;;
        2) netstat -c ;;
        3) netstat -nat | awk '{ print $5}' | cut -d: -f1 | sed -e '/^$/d' | uniq ;;
        4) echo -e "${YEL}Check for unauthorised sockets to this computer${STD}"
           echo
           sudo netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n ;;
        5) netstat -ie ;;
        6) xdg-open https://www.ghacks.net/2018/03/21/how-to-use-netst... &>/dev/null ;;       
        7) ss -a ;;
        8) ss -l ;;
        9) exit 0;;
*) echo -e "${RED}Not a menu-item...${STD}" && sleep 1
esac
}

# Trap CTRL+C, CTRL+Z and quit singles
trap '' SIGINT SIGQUIT SIGTSTP

# Main logic - infinite loop
while true
do
show_menus
read_options
    echo -e $YEL
    read -p "Press [Enter] key to return to the NETSTAT MENU..." fackEnterKey
    #$SHELL
done

Ellers er der mere forklaret her, for dem der ikke kender ss:
https://www.binarytides.com/linux-ss-command/

gHacks om netstat:
https://www.ghacks.net/2018/03/21/how-to-use-netst...