Controllare il numero di connessioni attive sulla porta 80?


27

Ho un server web, devo controllare il numero di connessioni nel mio server in quel determinato momento,

ho usato seguente

netstat -anp |grep 80 |wc -l

questo è tornato con

2542

ma dalla mia analisi di Google so che gli utenti simultanei non sono più di 100.

is this correct ? 
if not how to i get the active number of connections ? 
is this sign of a victim of DOS attack how do i know that ?

Con ssè possibile filtrare la porta e si dichiarano un po 'più veloce: ss -nt dport == :80 and state connected.
Verifica il

Il numero di connessioni non è il numero di utenti. Ogni browser utente può aprire più connessioni contemporaneamente. Al contrario, sebbene più raro, più utenti che utilizzano lo stesso proxy potrebbero apparire solo attraverso una connessione.
Patrick Mevzek,

Risposte:


50

Prova a contare solo le connessioni STABILITE:

netstat -anp | grep :80 | grep ESTABLISHED | wc -l

Inoltre, fai attenzione a non utilizzare i due punti nell'istruzione port grep. Solo la ricerca di 80 può portare a risultati errati da pid e altre porte che hanno i caratteri 80 nel loro output.


5
grep -w 80risolve quel problema ed elimina cose del genere 8093.
Michael Hampton

1
sì, hai ragione: 80 possono anche introdurre falsi positivi.
d34dh0r53,

@MichaelHampton Sia grep -w 80 che: 80 conteranno anche eventuali connessioni http in uscita. netstat -ntp | awk '{print $ 4}' | grep -w 80. E sì, ci tengo troppo al colore del bikeshed :) :).

Questo è molto migliorato .. netstat -an | grep -w 80 | grep -i stabilito | awk {'print $ 5'} | cut -d: -f1 | ordina | uniq -c | sort -n
user169015

2

Prendendo @ d34dh0r53 rispondi di un passo "oltre" (verso una risposta con una prospettiva "più ampia"), puoi anche controllare tutte le connessioni ordinate in base al loro stato con il seguente:

netstat -ant | grep :<port_num> | awk '{print $6}' | sort | uniq -c | sort -n

per esempio:

netstat -ant | grep :8000 | awk '{print $6}' | sort | uniq -c | sort -n

Un possibile output potrebbe essere:

1 CLOSING
1 established
1 FIN_WAIT2
1 Foreign
2 CLOSE_WAIT
6 FIN_WAIT1
7 LAST_ACK
7 SYN_RECV
37 ESTABLISHED
44 LISTEN
297 TIME_WAIT

Spero che sia d'aiuto e, per favore, fai emergere eventuali elaborazioni e / o commenti che hai su quanto sopra.

Saluti,

Tipo.


1

Potresti semplicemente mettere il tuo indirizzo IP lì dentro invece di preoccuparti di mettere insieme più greps, seds e awk.

netstat -anp | grep -c $(hostname -i):80

L'uso $(hostname -i)consentirà l'uso di questo comando su qualsiasi box, IP statico / dinamico e così via.


0
ss -tn src :80 or src :443

Questo mostrerà tutte le connessioni alle porte locali 80 o 443 (aggiungi / modifica le porte se necessario).

Disclaimer: mi rendo conto che questa è una vecchia domanda, ma è ancora il miglior risultato di Google, quindi penso che meriti una risposta utilizzando le moderne utility.

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.