Re: [Network] Простой ICMP запрос
Alex Naumov
alexander_naumov at opensuse.org
Fri Nov 21 08:45:42 EST 2014
На всякий случай отстальная часть кода
(к логике работы самого icmp не относится).
#include <error.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/utsname.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <stdio.h>
#include <resolv.h>
#include <netinet/ip_icmp.h>
#define PACKETSIZE 64
void usage()
{
printf("USAGE:\t prog_name <IP_address>\n");
exit(1);
}
int main(int argc, char *argv[])
{
if(argv[1] == NULL)
usage();
if (ping(argv[1]) > 0)
printf("PING\t\tOK\n");
else
printf("PING\t\tNO_ANSWER\n");
return 0;
}
2014-11-21 14:15 GMT+01:00 Alex Naumov <alexander_naumov at opensuse.org>:
> Всем привет.
>
> Начнем потихоньку? Вот [1] пример функции, которая отправляет 4 ICMP
> запроса (raw-сокет).
> В качестве аргумента передаем ей строку с IP адресом.
> Если получено больше одного ответа, то функция возвращает положительный
> ответ.
> Предпологается, что функция используется по аналогии с ping(8).
>
> Кто что думает об этом коде? Что можно улучшить?
>
> Мне вот интересно, сколько по-вашему стоит получить ответов, чтобы быть
> уверенным, что
> сеть работет без проблем и задержка с ответами не слишком большая?
>
> Кто-нибудь может ясно объяснить, почему для корректной работы он требует
> права root?
>
> Alex
>
>
> [1] http://goo.gl/2eAH4C
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernel-russian/attachments/20141121/2863b410/attachment.html
More information about the Kernel-russian
mailing list