41 votes

Vérifiez le nombre de connexions actives sur le port 80.

J'ai un serveur web, je dois vérifier le nombre de connexions sur mon serveur à un moment donné,

j'ai utilisé ce qui suit

netstat -anp |grep 80 |wc -l

cela m'a retourné

2542

mais d'après mes statistiques Google Analytics, je sais que le nombre d'utilisateurs simultanés n'est pas plus de 100.

est-ce correct ? 
sinon comment puis-je obtenir le nombre actif de connexions ? 
est-ce un signe d'une attaque DOS, comment le savoir ?

67voto

d34dh0r53 Points 1651

Essayez simplement de compter les connexions ÉTABLIES :

netstat -anp | grep :80 | grep ÉTABLIE | wc -l

Aussi, faites attention à ne pas utiliser de deux-points dans votre déclaration de grep de port. Chercher simplement 80 peut conduire à des résultats erronés provenant des pids et d'autres ports qui ont par hasard les caractères 80 dans leur sortie.

6voto

Iskren Points 191
ss -tn src :80 or src :443

Cela affichera toutes les connexions aux ports locaux 80 ou 443 (ajoutez/modifiez le(s) port(s) si nécessaire).

Avis de non-responsabilité : Je suis conscient que c'est une vieille question, mais c'est toujours le premier résultat sur Google, donc je pense qu'elle mérite une réponse utilisant des utilitaires modernes.

5voto

David Points 431

En prenant la réponse de @d34dh0r53 une étape de plus vers une perspective plus large, vous pouvez également vérifier toutes les connexions triées selon leur état avec la commande suivante :

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

par exemple :

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

Une sortie possible pourrait être :

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

J'espère que cela vous aidera et n'hésitez pas à ajouter toutes les explications et/ou commentaires que vous avez sur ce qui précède.

À bientôt,

Guy.

2voto

Gjorgji Points 1399

Vous pourriez simplement mettre votre adresse IP à la place de vous préoccuper de l'enchaînement de multiples greps, seds et awks.

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

L'utilisation de $(hostname -i) permettra l'utilisation de cette commande sur n'importe quelle machine, IP statique/dynamique, etc.

1voto

Walter Laan Points 2328

Cela se fait également avec un utilitaire moderne comme ss

Par exemple, en essayant d'obtenir toutes les connexions TCP établies sur le port 8080

ss -tn src :8080 | grep -i "estab" | wc -l

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X