Wie debuggen Sie das Programm, das RAW-Socket erstellt?

482
Rikitikitavi

Zum Beispiel habe ich dieses Programm:

int main() { int sockfd = ::socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);  if ( sockfd == -1 ) printf("Error\n"); else printf("Success\n");  return 0; 

}

Also muss ich über Superuserrechte verfügen oder verwenden setcap:

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

Aber ich muss mein Programm mit QtCretor debuggen und das Programm funktioniert auch danach nicht setcap. Ich habe versucht, setcapmich bei QtCreator zu bewerben, löst aber mein Problem nicht.

Gibt es Lösungen?

0

0 Antworten auf die Frage