É possível capturar pacotes sem ser root, mas você precisa ter os recursos CAP_NET_ADMIN
e CAP_NET_RAW
. Basicamente, você precisa se tornar root (para obter todos os recursos), descartar todas as suas capacidades, exceto as duas, e descartar privilégios de root também.
Para gerenciar o ID do usuário que os comandos do UNIX executam, pois existem ferramentas convenientes, como o sudo . Infelizmente, não há ferramentas padrão para manipular recursos do shell da maneira necessária aqui.
Esta página descreve o que você precisa fazer no nível C e esta contém um HOWTO para configurar o Wireshark para funcionar dessa maneira.