The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как  из программы посчитать траффик на интерфейсах"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как  из программы посчитать траффик на интерфейсах" 
Сообщение от dimus emailИскать по авторуВ закладки(??) on 17-Янв-05, 12:32  (MSK)
Интересно, какими путями можно из программы на С/С++ узнать, сколько байт прошло через локальный сетевой интерфейс, не вызывая для этой цели каких-либо внешних программ. Описание одного варианта я нашел на этом форуме - автор переводил карту в беспорядочный режим и ловил пакеты пакетным сокетом. Однако за iptables я такого не замечал, а статистику они считают. Как они это делают и можно ли получить доступ к их данным? Какие еще способы подсчета возможны? Заранее спасибо.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как  из программы посчитать траффик на интерфейсах" 
Сообщение от sproot Искать по авторуВ закладки(ok) on 17-Янв-05, 14:26  (MSK)
>Интересно, какими путями можно из программы на С/С++ узнать, сколько байт прошло
>через локальный сетевой интерфейс, не вызывая для этой цели каких-либо внешних
>программ. Описание одного варианта я нашел на этом форуме - автор
>переводил карту в беспорядочный режим и ловил пакеты пакетным сокетом. Однако
>за iptables я такого не замечал, а статистику они считают. Как
>они это делают и можно ли получить доступ к их данным?
>Какие еще способы подсчета возможны? Заранее спасибо.

Может быть читать через /proc/net ?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Какиз программы посчитать траффик на интерфейсах" 
Сообщение от dimus emailИскать по авторуВ закладки(??) on 18-Янв-05, 08:12  (MSK)
Неплохая идея, тем более там много всякой статистики. А как еще можно?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Какиз программы посчитать траффик на интерфейсах" 
Сообщение от sproot Искать по авторуВ закладки(ok) on 18-Янв-05, 09:28  (MSK)
>Неплохая идея, тем более там много всякой статистики. А как еще можно?
>
можно посмотреть иходники сетевых системных утилит и там чего нибудь раскопать.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Какиз программы посчитать траффик на интерфейсах" 
Сообщение от sproot Искать по авторуВ закладки(ok) on 18-Янв-05, 09:33  (MSK)
>>Неплохая идея, тем более там много всякой статистики. А как еще можно?
>>
>можно посмотреть иходники сетевых системных утилит и там чего нибудь раскопать.
а вообще смотри в сторону DLPI, BPF и SOCK_PACKET

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Какиз программы посчитать траффик на интерфейсах" 
Сообщение от dimus emailИскать по авторуВ закладки(??) on 19-Янв-05, 07:28  (MSK)
А еще какие нибудь идеи есть. Я рылся в заголовочных файлах и в одном из них наткнулся на структуру(название вылетело из головы), где фигурировали входящий и исходящий траффик. Но функцию, которая с ней работает, я так и не нашел. Наверняка где-то что-то есть.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Какиз программы посчитать траффик на интерфейсах" 
Сообщение от sas emailИскать по авторуВ закладки(ok) on 19-Янв-05, 09:26  (MSK)
>А еще какие нибудь идеи есть. Я рылся в заголовочных файлах и
>в одном из них наткнулся на структуру(название вылетело из головы), где
>фигурировали входящий и исходящий траффик. Но функцию, которая с ней работает,
>я так и не нашел. Наверняка где-то что-то есть.

Взгляните на
http://www.ftlinuxcourse.com/FTLC_Complete/ExternalContribs/FTeBooks/Linux_Device_Drives2/ch14.html

искать net_device_stats

Удачи
--- sas

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Какиз программы посчитать траффик на интерфейсах" 
Сообщение от dimus Искать по авторуВ закладки(??) on 19-Янв-05, 12:10  (MSK)
Спасибо!
Точно, именно на эту структуру я наткнулся, когда рылся в исходниках. Но я так толком и не понял, как к ней получить доступ из программы ( наверное иногда я очень туго соображаю :) ). А не знаете ли вы чего-нибудь на эту тему на великом и могучем? А то бывает, что трудно точно врубиться в смысл буржуинских манов :)
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Какиз программы посчитать траффик на интерфейсах" 
Сообщение от sas emailИскать по авторуВ закладки(ok) on 19-Янв-05, 14:18  (MSK)
>Спасибо!
>Точно, именно на эту структуру я наткнулся, когда рылся в исходниках. Но
>я так толком и не понял, как к ней получить доступ
>из программы ( наверное иногда я очень туго соображаю :) ).
>А не знаете ли вы чего-нибудь на эту тему на великом
>и могучем? А то бывает, что трудно точно врубиться в смысл
>буржуинских манов :)

Все это предназначено для использования внутри ядра, т,е, Вам надо написать собственный модуль.

Читайте уже упомянутую книгу и смотрите на другие драйверы Вашего ядра и т.д.

удачи
---    sas

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Как  из программы посчитать траффик на интерфейсах" 
Сообщение от chip emailИскать по авторуВ закладки(ok) on 19-Янв-05, 20:14  (MSK)
>Интересно, какими путями можно из программы на С/С++ узнать, сколько байт прошло
>через локальный сетевой интерфейс, не вызывая для этой цели каких-либо внешних
>программ. Описание одного варианта я нашел на этом форуме - автор
>переводил карту в беспорядочный режим и ловил пакеты пакетным сокетом. Однако
>за iptables я такого не замечал, а статистику они считают. Как
>они это делают и можно ли получить доступ к их данным?
>Какие еще способы подсчета возможны? Заранее спасибо.

Если не ошибаюсь, с помощью libiptc (библиотека из поставки iptables) можно снимать статистику с netfilter. Естественно, если последний включен в ядро. Посмотри повнимательнее на http://www.netfilter.org/


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру