Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
tcconfig — Un wrapper per il comando tc. Rende facile configurare il controllo del traffico di banda/latenza/perdita di pacchetti/corruzione di pacchetti/ecc. su un'interfaccia di rete/contenitore Docker (veth). | Kitploit
Strumenti/GitHubGitHub/thombashi/tcconfig
Utilità GenericheSicurezza di ReteIngegneria del Caos
GitHubthombashi/tcconfig

tcconfig

Un wrapper per il comando tc. Rende facile configurare il controllo del traffico di banda/latenza/perdita di pacchetti/corruzione di pacchetti/ecc. su un'interfaccia di rete/contenitore Docker (veth).

Vedi RepositorySito web
853904 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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

Sommario

tcconfig <https://github.com/thombashi/tcconfig>__ è un wrapper per il comando tc. Semplifica l'impostazione del controllo del traffico di rete (larghezza di banda/latenza/perdita di pacchetti/corruzione di pacchetti/ecc.) per un'interfaccia di rete/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

Controllo del traffico

Impostazione delle regole di shaping del traffico ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Facile da applicare regole di shaping del traffico a reti specifiche:

  • Pacchetti in uscita/in entrata
  • Indirizzo IP/rete sorgente/destinazione (IPv4/IPv6)
  • Porte sorgente/destinazione

Parametri disponibili ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I seguenti parametri possono essere impostati sulle interfacce di rete:

  • Velocità della larghezza di banda di rete [G/M/K bps]
  • Latenza di rete [microsecondi/millisecondi/secondi/minuti]
  • Tasso di perdita di pacchetti [%]
  • Tasso di corruzione dei pacchetti [%]
  • Tasso di duplicazione dei pacchetti [%]
  • Tasso di riordino dei pacchetti [%]
  • Conteggio limite di pacchetti [COUNT]

Destinazioni ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Interfacce di rete: es. eth0
  • Container Docker (veth corrispondente a un container)

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

Utilizzo

Imposta il controllo del traffico (comando tcset)

tcset è un comando per aggiungere una regola di controllo del traffico a un'interfaccia di rete (dispositivo).

es. Imposta un limite sulla larghezza di banda fino a 100Kbps ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

es. Imposta la latenza di rete ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Puoi utilizzare unità di tempo (come us/sec/min/ecc.) per designare il tempo di ritardo.

Imposta 100 millisecondi di latenza di rete ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

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

Imposta 10 secondi di latenza di rete ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

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

Imposta 0.5 minuti (30 secondi) di latenza di rete ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

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

Puoi anche utilizzare le seguenti unità di tempo:

.. table::

root@kitploit:~
+------------+----------------------------------------------------------+
|    Unità   |                Specificatori disponibili (str)                |
+============+==========================================================+
|ore         |``h``/``hour``/``hours``                                  |
+------------+----------------------------------------------------------+
|minuti      |``m``/``min``/``mins``/``minute``/``minutes``             |
+------------+----------------------------------------------------------+
|secondi     |``s``/``sec``/``secs``/``second``/``seconds``             |
+------------+----------------------------------------------------------+
|millisecondi|``ms``/``msec``/``msecs``/``millisecond``/``milliseconds``|
+------------+----------------------------------------------------------+
|microsecondi|``us``/``usec``/``usecs``/``microsecond``/``microseconds``|
+------------+----------------------------------------------------------+

es. Imposta 0.1% di perdita di pacchetti ^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

es. Tutte le impostazioni precedenti contemporaneamente ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

es. Specifica l'indirizzo IP del controllo del traffico ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

es. Specifica la rete IP e la porta del controllo del traffico ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

Imposta il controllo del traffico su un container Docker ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Esegui tcconfig con l'opzione --docker su un host Docker:

.. code-block:: console

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

Puoi utilizzare le opzioni --src-container/--dst-container per specificare il container sorgente/destinazione.

Imposta il controllo del traffico all'interno di un container Docker ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ È necessario eseguire un container con l'opzione --cap-add NET_ADMIN se si desidera impostare una regola tc all'interno di un container:

.. code-block:: console

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

Un'immagine container con tcconfig integrato è disponibile su https://hub.docker.com/r/thombashi/tcconfig/

Elimina il controllo del traffico (comando tcdel)

tcdel è un comando per eliminare le regole di shaping del traffico da un'interfaccia di rete (dispositivo).

es. Elimina il controllo del traffico di eth0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Puoi eliminare tutte le regole di shaping per eth0 con l'opzione -a/--all:

.. code-block:: console

root@kitploit:~
# tcdel eth0 --all

Visualizza le configurazioni del controllo del traffico (comando tcshow)

tcshow è un comando per visualizzare le impostazioni correnti del controllo del traffico per una o più interfacce di rete.

Esempio ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. 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"
            }
        }
    }
}

Per maggiori informazioni

Maggiori esempi sono disponibili su https://tcconfig.rtfd.io/en/latest/pages/usage/index.html

Installazione

Installazione: pip

tcconfig può essere installato da PyPI <https://pypi.python.org/pypi>__ tramite il comando pip <https://pip.pypa.io/en/stable/installing/>__ (gestore di pacchetti Python).

.. code:: console

root@kitploit:~
sudo pip install tcconfig

Installazione: dpkg (Debian/Ubuntu)

.. code:: console

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

Dipendenze

  • Python 3.9+
  • Dipendenze dei pacchetti Python (installate automaticamente) <https://github.com/thombashi/tcconfig/network/dependencies>__

Pacchetti Linux

  • obbligatorio: richiesto per il comando tc:
    • Ubuntu/Debian: iproute2
    • Fedora/RHEL: iproute-tc
  • opzionale: richiesto quando si utilizza l'opzione --iptables:
    • iptables

Modulo del kernel Linux

  • sch_netem

Pacchetti Python opzionali

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

Documentazione

https://tcconfig.rtfd.io/

Risoluzione dei problemi

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

Immagine Docker

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

Sponsor

|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)

Diventa uno sponsor <https://github.com/sponsors/thombashi>__

Scarica lo strumento