Odpowiedzi:
W nowoczesnym systemie Linux użyj narzędzia ss (socket stats).
$ ss -s
Total: 10160 (kernel 10262)
TCP: 10349 (estab 8886, closed 408, orphaned 0, synrecv 0, timewait 393/0), ports 3147
Transport Total IP IPv6
* 10262 - -
RAW 0 0 0
UDP 5 5 0
TCP 9941 9941 0
INET 9946 9946 0
FRAG 0 0 0
netstat -an | grep ESTABLISHED | wc -l
poda liczbę otwartych portów, w moim przypadku 32.
cat /proc/sys/net/ipv4/ip_local_port_range
Zwróci coś takiego:
32768 61000
co oznacza, 61000 - 32768 - $ OPENPORTS = Dostępne porty
Na moim pudełku to:
61000-32768-32 = 28200 dostępnych numerów portów.
Jak wspomnieli inni, netstat to narzędzie, za pomocą którego można określić, które porty są aktualnie używane. Jeśli chodzi o limity, liczba dostępnych portów to 16-bitowa liczba całkowita bez znaku, co daje zakres 0-65535. Porty, które są dostępne dla aplikacji do połączenia, to zarezerwowane porty uprzywilejowane / root (0-1024) oraz cokolwiek, co nie jest objęte twoim efemerycznym zakresem portów.
Możesz wyświetlić efemeryczne porty, uruchamiając cat /proc/sys/net/ipv4/ip_local_port_range
.
Aby zmodyfikować to trwale, musisz dodać / zmodyfikować „net.ipv4.ip_local_port_range” w pliku /etc/sysctl.conf lub interaktywnie z sysctl -n net.ipv4.ip_local_port_range="<start_port> <end_port>"
Osobiście wolę nmap. Możesz znaleźć stan wszystkich portów, wydając cel nmap -P 1-65535. Większość dystrybucji powinna mieć ten pakiet dostępny za pośrednictwem menedżera pakietów.
netstat pozwoli ci zobaczyć, które porty są otwarte, wykonaj „netstat -”, aby zobaczyć, co najlepiej odpowiada Twoim potrzebom.
netstat --inet
najbardziej pomoże.
„nmap localhost” da ci wszystkie otwarte porty i usługi na nich działające.
netstat -tulnp
Argumenty programu netstat są wymienione poniżej:
*
t - Show TCP
*
u - Show UDP
*
l - Show only listening processes (netstat can show both listening and all established connections, i.e. as a client too)
*
n - Do not resolve network IP address names or port numbers
*
p - Show the process name that is listening on the port