Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
tcconfig — Обёртка для команды tc. Упрощает настройку управления трафиком (пропускная способность сети, задержка, потеря пакетов, искажение пакетов и т.д.) для сетевого интерфейса / Docker-контейнера (veth). | Kitploit
Инструменты/GitHubGitHub/thombashi/tcconfig
Утилиты общего назначенияСетевая безопасностьИнженерия Хаоса
GitHubthombashi/tcconfig

tcconfig

Обёртка для команды tc. Упрощает настройку управления трафиком (пропускная способность сети, задержка, потеря пакетов, искажение пакетов и т.д.) для сетевого интерфейса / Docker-контейнера (veth).

РепозиторийСайт
85390241 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

.. contents:: tcconfig :backlinks: top :depth: 2

Сводка

tcconfig <https://github.com/thombashi/tcconfig>__ — это обёртка для команды tc. Упрощает настройку контроля трафика пропускной способности сети/задержки/потери пакетов/повреждения пакетов и т.д. для сетевого интерфейса или Docker-контейнера (veth).

|PyPI pkg ver| |Supported Python ver| |CI status| |CodeQL|

.. |PyPI pkg ver| image:: https://badge.fury.io/py/tcconfig.svg :target: https://badge.fury.io/py/tcconfig :alt: PyPI package version

.. |Supported Python ver| image:: https://img.shields.io/pypi/pyversions/tcconfig.svg :target: https://pypi.org/project/tcconfig :alt: Supported Python versions

.. |CI status| image:: https://github.com/thombashi/tcconfig/actions/workflows/ci.yml/badge.svg :target: https://github.com/thombashi/tcconfig/actions/workflows/ci.yml :alt: Test CI status

.. |CodeQL| image:: https://github.com/thombashi/tcconfig/actions/workflows/build_and_release.yml/badge.svg :target: https://github.com/thombashi/tcconfig/actions/workflows/build_and_release.yml :alt: Build CI status

Контроль трафика

Настройка правил формирования трафика ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Легко применять правила формирования трафика к конкретным сетям:

  • Исходящие/входящие пакеты
  • IP-адрес/сеть источника/назначения (IPv4/IPv6)
  • Порты источника/назначения

Доступные параметры ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Для сетевых интерфейсов можно задать следующие параметры:

  • Пропускная способность сети [G/M/K бит/с]
  • Задержка сети [микросекунды/миллисекунды/секунды/минуты]
  • Процент потери пакетов [%]
  • Процент повреждения пакетов [%]
  • Процент дублирования пакетов [%]
  • Процент переупорядочивания пакетов [%]
  • Лимит количества пакетов [ЧИСЛО]

Цели ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Сетевые интерфейсы: например eth0
  • Docker-контейнер (veth, соответствующий контейнеру)

.. image:: docs/gif/tcset_example.gif

Использование

Установка контроля трафика (команда tcset)

tcset — это команда для добавления правила контроля трафика к сетевому интерфейсу (устройству).

Пример: ограничение пропускной способности до 100 Кбит/с ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

# tcset eth0 --rate 100Kbps

Пример: установка задержки сети ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Вы можете использовать единицы времени (например, us/sec/min и т.д.) для указания времени задержки.

Установка задержки сети 100 миллисекунд ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

# tcset eth0 --delay 100ms

Установка задержки сети 10 секунд ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

# tcset eth0 --delay 10sec

Установка задержки сети 0,5 минуты (30 секунд) ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

# tcset eth0 --delay 0.5min

Вы также можете использовать следующие единицы времени:

.. table::

+------------+----------------------------------------------------------+
|   Единица  |            Допустимые спецификаторы (строка)            |
+============+==========================================================+
|часы        |``h``/``hour``/``hours``                                  |
+------------+----------------------------------------------------------+
|минуты      |``m``/``min``/``mins``/``minute``/``minutes``             |
+------------+----------------------------------------------------------+
|секунды     |``s``/``sec``/``secs``/``second``/``seconds``             |
+------------+----------------------------------------------------------+
|миллисекунды|``ms``/``msec``/``msecs``/``millisecond``/``milliseconds``|
+------------+----------------------------------------------------------+
|микросекунды|``us``/``usec``/``usecs``/``microsecond``/``microseconds``|
+------------+----------------------------------------------------------+

Пример: 0,1% потери пакетов ^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

# tcset eth0 --loss 0.1%

Пример: все вышеперечисленные настройки сразу ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

# tcset eth0 --rate 100Kbps --delay 100ms --loss 0.1%

Пример: указание IP-адреса для контроля трафика ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

# tcset eth0 --delay 100ms --network 192.168.0.10

Пример: указание IP-сети и порта для контроля трафика ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

# tcset eth0 --delay 100ms --network 192.168.0.0/24 --port 80

Установка контроля трафика для Docker-контейнера ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Выполните tcconfig с опцией --docker на Docker-хосте:

.. code-block:: console

# tcset <имя или ID контейнера> --docker ...

Вы можете использовать опции --src-container/--dst-container для указания контейнера-источника/назначения.

Установка контроля трафика внутри Docker-контейнера ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Вам нужно запустить контейнер с опцией --cap-add NET_ADMIN, если вы хотите установить правило tc внутри контейнера:

.. code-block:: console

docker run -d --cap-add NET_ADMIN -t <docker-образ>

Образ контейнера со встроенным tcconfig доступен на https://hub.docker.com/r/thombashi/tcconfig/

Удаление контроля трафика (команда tcdel)

tcdel — это команда для удаления правил формирования трафика с сетевого интерфейса (устройства).

Пример: удаление контроля трафика для eth0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Вы можете удалить все правила формирования для eth0 с помощью опции -a/--all:

.. code-block:: console

# tcdel eth0 --all

Отображение конфигураций контроля трафика (команда tcshow)

tcshow — это команда для отображения текущих настроек контроля трафика для сетевого интерфейса (интерфейсов).

Пример ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code-block:: console

# tcset eth0 --delay 10ms --delay-distro 2  --loss 0.01% --rate 0.25Mbps --network 192.168.0.10 --port 8080
# tcset eth0 --delay 1ms --loss 0.02% --rate 500Kbps --direction incoming
# tcshow eth0
{
    "eth0": {
        "outgoing": {
            "dst-network=192.168.0.10/32, dst-port=8080, protocol=ip": {
                "filter_id": "800::800",
                "delay": "10.0ms",
                "delay-distro": "2.0ms",
                "loss": "0.01%",
                "rate": "250Kbps"
            }
        },
        "incoming": {
            "protocol=ip": {
                "filter_id": "800::800",
                "delay": "1.0ms",
                "loss": "0.02%",
                "rate": "500Kbps"
            }
        }
    }
}

Дополнительная информация

Больше примеров доступно на https://tcconfig.rtfd.io/en/latest/pages/usage/index.html

Установка

Установка: pip

tcconfig можно установить из PyPI <https://pypi.python.org/pypi>__ с помощью команды pip <https://pip.pypa.io/en/stable/installing/>__ (менеджер пакетов Python).

.. code:: console

sudo pip install tcconfig

Установка: dpkg (Debian/Ubuntu)

.. code:: console

curl -sSL https://raw.githubusercontent.com/thombashi/tcconfig/master/scripts/installer.sh | sudo bash

Зависимости

  • Python 3.9+
  • Зависимости пакетов Python (устанавливаются автоматически) <https://github.com/thombashi/tcconfig/network/dependencies>__
Скачать инструмент