Re: [Network] Простой ICMP запрос

Alex Naumov alexander_naumov at opensuse.org
Fri Nov 21 18:42:17 EST 2014


2014-11-21 22:20 GMT+01:00 Naydin Andrey <naydinav at gmail.com>:

>  Привет Alex. Может имеет смысл создать репозиторий на github или еще где.
> Что б можно было сразу примеры-задачки сливать, собирать, вносить правки. Я
> это предлагаю в контексте
>
>  Кто что думает об этом коде? Что можно улучшить?
>
> Что б можно было создавать бранчи с решениям, которые по мнению
> конкретного взятого разработчика улучшают код. И затем обсуждать.
> И всегда можно будет в переписке ссылаться на нужный коммит/ветку.
> Это только предложение. А не условие.
>

Привет.
Это отличная идея! Я сам хотел предложить. Кто возьмется?
Создайте кто-нибудь, кому не лень, мы скопируем.



>
> Анализируя пристегнутый код письму могу только пока предложить вариант
> ответа к следующему вопросу
>
>  Кто-нибудь может ясно объяснить, почему для корректной работы он требует
> права root?
>
> Тут я немного схитрил, что б получить ответ.
> Рута запрашивает на
>  sd = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
>
> А стандартный системный ping - нет. Поэтому не долго думая, слил исходники
> пакета busybox (очень советую скачать всем, кто хочет в полной мере на
> примере изучать разработку  системного ПО) и начал сравнивать нашей
> реализации Ping с тем что представлено в нем.
>
> Сокет создается там примерно так же. Но идет проверка, что если сокет не
> создался, то идет проверка на права доступа со следующей припиской.
> ** We don't have root privileges.  Try SOCK_DGRAM instead.*
> *         * Linux needs net.ipv4.ping_group_range for this to work.*
> *         * MacOSX allows ICMP_ECHO, ICMP_TSTAMP or ICMP_MASKREQ*
> *         */*
> Гугл по запросу
>
>
> *ping_group_range Выдал такой результат. *
>
> Socket(2) is restricted to the group range specified in
> "/proc/sys/net/ipv4/ping_group_range" (or the owner of CAP_NET_RAW).  It
> is "1 0" by default, meaning that nobody except root may create ping
> sockets.  Setting it to "100 100" would gain permissions to the single
> group, "0 65535" would enable it for the world.
>
>
Интересно. Я пока глубоко в этот вопрос не погружался. Думал, что это
требуют все raw-сокеты.
Но с чем связанно требование к правам root?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernel-russian/attachments/20141122/4b9ccb17/attachment-0001.html 


More information about the Kernel-russian mailing list