
$ traceroute --icmp ya.ru
You do not have enough privileges to use this traceroute method.
socket: Operation not permitted
Шо?
Дата рождения: 01.11.1983
Тотальная неудачница и убийца жёстких дисков. Самая большая поклонница Ариэль. Член ордена Вселенского тормоза имени Осаки-сан. Любительница каваййных переднеприводных машинок. Суккуб на полставки. Когти прилагаются.
$ traceroute --icmp ya.ru
You do not have enough privileges to use this traceroute method.
socket: Operation not permitted
Шо?
Linda-chan, https://linux.die.net/man/7/raw
Only processes with an effective user ID of 0 or the CAP_NET_RAW capability are allowed to open raw sockets.
Linda-chan, зависит от дистрибутива. У /bin/ping
может стоять suid bit, который позволяет использовать привилегии владельца файла всем пользователям, и т.к. у этого файла владелец — рут, все пользователи могут запускать ping с правами рута.
Ещё в Linux есть возможность специальные сокеты, через которые можно посылать только ICMP ECHO. Промежуток GID, процессы которых могут создавать их, указывается в net.ipv4.ping_group_range
.
Ну и ещё в Linux есть Capabilities, для /bin/ping
может стоять указанная в /1 CAP_NET_RAW, посмотреть можно getcap /bin/ping
.
Linda-chan, небезопасно! А если в ping ACE найдут, то это будет руткит! Расскажи своим дистроделам об этом!