Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Статистика трафика на порту сервера 
V
    Опции темы
andrew_121
Дата 17.11.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 3
Всего: 33



Все привет.

Как узнать/подсчитать входящую/исходящую скорость и трафик на определенном порту сервера?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
null56
Дата 17.11.2009, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 4
Всего: 12



написать свой снифер, который будет поддерживать эту возможность или использовать готовый

Это сообщение отредактировал(а) null56 - 17.11.2009, 15:41
PM MAIL   Вверх
andrew_121
Дата 17.11.2009, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 3
Всего: 33



null56, А средствами Linux OS, никак?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
null56
Дата 17.11.2009, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 4
Всего: 12



не скажу сразу про такие мониторы, чтобы узнать, что у меня творится на интерфейсах я использую wireshark, tcpdump... но я не уверен, что в них есть возможность подсчета скорости, просто ни разу этого не делал
PM MAIL   Вверх
MAKCim
Дата 17.11.2009, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



iptables не катит?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 17.11.2009, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 3
Всего: 33



MAKCim, Подходит. Но как ее подключить к программе? Интерфейса вроде бы нет.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 17.11.2009, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



andrew_121, 
интерфейс есть ;) (iptables же взаимодействует с ядром)
Код

getsockopt(fd, IPPROTO_IP, IPT_SO_GET_ENTRIES, &entries, &size); 



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 17.11.2009, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 3
Всего: 33



Цитата(MAKCim @  17.11.2009,  19:10 Найти цитируемый пост)
getsockopt(fd, IPPROTO_IP, IPT_SO_GET_ENTRIES, &entries, &size);

Не знал что это так делается smile Нужно ознакомиться с материалами из соседней темы ;)


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
null56
Дата 17.11.2009, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 4
Всего: 12



а вот в man 7 ip, я про значение IPT_SO_GET_ENTRIES для уровня IPPROTO_IP не нашел
PM MAIL   Вверх
MAKCim
Дата 17.11.2009, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



null56, 
это linux-specific
так что может не быть


Цитата(andrew_121 @  17.11.2009,  19:24 Найти цитируемый пост)
Не знал что это так делается

для затравки ;)
Код

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <net/if.h>
#include <unistd.h>
#include <errno.h>
#include <linux/netfilter_ipv4/ip_tables.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
    int fd;
    socklen_t len;
    struct ipt_getinfo ipt_getinfo;
    int error;

    memset(&ipt_getinfo, 0, sizeof(ipt_getinfo));

    strcpy(ipt_getinfo.name, "filter");

    error = -1;

    if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
    {
        printf("socket() failed [%s]\n", strerror(errno));
        return -1;
    }

    len = sizeof(ipt_getinfo);

    if (getsockopt(fd, IPPROTO_IP, IPT_SO_GET_INFO, &ipt_getinfo, &len))
    {
        printf("getsockopt() failed [%s]\n", strerror(errno));
        goto error_fd;
    }

    printf("valid hooks [%u] num entries [%u] size [%u]\n", ipt_getinfo.valid_hooks, ipt_getinfo.num_entries, ipt_getinfo.size);

    error = 0;

error_fd:
    close(fd);

    return error;
}

после того как size получили дергаем getsockopt() c IPT_SO_GET_ENTRIES
ищем нужный хук и смотрим счетчики
но это уже самостоятельно ;)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
null56
Дата 17.11.2009, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 4
Всего: 12



MAKCim, а впаять эту возможность в линух нужно при сборке ядра? или как?
PM MAIL   Вверх
andrew_121
Дата 17.11.2009, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 3
Всего: 33



MAKCim, Спасибо за пример!


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 17.11.2009, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(null56 @  17.11.2009,  19:45 Найти цитируемый пост)
а впаять эту возможность в линух нужно при сборке ядра? или как? 

нужно включить netfilter/iptables
в большинстве дистрибутивных ядрах оно уже есть по-умолчанию


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
null56
Дата 17.11.2009, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 4
Всего: 12



MAKCim, не... я к тому что достаточно просто, чтобы netfilter был включен... я - то сам активно использую iptables на сервере, просто думал, что какой - то параметр ядра нужен для того, чтобы были доступны интерфейсы, как в случае с параметрами limit и прочее... пытался создать правило, а мне хрен... забыл включить в ядре этот параметр в разделе netfilter....
дистрибутив gentoo, поэтому приходится делать всё ручками...
спасибо за то, что просвятил по интерфейсам iptables, сам бы недодумался

Это сообщение отредактировал(а) null56 - 17.11.2009, 22:56
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0519 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.