Verifique o número de conexões ativas na porta 80?

27

Eu tenho um servidor da web, preciso verificar o número de conexões no meu servidor naquele momento,

eu costumava seguir

netstat -anp |grep 80 |wc -l

isso voltou com

2542

mas, pelo meu google analytics, sei que usuários simultâneos não ultrapassam 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 ?
user1179459
fonte
Com ssvocê pode filtrar porto e afirmar um pouco mais rápido: ss -nt dport == :80 and state connected.
Eckes
Número de conexões não é número de usuários. Cada navegador do usuário pode abrir várias conexões ao mesmo tempo. Pelo contrário, embora mais raro, vários usuários usando o mesmo proxy poderiam aparecer apenas através de uma conexão.
Patrick Mevzek

Respostas:

50

Tente apenas contar as conexões ESTABELECIDAS:

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

Além disso, tenha cuidado para não usar dois pontos na instrução port grep. Procurar 80 pode levar a resultados errados de pids e outras portas que possuem os caracteres 80 em sua saída.

d34dh0r53
fonte
5
grep -w 80resolve esse problema e elimina coisas assim 8093.
Michael Hampton
1
Sim, você está certo: 80 também pode introduzir falsos positivos.
D34dh0r53
@MichaelHampton Ambos grep -w 80 e: 80 também contarão conexões http de saída, se houver. netstat -ntp | awk '{print $ 4}' | grep -w 80. E sim, eu me importo muito com a cor do bikeshed :) :).
Este é melhorado .. netstat -an | grep -w 80 | grep -i estabelecido | awk {'print $ 5'} | cut -d: -f1 | classificar | uniq -c | tipo -n
user169015
2

Tomando @ d34dh0r53 responder uma etapa "mais longe" (para uma resposta com uma perspectiva "mais ampla"), você também pode verificar todas as conexões classificadas de acordo com seu estado com o seguinte:

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

por exemplo:

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

Uma saída possível pode ser:

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

Espero que ajude e, por favor, eleve todas as elaborações e / ou comentários que você tiver sobre o exposto acima.

Felicidades,

Cara.

Guy Avraham
fonte
1

Você pode simplesmente colocar seu endereço IP lá em vez de se preocupar em encadear vários greps, seds e awks juntos.

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

O uso $(hostname -i)permitirá o uso deste comando em qualquer caixa, IP estático / dinâmico e assim por diante.

Gryd3
fonte
0
ss -tn src :80 or src :443

Isso mostrará todas as conexões com as portas locais 80 ou 443 (adicione / modifique as portas, se necessário).

Isenção de responsabilidade: sei que essa é uma pergunta antiga, mas ainda é o principal resultado no Google, então acho que merece uma resposta utilizando utilitários modernos.

Iskren
fonte