Como depurar o programa que cria o soquete RAW?

1

Por exemplo, eu tenho este programa:

int main()
{
  int sockfd = ::socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);

  if ( sockfd == -1 )
    printf("Error\n");
  else
    printf("Success\n");

  return 0;

}

Então, eu preciso ter direitos de superusuário ou usar setcap :

$ ./Test 
Error
sudo setcap cap_net_raw+eip ./Test
$ ./Test 
Success

Mas, preciso depurar meu programa com o QtCretor e o programa não funciona mesmo depois de setcap . Eu tentei aplicar setcap ao QtCreator, mas isso não resolve o meu problema.

Existe alguma solução?

    
por Rikitikitavi 10.07.2018 / 10:58

0 respostas