O Linux suporta a captura de pacotes tcp sem ser super usuário?

3

É possível capturar pacotes sem superusuário?

Isso é o que eu vejo no artigo da Wikipédia:

In some Unix-like operating systems, a user must have superuser privileges to use tcpdump because the packet capturing mechanisms on those systems require elevated privileges. However, the -Z option may be used to drop privileges to a specific unprivileged user after capturing has been set up. In other Unix-like operating systems, the packet capturing mechanism can be configured to allow non-privileged users to use it; if that is done, superuser privileges are not required. http://en.wikipedia.org/wiki/Tcpdump

    
por catbat 02.09.2012 / 20:07

1 resposta

1

É 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.

    
por Celada 03.09.2012 / 06:09