Punta a un’app, non alla macchina
Senza un bersaglio viene colpita ogni connessione del computer, compreso il desktop remoto che stai usando e il download della correzione. Con un bersaglio, un processo riceve la brutta rete e tutto il resto va avanti.
Per processo
Scrivi un nome in Process, oppure passa --target. Un nome semplice corrisponde come frammento, quindi chrome copre chrome.exe:
BeanNetworkTester.exe --loss 10 --target chrome.exe
Segue l’albero dei processi, cosa che conta per tutto ciò che genera processi figli: un browser apre un processo per scheda, e anche quelli vengono colpiti.
Il campo accetta più di un nome, e più di un tipo di cosa alla volta:
| Cosa scrivi | Cosa significa |
|---|---|
chrome.exe,firefox.exe | Due applicazioni. |
chrome,!chromedriver | Chrome, ma mai il driver. Le esclusioni vincono. |
my*.exe | Tutto ciò che inizia con «my». |
re:^node\.exe$ | Un’espressione regolare, quando un carattere jolly non basta. |
4812 | Un singolo ID di processo. |
>1000 | Ogni ID di processo sopra 1000. |
Per indirizzo o porta
A volte l’unità di interesse non è l’app ma un server. Queste opzioni accettano la stessa sintassi di elenco, intervallo ed esclusione, e capiscono CIDR e IPv6:
BeanNetworkTester.exe --latency 300 --dst-ip 10.0.0.0/24 --dst-port 443
BeanNetworkTester.exe --loss 20 --dst-port "!53"
La seconda vale la pena conoscerla: tutto tranne il DNS. Puntare lontano da una porta è spesso più facile che elencare quelle che vuoi.
Puntare a un processo per nome sopravvive al suo riavvio
Riavvia l’applicazione mentre una sessione è in corso e un bersaglio per nome ritrova il nuovo processo. Un bersaglio per ID di processo non può: l’ID apparteneva al processo che è uscito. Neppure un altro programma a cui Windows assegna poi lo stesso ID viene colpito. Se il tuo test riavvia ciò che è in prova, puntalo per nome.
L’avviso che non devi ignorare
Avvia con il degrado attivo, senza nulla da puntare e senza limite di tempo, e sia la finestra sia la riga di comando lo dicono: questo riguarda ogni connessione di questa macchina. È un avviso, non un rifiuto: a volte è esattamente ciò che vuoi. Se non lo è, imposta un bersaglio o un --duration, e STOP rimette sempre tutto a posto.