Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
tcconfig — Um wrapper do comando tc. Facilita a configuração de controle de tráfego de largura de banda/latência/perda de pacotes/corrupção de pacotes/etc. para uma interface de rede/container Docker (veth). | Kitploit
Ferramentas/GitHubGitHub/thombashi/tcconfig
Utilitários de Propósito GeralSegurança de RedeEngenharia do Caos
GitHubthombashi/tcconfig

tcconfig

Um wrapper do comando tc. Facilita a configuração de controle de tráfego de largura de banda/latência/perda de pacotes/corrupção de pacotes/etc. para uma interface de rede/container Docker (veth).

Ver RepositórioSite
8539010há 4 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

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

Resumo

tcconfig <https://github.com/thombashi/tcconfig>__ é um wrapper do comando tc. Facilita a configuração do controle de tráfego de largura de banda/latência/perda de pacotes/corrupção de pacotes/etc. para uma interface de rede/container 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

Controle de tráfego

Configurar regras de modelagem de tráfego ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Fácil de aplicar regras de modelagem de tráfego a redes específicas:

  • Pacotes de saída/entrada
  • Endereço IP/rede de origem/destino (IPv4/IPv6)
  • Portas de origem/destino

Parâmetros disponíveis ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Os seguintes parâmetros podem ser definidos para interfaces de rede:

  • Taxa de largura de banda de rede [G/M/K bps]
  • Latência de rede [microseconds/milliseconds/seconds/minutes]
  • Taxa de perda de pacotes [%]
  • Taxa de corrupção de pacotes [%]
  • Taxa de duplicação de pacotes [%]
  • Taxa de reordenação de pacotes [%]
  • Contagem de limite de pacotes [COUNT]

Alvos ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Interfaces de rede: ex. eth0
  • Container Docker (veth correspondente a um container)

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

Uso

Definir controle de tráfego (comando tcset)

tcset é um comando para adicionar uma regra de controle de tráfego a uma interface de rede (dispositivo).

Exemplo: Definir um limite de largura de banda de até 100Kbps ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

Exemplo: Definir latência de rede ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Você pode usar unidades de tempo (como us/sec/min/etc.) para designar o tempo de atraso.

Definir 100 milissegundos de latência de rede ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

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

Definir 10 segundos de latência de rede ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

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

Definir 0,5 minuto (30 segundos) de latência de rede ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

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

Você também pode usar as seguintes unidades de tempo:

.. table::

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

Exemplo: Definir 0,1% de perda de pacotes ^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

Exemplo: Todas as configurações acima de uma vez ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

Exemplo: Especificar o endereço IP do controle de tráfego ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

Exemplo: Especificar a rede IP e a porta do controle de tráfego ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

Definir controle de tráfego para um container Docker ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Execute tcconfig com a opção --docker em um host Docker:

.. code-block:: console

root@kitploit:~
# tcset <nome ou ID do container> --docker ...

Você pode usar as opções --src-container/--dst-container para especificar o container de origem/destino.

Definir controle de tráfego dentro de um container Docker ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Você precisa executar um container com a opção --cap-add NET_ADMIN se desejar definir uma regra tc dentro de um container:

.. code-block:: console

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

Uma imagem de container com tcconfig integrado está disponível em https://hub.docker.com/r/thombashi/tcconfig/

Excluir controle de tráfego (comando tcdel)

tcdel é um comando para excluir regras de modelagem de tráfego de uma interface de rede (dispositivo).

Exemplo: Excluir controle de tráfego de eth0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Você pode excluir todas as regras de modelagem para eth0 com a opção -a/--all:

.. code-block:: console

root@kitploit:~
# tcdel eth0 --all

Exibir configurações de controle de tráfego (comando tcshow)

tcshow é um comando para exibir as configurações atuais de controle de tráfego para interface(s) de rede.

Exemplo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. 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 mais informações

Mais exemplos estão disponíveis em https://tcconfig.rtfd.io/en/latest/pages/usage/index.html

Instalação

Instalação: pip

tcconfig pode ser instalado a partir do PyPI <https://pypi.python.org/pypi>__ através do comando pip <https://pip.pypa.io/en/stable/installing/>__ (gerenciador de pacotes Python).

.. code:: console

root@kitploit:~
sudo pip install tcconfig

Instalação: dpkg (Debian/Ubuntu)

.. code:: console

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

Dependências

  • Python 3.9+
  • Dependências de pacotes Python (instaladas automaticamente) <https://github.com/thombashi/tcconfig/network/dependencies>__

Pacotes Linux

  • obrigatório: necessário para o comando tc:
    • Ubuntu/Debian: iproute2
    • Fedora/RHEL: iproute-tc
  • opcional: necessário quando você usa a opção --iptables:
    • iptables

Módulo do kernel Linux

  • sch_netem

Pacotes Python opcionais

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

Documentação

https://tcconfig.rtfd.io/

Solução de problemas

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

Imagem 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-sponsor: Charles Becker (chasbecker) .. |shiguredo| image:: https://avatars.githubusercontent.com/u/2549434?s=48&v=4 :target: https://github.com/shiguredo :alt: ex-sponsor: 時雨堂 (shiguredo) .. |b4tman| image:: https://avatars.githubusercontent.com/u/3658062?s=48&v=4 :target: https://github.com/b4tman :alt: onetime: Dmitry Belyaev (b4tman) .. |Arturi0| image:: https://avatars.githubusercontent.com/u/46711571?s=48&u=57687c0e02d5d6e8eeaf9177f7b7af4c9f275eb5&v=4 :target: https://github.com/Arturi0 :alt: onetime: Arturi0 .. |github| image:: https://avatars.githubusercontent.com/u/9919?s=48&v=4 :target: https://github.com/github :alt: onetime: GitHub (github)

Torne-se um patrocinador <https://github.com/sponsors/thombashi>__

Baixar ferramenta