The OpenNET Project / Index page

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

Представлена утилита TrafficToll 1.0.0 для выборочного ограничения трафика приложений

28.01.2020 12:56

Опубликована утилита TrafficToll 1.0.0, позиционируемая как Linux-аналог проприетарной программы NetLimiter для Windows. Программа упрощает установку ограничения пропускной способности в разрезе отдельных локальных приложений, а также уже запущенных процессов. Например, можно урезать пропускную способность для программы загрузки файлов и увеличить для видеочата. Настройки определяются в простом текстовом файле конфигурации. Ограничение входящего и исходящего трафика производится при помощи модуля IFB (Intermediate Functional Block), который пришёл на смену iptables-модулю IMQ. Код написан на языке Python и распространяется под лицензией GPLv3.



  1. Главная ссылка к новости (https://www.reddit.com/r/linux...)
  2. OpenNews: В рамках проекта OpenSnitch развивается динамический межсетевой экран для Linux
  3. OpenNews: Выпуск SSF 3.0, инструментария для пробрасывания трафика через другой хост
  4. OpenNews: Компания Cloudflare опубликовала xdpcap, анализатор трафика на основе подсистемы XDP
  5. OpenNews: Выпуск анализатора трафика Zeek 3.0.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/52262-bandwidth
Ключевые слова: bandwidth, traffic, shaper
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (47) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:59, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Если кому надо просто мониторить трафик приложений - есть nethogs.
     
     
  • 2.8, ьтьитьит (?), 14:40, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    уныло, где аналоги Agnitum Outpost хотя бы по мониторингу?
     
     
  • 3.9, Аноним (9), 14:44, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >где аналоги Agnitum Outpost хотя бы

    Напиши, раз уныло тебе

     
  • 3.11, Аноним (11), 15:10, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    OpenSnitch смотрел?
     
  • 2.25, anonymous (??), 16:49, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё есть bandwhich, тоже умеет показывать трафик по процессам.
     

  • 1.2, Аноним (2), 13:45, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    NIH netbrake на питоне?
    Динамически менять скорость для уже запущенных приложух умеет?
     
     
  • 2.44, irlittz (?), 21:55, 29/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Netbreak doesn't allow you to adjust the bandwidth limits on-the-fly, while the process is running. Additionally you have to start the target application through it and it only works on glibc systems, nor can you group a bunch of different processes into a single filtering group.
     
     
  • 3.47, Аноним (47), 07:17, 30/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Netbreak doesn't allow you to adjust the bandwidth limits on-the-fly

    так я и спрашиваю - эта тулза умеет, или все тоже самое только на питоне?

     
     
  • 4.48, irlittz (?), 17:32, 30/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Yes of course it can, I thought I made that clear in my previous answer. The readme on the GitHub page also says exactly this, in the very first sentence:

    > TrafficToll allows you to limit download and upload bandwidth globally (per interface) and per process, even during the process' runtime.

     

  • 1.3, Аноним (3), 13:50, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Какая-то стрёмная питонообёртка к tc.
    https://github.com/cryzed/TrafficToll/blob/master/traffictoll/cli.py#L139
    Оно что, определяет, какие правила в tc нужно налепить, тупо по номеру локального порта из списка активных подключений процесса? ППЦ
     
     
  • 2.45, irlittz (?), 21:56, 29/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Yes, that's how it works. How else would you traffic-shape the bandwidth of a single application?
     

  • 1.4, Аноним (4), 14:08, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    man cbq
     
     
  • 2.46, irlittz (?), 21:57, 29/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    How does this allow you to limit the bandwidth of a single application specifically?
     
     
  • 3.49, NV (??), 17:15, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    You can check firejail. It implicitly use FShaper.sh script which use TC (man 8 tc)

    '''
                $ firejail --bandwidth=name|pid status

           where:
                name - sandbox name
                pid - sandbox pid
                network - network interface as used by --net option
                download - download speed in KB/s (kilobyte per second)
                upload - upload speed in KB/s (kilobyte per second)

           Example:
                $ firejail --name=mybrowser --net=eth0 firefox &
                $ firejail --bandwidth=mybrowser set eth0 80 20
                $ firejail --bandwidth=mybrowser status
                $ firejail --bandwidth=mybrowser clear eth0
    '''

     

  • 1.6, Онаним (?), 14:21, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У NetLimiter есть GUI который позволяет одной кнопкой ограничить/настроить лимиты. А у этого "аналога" что?
     
     
  • 2.37, Аноним (37), 19:17, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А он в линуксе работает?
     

  • 1.7, анонимус (??), 14:24, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Код написан на языке Python

    Давайте уже в букваре про пайтон рассказывать. Как говорил Ершов, "программирование - вторая грамотность".

     
     
  • 2.31, Аноним (31), 18:20, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> Код написан на языке Python
    > Давайте уже в букваре про пайтон рассказывать.

    Рассказ про Питон начинается так: "Великий сдвиг гласных (англ. Great Vowel Shift) — фонетическое изменение, произошедшее в английском языке в XIV—XV веках." https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BB

     

  • 1.10, Петр (??), 15:02, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Когда уже файрволл приложений на линукс подвезут...
     
     
  • 2.12, Аноним (1), 15:21, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А что, разве нет? Тот же Firewalld, например.
     
     
  • 3.18, Анонимун (?), 16:01, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С per application firewall грустно. А действительно не помешало бы.
     
     
  • 4.26, Аноним (3), 17:27, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Что насчёт AppAmor?
    https://gitlab.com/apparmor/apparmor/-/wikis/AppArmor_Core_Policy_Reference
     
     
  • 5.35, Ibel (?), 19:06, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    AppArmor не режет доступ к сети, у него там задокументированный баг, как я понял..
     
     
  • 6.40, Аноним (40), 23:03, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    firejail?
     
  • 2.19, n80 (?), 16:12, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Выше уже про OpenSnitch говорили, а ещё есть firejail (или bubblewrap, если топить за минимализм). Не могу сказать, что это прямо готовое решение, но хотя бы нетрудно допилить под свои нужды.
     

  • 1.13, Ньфаг (?), 15:40, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Как мне в Линуксе Телегу ограничить? Изолировать её от доступа к системе? Пусть тупо чатик будет.
    Как в Андроиде всякие Яндекс.Карты изолировать? Пусть тупо карты показывают а не пи@дят у меня с телефона всю инфу.
    ПОДСКОЖЫТИ КАГ ЭТА ЗДЕЛОТЬ!!!111адын.
    Спасибо.
     
     
  • 2.15, Анонимун (?), 15:54, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Как мне в Линуксе Телегу ограничить?

    Запускать в браузере (можно отдельном)

    >Как в Андроиде всякие Яндекс.Карты изолировать?

    Рутануть, поставить нормальный файервол. А дальше как-то с белым списком колдовать. Вангую: намучаешься с DNS>IP

     
  • 2.21, Аноним (1), 16:15, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Как мне в Линуксе Телегу ограничить? Изолировать её от доступа к системе? Пусть тупо чатик будет.

    Firejail.

     
  • 2.28, Shevchuk (ok), 17:41, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > в Линуксе

    Песочницы (Bubblewrap, Firejail, snap)

    > в Андроиде

    Lineage OS Privacy Guard / Trust, XPrivacyLua, Shelter

     
  • 2.29, Аноним (-), 17:44, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    lxc кури (к примеру, вот хороший гайд: https://stgraber.org/2014/02/09/lxc-1-0-gui-in-containers/ ). Лучшая, на мой взгляд, система изоляции - ввиду того что юзерфрендли-туториалов по настройке bubblewrap не завезли, firejail имеет захардкоженные белые списки, всякие докеры требуют рута (в lxc это требование опционально, только если хочешь привилегированные контейнеры - но это в 95% случаев оверкилл) а полноценные виртуалки шибко много жрут.
    Только с lxd не перепутай - тот велосипед от убунтоводов для "упрощенной настройки lxc" имеет долгоиграющий баг, позволяющий получить рута на хосте - и, судя по тому что этой дыре уже больше полугода - фиксить её никто не собирается: https://bugs.launchpad.net/ubuntu/+source/lxd/+bug/1829071
     
     
  • 3.39, Аноним (1), 19:41, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > firejail имеет захардкоженные белые списки

    Читали бы вы маны перед тем, как делать такие заявления.

     
  • 3.43, Аноним (43), 06:27, 29/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > имеет долгоиграющий баг, позволяющий получить рута на хосте

    при запуске эксплоита от группы с рут правами, по моему не похоже на баг.

     
  • 2.38, Аноним (38), 19:34, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    selinux/apparmor/cgroups/namespaces/qemu. обизолируйся по самое горло
     

  • 1.14, Ньфаг (?), 15:41, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как мне в Линуксе Телегу ограничить? Изолировать её от доступа к системе? Пусть тупо чатик будет.
    Как в Андроиде всякие Яндекс.Карты изолировать? Пусть тупо карты показывают а не пи@дят у меня с телефона всю инфу.
    ПОДСКОЖЫТИ КАГ ЭТА ЗДЕЛОТЬ!!!111адын.
    Спасибо.
     
     
  • 2.24, DeadMustdie (??), 16:45, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Как мне в Линуксе Телегу ограничить? Изолировать её от доступа к системе? Пусть тупо чатик будет.

    Запустить в контейнере, для параноиков - в виртуалке.

    > Как в Андроиде всякие Яндекс.Карты изолировать? Пусть тупо карты показывают а не пи@дят у меня с телефона всю инфу.

    Завести отдельный телефон, либо купить относительно дорогой телефон с функцией виртуализации - обычно в таких есть как минимум две области (рабочая и пользовательская).

     

  • 1.16, Анонимун (?), 15:58, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >можно урезать пропускную способность для программы загрузки файлов

    Обычно они сами умеют это делать. JDownloader, например. Про торренты молчу. И даже приоритет трафика задавать.
    Для браузера бы не помешало. У меня при полной утилизации полосы все остальные запросы жутко тормозят
    net.ipv4.tcp_congestion_control=yeah в /etc/sysctl.conf помогает, но не сильно. Но я в браузере редко качаю.

     
     
  • 2.17, Анонимун (?), 16:00, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >У меня при полной утилизации полосы все остальные запросы жутко тормозят

    Заворот в Tor еще помогает.

     

  • 1.20, Аноним (20), 16:13, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Целиком заблокировать трафик у приложения можно?
     
     
  • 2.23, АнонАнон (?), 16:43, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С этим справится любой фаервол
     
  • 2.27, Аноним (3), 17:31, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    AppArmor же
     
  • 2.30, Аноним (-), 17:47, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    это и в iptables можно - https://serverfault.com/questions/550276/how-to-block-internet-access-to-certa
     

  • 1.22, DeadMustdie (??), 16:42, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Тот ещё Traffic Troll...
     
  • 1.32, Нанобот (ok), 18:36, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    >Код написан на языке Python

    дайте угадаю: работает от рута, для всех настроек запускает бинарник /sbin/tc и не фильтрует пользовательский ввод

     
  • 1.33, Нонон (?), 18:50, 28/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Нужно было назвать TrafficTroll
     
     
  • 2.36, axredneck (?), 19:07, 28/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    TrafFig
     

  • 1.41, annual slayer (?), 00:00, 29/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    блин, сначала прочитал TragicTroll
     
  • 1.42, annual slayer (?), 00:01, 29/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а по теме, это же по сути просто QoS?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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