Windows용 Clumsy 대안
Clumsy는 대부분의 사람이 가장 먼저 찾게 되는 도구이며 훌륭합니다. 무료이고, MIT 라이선스이며, 대화형이고, 이 도구와 같은 WinDivert 드라이버 위에 만들어졌습니다. 필요한 것을 해 준다면 그것을 쓰세요. 이 페이지는 그렇지 않은 경우를 다룹니다.
무엇을 고르든 살펴볼 점
| 질문 | 왜 도구 선택을 좌우하는가 |
|---|---|
| 앱 하나만 대상으로 삼을 수 있나요? | 그렇지 않으면 작업 중인 컴퓨터 전체, 즉 원격 세션과 문서를 읽는 브라우저까지 열화됩니다. |
| 명령줄이 있나요? | 파이프라인은 체크박스를 클릭할 수 없습니다. 명령줄이 없으면 네트워크 테스트는 빌드의 일부가 될 수 없습니다. |
| 실행이 반복 가능한가요? | 재생할 수 없는 무작위 손실은 다른 사람이 재현할 수 없는 버그 리포트를 낳습니다. |
| 스스로 멈추나요? | 끄는 것을 직접 기억해야 하는 도구는 켜진 채로 방치됩니다. |
| 실제로 무엇을 했는지 알 수 있나요? | 카운터와 연결 목록이 “느린 것 같다”를 숫자로 바꿔 줍니다. |
이 도구가 더하는 것
- 프로세스, PID, 주소, 포트로 대상 지정이 가능하고 프로세스 트리를 따라가므로, 자식 프로세스가 서른 개인 브라우저도 하나의 대상입니다.
- 같은 실행 파일이 곧 명령줄이며 모든 결과에 종료 코드가 있고 NDJSON 출력을 지원하므로 CI에서 동작합니다.
- 시드 기반 실행: 같은 시드는 같은 무작위 손실과 지터를 재생합니다.
- 준비된 프로필: 3G, LTE, 위성, 붐비는 카페, 기내 와이파이, 56k 모뎀 등이 있어 숫자를 짐작하는 대신 그럴듯한 값에서 시작합니다.
- 시간 지정 세션과 스크립트 시나리오로, 앱을 지켜보는 동안 열화가 스스로 바뀝니다.
- 실시간 보기: 차트, 카운터, 어떤 연결이 영향을 받았는지 보여 주는 연결 표.
- 영어, 폴란드어, 중국어 간체 인터페이스를 제공하며 어떤 종류의 텔레메트리도 없습니다.
다른 도구에서 오셨다면
이 주제가 나올 때마다 네 가지 이름이 등장하며, 서로 대체할 수 있는 것은 아닙니다.
| 알고 계신 것 | 무엇인가 | 여기서 기대할 점 |
|---|---|---|
| netem을 쓰는 tc | 커널에 내장되어 명령줄로 다루는 Linux의 답입니다. WAN 에뮬레이션을 검색하면 흔히 나오는 것입니다. | Windows에는 tc가 없습니다. 이 도구가 정신적으로 가장 가깝습니다. 같은 종류의 열화, 종료 코드가 있는 명령줄, 큐잉 규율 대신 드라이버를 씁니다. |
| Clumsy | 같은 WinDivert 드라이버 위의 무료 MIT 라이선스 대화형 Windows 도구입니다. | 창과 필터만 있으면 충분할 때 쓰세요. 프로세스별 대상 지정, 시드 기반 실행, 파이프라인이 호출할 수 있는 명령줄이 필요하면 이쪽으로 오세요. |
| NetLimiter | 애플리케이션별 대역폭을 상시 관리하는 상용 Windows 제품입니다. | 용도가 다릅니다. 이 도구는 테스트 계측기입니다. 잠시 켰다가 끄며, 속도보다 훨씬 많은 것을 열화시킵니다. |
| Fiddler 또는 Charles | 지나가는 트래픽을 검사하고, 고쳐 쓰고, 속도를 제한할 수 있는 프록시입니다. | 이것도 용도가 다릅니다. 프록시는 자신이 중계하는 것을 가공하며 데이터를 봅니다. 이 도구는 UDP와 프록시를 아예 거치지 않는 모든 것을 포함해 연결 자체를 가공합니다. |
솔직히 말하면, 명령줄이 있는 Windows 애플리케이션 하나용 네트워크 에뮬레이터가 필요하다면 이 도구가 찾던 종류입니다. 애플리케이션 데이터를 읽고 바꾸고 싶다면 프록시가 필요하고, Linux라면 이미 netem이 있습니다.
다른 도구를 써야 할 때
이 점을 솔직히 밝히는 편이 실망스러운 다운로드보다 저렴합니다.
- Linux나 macOS를 사용합니다. 이 도구는 Windows 전용이며 앞으로도 그렇습니다. Windows 드라이버 위에 만들어졌기 때문입니다. Linux에서는
tc와netem이 표준 해법이며 추가 소프트웨어가 필요 없습니다. - 컴퓨터 전체에 대한 상시 대역폭 관리가 필요합니다. 테스트가 아닌 제품 기능으로서 애플리케이션별로 관리하려는 경우입니다. NetLimiter 같은 상용 트래픽 셰이핑 도구가 그 용도입니다. 이 도구는 테스트 계측기로, 잠시 켰다가 끄도록 만들어졌습니다.
- 관리자 권한을 얻을 수 없습니다. 패킷 캡처에는 필요합니다. 우회할 방법은 없으며, 그렇지 않다고 주장하는 도구는 트래픽을 캡처하지 않는 것입니다.
- 애플리케이션 데이터를 검사하고 고쳐 써야 한다면 링크를 열화시키는 도구는 맞지 않습니다. 그것은 프록시의 일입니다.