Risposte:
Su Linux moderno, utilizzare l'utilità 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
ti darà il numero di porte aperte, 32 nel mio caso.
cat /proc/sys/net/ipv4/ip_local_port_range
Restituirà qualcosa del tipo:
32768 61000
il che significa 61000 - 32768 - $ OPENPORTS = AvailablePorts
Sulla mia scatola, questo è:
61000-32768-32 = 28200 numeri di porta disponibili.
Come altri hanno già detto, netstat è lo strumento da utilizzare per determinare quali porte sono attualmente in uso. Per quanto riguarda i limiti, il numero di porte disponibili è un numero intero senza segno a 16 bit che fornisce l'intervallo 0-65535. Le porte disponibili per le applicazioni a cui associare sono le porte privilegiate / root riservate (0-1024) oltre a tutto ciò che non è coperto dall'intervallo di porte effimere.
Puoi visualizzare le tue porte effimere eseguendo cat /proc/sys/net/ipv4/ip_local_port_range
.
Per modificarlo in modo persistente, dovresti aggiungere / modificare "net.ipv4.ip_local_port_range" nel file /etc/sysctl.conf o in modo interattivo con sysctl -n net.ipv4.ip_local_port_range="<start_port> <end_port>"
Personalmente preferisco nmap. È possibile trovare lo stato di tutte le porte emettendo nmap -P 1-65535 target. La maggior parte delle distribuzioni dovrebbe avere questo pacchetto disponibile tramite il loro gestore dei pacchetti.
netstat ti permetterà di vedere quali porte sono aperte, fai "netstat -" per vedere cosa si adatta meglio alle tue esigenze.
netstat --inet
aiuterà di più.
'nmap localhost' ti darà tutte le porte aperte e i servizi in esecuzione su di essi.
netstat -tulnp
Gli argomenti per il programma netstat sono elencati di seguito:
*
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