Mire em um aplicativo, não na máquina
Sem um alvo, toda conexão do computador é afetada, inclusive a área de trabalho remota que você está usando e o download da correção. Com um alvo, um processo recebe a rede ruim e todo o resto segue.
Por processo
Digite um nome em Process ou passe --target. Um nome simples casa como fragmento, então chrome cobre chrome.exe:
BeanNetworkTester.exe --loss 10 --target chrome.exe
Ele segue a árvore de processos, o que importa para qualquer coisa que gera filhos: um navegador abre um processo por aba, e esses também são atingidos.
O campo aceita mais de um nome, e mais de um tipo de coisa ao mesmo tempo:
| O que você digita | O que significa |
|---|---|
chrome.exe,firefox.exe | Dois aplicativos. |
chrome,!chromedriver | Chrome, mas nunca o driver. As exclusões vencem. |
my*.exe | Tudo que começa com “my”. |
re:^node\.exe$ | Uma expressão regular, quando um curinga não basta. |
4812 | Um único ID de processo. |
>1000 | Todos os IDs de processo acima de 1000. |
Por endereço ou porta
Às vezes a unidade de interesse não é o aplicativo, é um servidor. Estas opções aceitam a mesma sintaxe de lista, intervalo e exclusão, e entendem CIDR e IPv6:
BeanNetworkTester.exe --latency 300 --dst-ip 10.0.0.0/24 --dst-port 443
BeanNetworkTester.exe --loss 20 --dst-port "!53"
A segunda vale conhecer: tudo, exceto DNS. Mirar longe de uma porta costuma ser mais fácil do que listar as que você quer.
Mirar um processo por nome sobrevive à reinicialização dele
Reinicie o aplicativo enquanto uma sessão roda e um alvo por nome reencontra o novo processo. Um alvo por ID de processo não consegue: o ID pertencia ao processo que saiu. Outro programa a quem o Windows der o mesmo ID depois também não é afetado. Se o seu teste reinicia o que está sob teste, mire por nome.
O aviso que você não deve ignorar
Comece com a degradação ligada, sem nada para mirar e sem limite de tempo, e tanto a janela quanto a linha de comando avisam: isto afeta todas as conexões desta máquina. É um aviso, não uma recusa: às vezes é exatamente o que você quer. Se não for, defina um alvo ou um --duration, e STOP sempre devolve tudo ao normal.