Encontre conexões por ip em um roteador OpenWRT?

2

Como posso listar o número de conexões por cliente na cadeia FORWARD de um roteador OpenWRT?

Eu sei listar o número de conexões por endereço IP no roteador:

netstat -ntu | tail -n +3 |       # list open TCP and UDP connections
awk '{print $5}' | cut -d: -f1 |  # extract client IP addresses
sort | uniq -c | sort -nr         # show number of occurrences and sort by it

Eu quero fazer o mesmo com as conexões que estão passando pela corrente FORWARD do roteador.

    
por LanceBaynes 21.06.2011 / 10:16

1 resposta

2

Se eu entendi sua pergunta corretamente (o que é sempre duvidoso com suas perguntas), isso não é possível. O encaminhamento não mantém nenhum estado: o roteador recebe um pacote, analisa-o, envia-o para o próximo destino e esquece qual era o pacote. Você pode contar ou registrar pacotes, mas não pode acompanhar as conexões nesse nível.

Faz sentido contar as conexões NAT atuais. Todas as conexões que o subsistema netfilter rastreia estão listadas em /proc/net/ip_conntrack . Você pode extrair o endereço do cliente com

sed -ne 's/^.*src=\([^ ]*\).*//p' /proc/net/ip_conntrack
    
por 22.06.2011 / 00:00