So simulieren Sie Paketverluste bei einer SSH-Verbindung mit SCP

So simulieren Sie Paketverluste bei einer SSH-Verbindung mit SCP

Ich möchte die Haltbarkeit eines neuen VPN-Tunnelprotokolls namens wireGuard in einer instabilen Netzwerkumgebung auf sowohl macOS- als auch Linux-Plattformen beobachten, wenn ein großer Datenblock von einem Knoten zu einem anderen übertragen wird.

Beachten Sie, dass wireGuard unter UDP funktioniert, und ich wollte ein Gefühl dafür bekommen, wie es bis zu einem gewissen Grad mit Paketverlusten umgeht.

Gibt es eine Methode, mit der die Netzwerkschnittstelle so eingestellt werden kann, dass während dieser Remote-Kopiersitzung ein bestimmter Prozentsatz der Pakete gelöscht wird?

Antwort1

Für Linux mit iptablesetwa:

iptables -A OUTPUT -m statistic --mode random --probability 0.02 -j DROP

oder

iptables -A INPUT -m statistic --mode random --probability 0.02 -j DROP

Anmerkungen:

  • Die obigen Befehle wirken sich auf alle Pakete aus, die von der OUTPUT(bzw. INPUT) Kette der Tabelle verarbeitet werden. Sie werden wahrscheinlich (Protokoll) und z. B. (Zielport) filterverwenden wollen, um nur bestimmte Verbindungen anzusprechen:-p--dport

    iptables -A OUTPUT -p udp --dport 1234 -m …
    
  • Denken Sie beim Testen verschiedener Varianten daran, nicht benötigte Regeln zu entfernen, anstatt sie zu stapeln. Um eine Regel zu entfernen, rufen Sie denselben iptables …Befehl auf, aber mit -Danstelle von -A.


Ich weiß nicht nftablesgenau genug Bescheid. Ich habe Folgendes gefunden:Wie werden Pakete basierend auf einer Wahrscheinlichkeit mit gelöscht nftables?


Ich kenne macOS nichtüberhaupt. Bei meinen Recherchen bin ich pfctlauf Folgendes dnctlgestoßen:So lassen Sie Pakete nach dem Zufallsprinzip fallen. Ich weiß absolut nicht, ob das dnctlin der Antwort verwendete Wort heutzutage auch in macOS verwendet werden kann. Tut mir leid.

Verschieben des "macOS-Teils" in eine separate Frage (die meines Erachtens gestellt werden kann aufapple.stackexchange.com), wobei es eine gute Strategie sein kann, hier nur den „Linux-Teil“ zu belassen.

verwandte Informationen