Log de conexões de saída conforme elas acontecem

23

Existe uma maneira de registrar para arquivar todas as conexões de saída que um processo cria? Estou ciente, netstatmas isso parece ser mais um instantâneo de um ponto no tempo do que algo que executa e registra informações durante um período.

Eu só preciso do IP ou nome do host, porta e do processo de conexão.

Rico
fonte
1
Bem, você poderia fazer algo assim watch -n 2 netstatenquanto isso, mas essa não é uma solução adequada, é?
Ulrich Schwarz
1
[Este tópico] [1] deve responder à sua pergunta [1]: superuser.com/questions/34782/…
Alien Life Form
Veja também Como descobrir qual arquivo está atualmente gravado por um processo de acesso a arquivos
Gilles 'SO- stop be evil'

Respostas:

15

No Linux, você pode configurar o subsistema de auditoria para registrar todas as tentativas de estabelecer uma conexão de rede. Para obter informações sobre o subsistema de auditoria, leia a auditctlpágina de manual ou este tutorial ou outros exemplos neste site . Instale o auditdpacote da sua distribuição, se necessário, e

auditctl -A exit,always -S connect

Os logs estão em /var/log/audit/audit.logtodas as distribuições que eu conheço. Você também pode procurá-los com ausearch.

Gilles 'SO- parar de ser mau'
fonte
3
Eu precisava identificar qual processo estava fazendo uma conexão de saída. Isso foi feito instantaneamente. Para evitar inundar os logs, remova a regra depois:auditctl -d exit,always -S connect
Michael Hampton
Como inspeciono os logs?
luckydonald 12/07
@luckydonaldless /var/log/audit/audit.log
Gilles 'SO- stop
5

Se você conseguir instalar um kernel personalizado, consulte o SystemTap . Existem muitos exemplos de como rastrear a atividade da rede.

Lars Kotthoff
fonte
3

No Linux, você pode usar ip_conntrackpara fazer isso. É um módulo de rastreamento de conexão, usado normalmente para monitorar conexões de protocolos de comportamento estranho (como FTP) a serem gerenciados por um firewall / caixa NAT.

modprobe ip_conntrack
cat /proc/net/ip_conntrack

Você pode fazer o grep do pseudo arquivo para ver as conexões estabelecidas e o IP de origem para ver quando ele se origina da sua caixa.

Sean C.
fonte
A questão pode não ser necessariamente centrada no Linux.
Karlson 26/01
0

Gostaria de usar tcpdumpa interface de saída para analisar as SYNsolicitações de saída .

Se você se sentir realmente aventureiro, poderá criar utilitários como: straceou trussrelatar todas as connectchamadas do sistema enquanto rastreia a execução do programa, mas isso é um pouco mais perigoso e tem desvantagens ao lidar com processos multithread.

Karlson
fonte