컴퓨터가 아니라 앱 하나를 겨냥하기
대상이 없으면 지금 쓰고 있는 원격 데스크톱과 수정 사항 다운로드를 포함해 컴퓨터의 모든 연결이 영향을 받습니다. 대상이 있으면 프로세스 하나만 나쁜 네트워크를 받고 나머지는 그대로 진행됩니다.
프로세스로
Process 필드에 이름을 입력하거나 --target을 전달하세요. 이름만 쓰면 일부와 일치하므로 chrome은 chrome.exe를 포함합니다:
BeanNetworkTester.exe --loss 10 --target chrome.exe
프로세스 트리를 따라가므로 자식 프로세스를 만드는 프로그램에서 중요합니다. 브라우저는 탭마다 프로세스를 하나씩 열고 그것들도 영향을 받습니다.
이 필드에는 이름을 여러 개, 그리고 여러 종류를 한 번에 넣을 수 있습니다:
| 입력하는 것 | 의미 |
|---|---|
chrome.exe,firefox.exe | 애플리케이션 두 개. |
chrome,!chromedriver | Chrome이지만 드라이버는 절대 포함하지 않습니다. 제외가 우선합니다. |
my*.exe | “my”로 시작하는 모든 것. |
re:^node\.exe$ | 와일드카드로 부족할 때의 정규 표현식. |
4812 | 프로세스 ID 하나. |
>1000 | 1000보다 큰 모든 프로세스 ID. |
주소 또는 포트로
관심 대상이 앱이 아니라 서버 하나일 때도 있습니다. 같은 목록, 범위, 제외 구문을 받으며 CIDR과 IPv6를 이해합니다:
BeanNetworkTester.exe --latency 300 --dst-ip 10.0.0.0/24 --dst-port 443
BeanNetworkTester.exe --loss 20 --dst-port "!53"
두 번째 것은 알아 둘 만합니다. DNS를 뺀 모든 것입니다. 원하는 포트를 나열하기보다 어떤 포트에서 벗어나게 겨냥하는 편이 종종 더 쉽습니다.
이름으로 프로세스를 지정하면 재시작해도 유지됩니다
세션이 실행 중일 때 애플리케이션을 재시작하면 이름으로 지정한 대상은 새 프로세스를 다시 잡아냅니다. 프로세스 ID로 지정한 대상은 그럴 수 없습니다. 그 ID는 종료된 프로세스의 것이었기 때문입니다. 나중에 Windows가 같은 ID를 부여한 다른 프로그램도 영향을 받지 않습니다. 테스트가 대상 앱을 재시작한다면 이름으로 지정하세요.
무시하면 안 되는 경고
열화를 켠 채로 대상도 시간 제한도 없이 시작하면 창과 명령줄 모두 알립니다. 이 컴퓨터의 모든 연결에 영향을 줍니다. 거부가 아니라 경고입니다. 때로는 그것이 원하는 바이기도 합니다. 아니라면 대상이나 --duration을 지정하세요. STOP 버튼은 언제나 모든 것을 원래대로 돌려 놓습니다.