Come trovare il numero di porte aperte in Linux?


17

Come trovare il numero di porte aperte in Linux? Voglio vedere se sto finendo le porte. Inoltre, come vedo il limite del mio sistema operativo?


2
Cosa stai facendo che hai paura di rimanere senza porte?
MDMarra,

Risposte:


27

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        

9
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.


il -a46 non ha funzionato. Qualsiasi aiuto?
erotsppa,

che distro corri? (che funziona su Ubuntu Server 10.04 LTS). Naturalmente, se non hai installato ipv6, usa semplicemente netstat -a.
Grizly,

Testato sulla mia scatola CentOS, sembra bloccarsi se non si utilizza "-n" per interrompere la risoluzione dei nomi. (netstat -an | grep STABILITO | wc -l)
Grizly,

Ho appena visto "ss" qui sotto, è fantastico, non lo sapevo .. molto meglio! Usa ip_local_port_range per determinare ciò che il tuo linux è configurato per consentire, ma questo ti mostra quello che stai attualmente usando in un formato molto più accessibile!
Grizly

8

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>"


1
nit picking, ma non è esattamente un limite di ipv4. È un limite tcp / udp. e quelli funzionano indipendentemente da ipv4. (es. ipv6 non fa nulla per il livello di trasporto)
Joel K,

Aaah, hai ragione. Ho rimosso il riferimento IPV4 nella mia risposta.
Alex,

1

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.


1

Provare

# lsof -n -i -P 

Per completezza :)


0

netstat ti permetterà di vedere quali porte sono aperte, fai "netstat -" per vedere cosa si adatta meglio alle tue esigenze.


1
netstat --inetaiuterà di più.
Paul Tomblin,

Volevo dire -? personaggio mancante.
jer.salamon,

o leggi la manpage
MDMarra,

Includi anche --inet6 (abbreviazione di entrambi: -4 -6), per ottenere socket IPv6 e socket ip-agnostici (quest'ultimo essendo predefinito su host dual stack, vedi rfc 3493 sezione 3.7).
Tobu,


0

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

0

utilizzare il seguente comando sul terminale per controllare tutte le porte

netstat -lntu

Per visualizzare uno stato delle porte specifico utilizzare il comando seguente

netstat -an | grep ':6060'

sostituire 6060 con il proprio numero di porta specifico.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.