Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
tcconfig — Un envoltorio del comando tc. Facilita la configuración del control de tráfico de ancho de banda/latencia/pérdida de paquetes/corrupción de paquetes/etc. a una interfaz de red/contenedor Docker(veth). | Kitploit
Herramientas/GitHubGitHub/thombashi/tcconfig
Utilidades de Propósito GeneralSeguridad de RedesIngeniería del Caos
GitHubthombashi/tcconfig

tcconfig

Un envoltorio del comando tc. Facilita la configuración del control de tráfico de ancho de banda/latencia/pérdida de paquetes/corrupción de paquetes/etc. a una interfaz de red/contenedor Docker(veth).

Ver RepositorioSitio web
85390hace 4 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

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

Resumen

tcconfig <https://github.com/thombashi/tcconfig>__ es un envoltorio del comando tc. Facilita la configuración del control de tráfico de ancho de banda/latencia/pérdida de paquetes/corrupción de paquetes/etc. en una interfaz de red/contenedor 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

Control de tráfico

Configurar reglas de modelado de tráfico ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fácil de aplicar reglas de modelado de tráfico a redes específicas:

  • Paquetes salientes/entrantes
  • Dirección IP/red de origen/destino (IPv4/IPv6)
  • Puertos de origen/destino

Parámetros disponibles ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Se pueden establecer los siguientes parámetros en las interfaces de red:

  • Tasa de ancho de banda de red [G/M/K bps]
  • Latencia de red [microsegundos/milisegundos/segundos/minutos]
  • Tasa de pérdida de paquetes [%]
  • Tasa de corrupción de paquetes [%]
  • Tasa de duplicación de paquetes [%]
  • Tasa de reordenamiento de paquetes [%]
  • Límite de paquetes [CONTEO]

Objetivos ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Interfaces de red: p. ej. eth0
  • Contenedor Docker (veth correspondiente a un contenedor)

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

Uso

Establecer control de tráfico (comando tcset)

tcset es un comando para agregar una regla de control de tráfico a una interfaz de red (dispositivo).

p. ej. Establecer un límite de ancho de banda de hasta 100Kbps ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

root@kitploit:~
# tcset eth0 --rate 100Kbps

p. ej. Establecer latencia de red ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Puede usar unidades de tiempo (como us/sec/min/etc.) para designar el tiempo de retardo.

Establecer 100 milisegundos de latencia de red ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

root@kitploit:~
# tcset eth0 --delay 100ms

Establecer 10 segundos de latencia de red ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

root@kitploit:~
# tcset eth0 --delay 10sec

Establecer 0.5 minutos (30 segundos) de latencia de red ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

root@kitploit:~
# tcset eth0 --delay 0.5min

También puede usar las siguientes unidades de tiempo:

.. table::

root@kitploit:~
+------------+----------------------------------------------------------+
|   Unidad   |             Especificadores disponibles (str)             |
+============+==========================================================+
|horas       |``h``/``hour``/``hours``                                  |
+------------+----------------------------------------------------------+
|minutos     |``m``/``min``/``mins``/``minute``/``minutes``             |
+------------+----------------------------------------------------------+
|segundos    |``s``/``sec``/``secs``/``second``/``seconds``             |
+------------+----------------------------------------------------------+
|milisegundos|``ms``/``msec``/``msecs``/``millisecond``/``milliseconds``|
+------------+----------------------------------------------------------+
|microsegundos|``us``/``usec``/``usecs``/``microsecond``/``microseconds``|
+------------+----------------------------------------------------------+

p. ej. Establecer 0.1% de pérdida de paquetes ^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

root@kitploit:~
# tcset eth0 --loss 0.1%

p. ej. Todas las configuraciones anteriores a la vez ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

root@kitploit:~
# tcset eth0 --rate 100Kbps --delay 100ms --loss 0.1%

p. ej. Especificar la dirección IP del control de tráfico ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

root@kitploit:~
# tcset eth0 --delay 100ms --network 192.168.0.10

p. ej. Especificar la red IP y el puerto del control de tráfico ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

