Estou fazendo isso
$ strace -f ping -s 1 www.google.com
execve("/bin/ping", ["ping", "-s", "1", "www.google.com"],
[/* 80 vars */]) = 0
getuid() = 1001
setuid(1001) = 0
getuid() = 1001
geteuid() = 1001
capget({_LINUX_CAPABILITY_VERSION_3, 0}, NULL) = 0
capget({_LINUX_CAPABILITY_VERSION_3, 0}, {0, 0, 0}) = 0
socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = -1 EPERM (Operation not permitted)
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(1025),
sin_addr=inet_addr("74.125.28.105")}, 16) = 0
write(3, "ping: icmp open socket: Operatio"..., 48
ping: icmp open socket: Operation not permitted) = 48
close(3) = 0
exit_group(2) = ?
+++ exited with 2 +++
Eu excluí muitas linhas estranhas, mas o cerne da questão é que ele está retornando o código de saída 2.
Estou recebendo o código de saída 0 se eu executar o ping sem o stracing.
Estou faltando algumas opções ao executar strace?
Tags networking linux strace