Usando o tcpdump para registrar todas as atividades de rede que passam por um servidor roteador

1

Gostaria de coletar registros de todas as comunicações de rede entre meus dispositivos domésticos (laptops, telefones etc.) e o mundo externo neste formato:

Timestamp / Device MAC Address / Source IP:Port / Destination IP:Port / Protocol (Internet/Transport Layers) / Amount of data in bytes

A idéia é configurar uma caixa física do Linux ("Servidor de registro") apenas para o registro e executar tcpdump nele:

Internet ⟺ Logging Server ⟺ Wi-Fi/Ethernet Switch ⟺ Devices

(a caixa terá duas interfaces Ethernet - para a conexão com a Internet e para o comutador local).

Assumindo que eu cuido de manipular os arquivos de log (rotação, análise, alimentação de ferramentas de relatório), como o comando tcpdump será semelhante?

Para ser claro, eu sei que esta pergunta provavelmente pode ser respondida cavando a página man; Eu gostaria apenas de aproveitar a ampla experiência de alguém com tcpdump para economizar tempo, evitar erros comuns, etc.

S. O principal objetivo é monitorar / investigar backdoors potencialmente existentes ou atividades de rede indesejadas / inesperadas.

    
por Greendrake 08.01.2018 / 10:57

1 resposta

1

tcpdump -n -e -q -i any

Com:

  • -n : não converta endereços em nomes (isso evita que tcpdump faça pesquisas reversas de DNS)
  • -e : imprime o cabeçalho de nível de link em cada linha de despejo (principalmente endereço MAC). Use isso em coordenação com -i any , você precisará disso para redefinir a interface de rede de entrada / saída.
  • -q : imprime menos informações de protocolo para que as linhas de saída sejam menores
  • -i any : a palavra-chave any pode ser usada para capturar pacotes de todas as interfaces

Observe que o comprimento dado pelo comando acima é o comprimento da carga útil. Se você também quiser o tamanho do pacote, remova a opção '-q'.

    
por 08.01.2018 / 14:14