Eine App anvisieren, nicht den Rechner
Ohne Ziel ist jede Verbindung auf dem Rechner betroffen, auch die Remote-Desktop-Sitzung, die du gerade nutzt, und der Download des Fixes. Mit einem Ziel bekommt ein Prozess das schlechte Netzwerk, und alles andere läuft weiter.
Nach Prozess
Tippe einen Namen in Process oder übergib --target. Ein bloßer Name passt als Fragment, sodass chrome auch chrome.exe abdeckt:
BeanNetworkTester.exe --loss 10 --target chrome.exe
Es folgt dem Prozessbaum, was bei allem wichtig ist, das Kindprozesse startet: Ein Browser öffnet einen Prozess pro Tab, und auch diese werden getroffen.
Das Feld nimmt mehr als einen Namen und mehr als eine Art von Angabe zugleich:
| Was du eintippst | Was es bedeutet |
|---|---|
chrome.exe,firefox.exe | Zwei Anwendungen. |
chrome,!chromedriver | Chrome, aber nie den Treiber. Ausschlüsse haben Vorrang. |
my*.exe | Alles, was mit „my“ beginnt. |
re:^node\.exe$ | Ein regulärer Ausdruck, wenn ein Platzhalter nicht reicht. |
4812 | Eine einzelne Prozess-ID. |
>1000 | Jede Prozess-ID über 1000. |
Nach Adresse oder Port
Manchmal ist nicht die App die interessante Einheit, sondern ein Server. Diese Optionen nehmen dieselbe Listen-, Bereichs- und Ausschlusssyntax und verstehen CIDR und IPv6:
BeanNetworkTester.exe --latency 300 --dst-ip 10.0.0.0/24 --dst-port 443
BeanNetworkTester.exe --loss 20 --dst-port "!53"
Das zweite Beispiel solltest du kennen: alles außer DNS. Sich von einem Port abzuwenden, ist oft einfacher, als die gewünschten aufzulisten.
Ein Prozess, der per Name anvisiert wird, übersteht seinen Neustart
Starte die Anwendung während einer laufenden Sitzung neu, und ein Ziel per Name findet den neuen Prozess wieder. Ein Ziel per Prozess-ID kann das nicht: Die ID gehörte dem beendeten Prozess. Ein anderes Programm, dem Windows später dieselbe ID gibt, ist ebenfalls nicht betroffen. Wenn dein Test das Testobjekt neu startet, visiere es per Name an.
Die Warnung, die du nicht ignorieren solltest
Starte mit eingeschalteter Störung, ohne Ziel und ohne Zeitlimit, und sowohl das Fenster als auch die Befehlszeile sagen es dir: Das betrifft jede Verbindung auf diesem Rechner. Es ist eine Warnung, keine Weigerung, denn manchmal ist genau das gewollt. Wenn nicht, setze ein Ziel oder ein --duration, und STOP stellt immer alles wieder her.