root@kitploit:~
# tcset eth0 --delay 100ms --network 192.168.0.0/24 --port 80

Establecer control de tráfico a un contenedor Docker ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ejecute tcconfig con la opción --docker en un host Docker:

.. code-block:: console

root@kitploit:~
# tcset <nombre o ID del contenedor> --docker ...

Puede usar las opciones --src-container/--dst-container para especificar el contenedor de origen/destino.

Establecer control de tráfico dentro de un contenedor Docker ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Debe ejecutar un contenedor con la opción --cap-add NET_ADMIN si desea establecer una regla tc dentro de un contenedor:

.. code-block:: console

root@kitploit:~
docker run -d --cap-add NET_ADMIN -t <imagen Docker>

Una imagen de contenedor que incluye tcconfig está disponible en https://hub.docker.com/r/thombashi/tcconfig/

Eliminar control de tráfico (comando tcdel)

tcdel es un comando para eliminar reglas de modelado de tráfico de una interfaz de red (dispositivo).

p. ej. Eliminar control de tráfico de eth0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Puede eliminar todas las reglas de modelado para eth0 con la opción -a/--all:

.. code-block:: console

root@kitploit:~
# tcdel eth0 --all

Mostrar configuraciones de control de tráfico (comando tcshow)

tcshow es un comando para mostrar la configuración actual de control de tráfico de una o más interfaces de red.

Ejemplo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code-block:: console

root@kitploit:~
# 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"
            }
        }
    }
}

Para más información

Hay más ejemplos disponibles en https://tcconfig.rtfd.io/en/latest/pages/usage/index.html

Instalación

Instalación: pip

tcconfig se puede instalar desde PyPI <https://pypi.python.org/pypi>__ mediante el comando pip <https://pip.pypa.io/en/stable/installing/>__ (gestor de paquetes de Python).

.. code:: console

root@kitploit:~
sudo pip install tcconfig

Instalación: dpkg (Debian/Ubuntu)

.. code:: console

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

Dependencias

  • Python 3.9+
  • Dependencias de paquetes de Python (se instalan automáticamente) <https://github.com/thombashi/tcconfig/network/dependencies>__

Paquetes de Linux

  • obligatorio: requerido para el comando tc:
    • Ubuntu/Debian: iproute2
    • Fedora/RHEL: iproute-tc
  • opcional: requerido cuando se usa la opción --iptables:
    • iptables

Módulo del kernel de Linux

  • sch_netem

Paquetes opcionales de Python

  • Pygments <http://pygments.org/>__

Documentación

https://tcconfig.rtfd.io/

Solución de problemas

https://tcconfig.rtfd.io/en/latest/pages/troubleshooting.html

Imagen Docker

https://hub.docker.com/r/thombashi/tcconfig/

Patrocinadores

|chasbecker| |shiguredo| |b4tman| |Arturi0| |github|

.. |chasbecker| image:: https://avatars.githubusercontent.com/u/44389260?s=48&u=6da7176e51ae2654bcfd22564772ef8a3bb22318&v=4 :target: https://github.com/chasbecker :alt: ex-patrocinador: Charles Becker (chasbecker) .. |shiguredo| image:: https://avatars.githubusercontent.com/u/2549434?s=48&v=4 :target: https://github.com/shiguredo :alt: ex-patrocinador: 時雨堂 (shiguredo) .. |b4tman| image:: https://avatars.githubusercontent.com/u/3658062?s=48&v=4 :target: https://github.com/b4tman :alt: único: Dmitry Belyaev (b4tman) .. |Arturi0| image:: https://avatars.githubusercontent.com/u/46711571?s=48&u=57687c0e02d5d6e8eeaf9177f7b7af4c9f275eb5&v=4 :target: https://github.com/Arturi0 :alt: único: Arturi0 .. |github| image:: https://avatars.githubusercontent.com/u/9919?s=48&v=4 :target: https://github.com/github :alt: único: GitHub (github)

Conviértete en patrocinador <https://github.com/sponsors/thombashi>__

Descargar herramienta