Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
tcconfig — Ein tc-Befehls-Wrapper. Erleichtert die Einrichtung von Netzwerkverkehrssteuerung (Bandbreite/Latenz/Paketverlust/Paketkorruption usw.) für eine Netzwerkschnittstelle oder einen Docker-Container (veth). | Kitploit
Tools/GitHubGitHub/thombashi/tcconfig
Allgemeine DienstprogrammeNetzwerksicherheitChaos-Engineering
GitHubthombashi/tcconfig

tcconfig

Ein tc-Befehls-Wrapper. Erleichtert die Einrichtung von Netzwerkverkehrssteuerung (Bandbreite/Latenz/Paketverlust/Paketkorruption usw.) für eine Netzwerkschnittstelle oder einen Docker-Container (veth).

Repository anzeigenWebseite
8539024vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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

Zusammenfassung

tcconfig <https://github.com/thombashi/tcconfig>__ ist ein Wrapper für den tc-Befehl. Er erleichtert die Einrichtung von Traffic Control für Netzwerkbandbreite/-latenz/-paketverlust/-paketkorruption usw. auf einer Netzwerkschnittstelle/einem Docker-Container (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-Paketversion

.. |Supported Python ver| image:: https://img.shields.io/pypi/pyversions/tcconfig.svg :target: https://pypi.org/project/tcconfig :alt: Unterstützte Python-Versionen

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

Traffic Control

Einrichtung von Traffic-Shaping-Regeln ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Einfaches Anwenden von Traffic-Shaping-Regeln auf bestimmte Netzwerke:

  • Ausgehende/Eingehende Pakete
  • Quell-/Ziel-IP-Adresse/Netzwerk (IPv4/IPv6)
  • Quell-/Ziel-Ports

Verfügbare Parameter ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Die folgenden Parameter können auf Netzwerkschnittstellen gesetzt werden:

  • Netzwerkbandbreitenrate [G/M/K bps]
  • Netzwerklatenz [Mikrosekunden/Millisekunden/Sekunden/Minuten]
  • Paketverlustrate [%]
  • Paketkorruptionsrate [%]
  • Paketduplikationsrate [%]
  • Paketumordnungsrate [%]
  • Paketlimitanzahl [COUNT]

Ziele ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Netzwerkschnittstellen: z.B. eth0
  • Docker-Container (veth entsprechend einem Container)

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

Verwendung

Traffic Control setzen (Befehl tcset)

tcset ist ein Befehl, um eine Traffic-Control-Regel zu einer Netzwerkschnittstelle (Gerät) hinzuzufügen.

z.B. Begrenzung der Bandbreite auf 100Kbps ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

z.B. Netzwerklatenz einstellen ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Sie können Zeiteinheiten (wie us/sec/min usw.) verwenden, um die Verzögerungszeit anzugeben.

100 Millisekunden Netzwerklatenz einstellen ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

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

10 Sekunden Netzwerklatenz einstellen ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

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

0,5 Minuten (30 Sekunden) Netzwerklatenz einstellen ''''''''''''''''''''''''''''''''''''''''''''''''''' .. code-block:: console

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

Sie können auch die folgenden Zeiteinheiten verwenden:

.. table::

root@kitploit:~
+----------------+----------------------------------------------------------+
|    Einheit     |                Verfügbare Bezeichner (str)               |
+================+==========================================================+
|Stunden         |``h``/``hour``/``hours``                                  |
+----------------+----------------------------------------------------------+
|Minuten         |``m``/``min``/``mins``/``minute``/``minutes``             |
+----------------+----------------------------------------------------------+
|Sekunden        |``s``/``sec``/``secs``/``second``/``seconds``             |
+----------------+----------------------------------------------------------+
|Millisekunden   |``ms``/``msec``/``msecs``/``millisecond``/``milliseconds``|
+----------------+----------------------------------------------------------+
|Mikrosekunden   |``us``/``usec``/``usecs``/``microsecond``/``microseconds``|
+----------------+----------------------------------------------------------+

z.B. 0,1% Paketverlust einstellen ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

z.B. Alle oben genannten Einstellungen auf einmal ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

z.B. IP-Adresse der Traffic Control angeben ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

z.B. IP-Netzwerk und Port der Traffic Control angeben ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console

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

Traffic Control für einen Docker-Container einstellen ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Führen Sie tcconfig mit der Option --docker auf einem Docker-Host aus:

.. code-block:: console

root@kitploit:~
# tcset <container name or ID> --docker ...

Sie können die Optionen --src-container/--dst-container verwenden, um den Quell-/Zielcontainer anzugeben.

Traffic Control innerhalb eines Docker-Containers einstellen ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Sie müssen einen Container mit der Option --cap-add NET_ADMIN ausführen, wenn Sie eine tc-Regel innerhalb eines Containers setzen möchten:

.. code-block:: console

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

Ein Container-Image mit integriertem tcconfig ist verfügbar unter https://hub.docker.com/r/thombashi/tcconfig/

Traffic Control löschen (Befehl tcdel)

tcdel ist ein Befehl, um Traffic-Shaping-Regeln von einer Netzwerkschnittstelle (Gerät) zu löschen.

z.B. Traffic Control von eth0 löschen ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Sie können alle Shaping-Regeln für eth0 mit der Option -a/--all löschen:

.. code-block:: console

root@kitploit:~
# tcdel eth0 --all

Traffic-Control-Konfigurationen anzeigen (Befehl tcshow)

tcshow ist ein Befehl, um die aktuellen Traffic-Control-Einstellungen für Netzwerkschnittstellen anzuzeigen.

Beispiel ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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

Weitere Informationen

Weitere Beispiele finden Sie unter https://tcconfig.rtfd.io/en/latest/pages/usage/index.html

Installation

Installation: pip

tcconfig kann über den Befehl pip <https://pip.pypa.io/en/stable/installing/>__ (Python-Paketmanager) von PyPI <https://pypi.python.org/pypi>__ installiert werden.

.. code:: console

root@kitploit:~
sudo pip install tcconfig

Installation: dpkg (Debian/Ubuntu)

.. code:: console

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

Abhängigkeiten

  • Python 3.9+
  • Python-Paketabhängigkeiten (automatisch installiert) <https://github.com/thombashi/tcconfig/network/dependencies>__

Linux-Pakete

  • erforderlich: wird für den Befehl tc benötigt:
    • Ubuntu/Debian: iproute2
    • Fedora/RHEL: iproute-tc
  • optional: erforderlich, wenn Sie die Option --iptables verwenden:
    • iptables

Linux-Kernel-Modul

  • sch_netem

Optionale Python-Pakete

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

Dokumentation

https://tcconfig.rtfd.io/

Fehlerbehebung

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

Docker-Image

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

Sponsoren

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

Werden Sie Sponsor <https://github.com/sponsors/thombashi>__

Tool herunterladen