informações sobre o processo de envio de um pacote (mesmo quando ele é originado da máquina local) não está disponível para o tcpdump porque ele não é fornecido pela interface de captura de pacotes do kernel ... pesquisar por "DLT_LINUX_SLL" no link
mudar isso é certamente uma tarefa bastante complexa de hacking de kernel ...
o mais próximo de uma solução parece ser o módulo de correspondência "owner" do iptable, que suporta pacotes correspondentes pelo user-id (também process-id em algumas versões linux, iirc que o recurso foi removido posteriormente) e a opção --log-uid (infelizmente não -log-pid) do alvo LOG.
então, quando você adiciona uma regra do iptables como: iptables -I OUTPUT -p tcp --syn -j LOG - log-prefix "nova conexão tcp:" --log-uid
você obtém um log (em seu log do kernel, também conhecido como dmesg
) de todas as conexões recém-estabelecidas com sua porta de origem e id de usuário, para que você possa obter um mapa de conexões com usuários sem ter que pesquisar netstat ...