clumsy – ネットワークに弱い僕でも、Windows環境下でネットワーク遅延を簡単に再現したい

ITのお仕事

こんにちは。ネットワーク関係にはからきし弱い、サイ蜂です。

『からきし』って、文字にするとなんだか違和感ありますよね。ちなみに『からきし』には、漢字表記が無いらしいです。今日初めて知りました。ブログやっててよかった。

今日は、まだあまり遊べてないんですけど、clumsyってソフトウェアを紹介します。

clumsy, an utility for simulating broken network for Windows Vista / Windows 7 and above

ちなみにclumsyって、”不器用な”って意味らしいです。なんだか、好感が持てます。

clumsy とは 意味・読み方・表現 | Weblio英和辞書
1000万語収録!Weblio辞書 - clumsy とは【意味】不器用な,下手な... 【例文】a clumsy dancer... 「clumsy」の意味・例文・用例ならWeblio英和・和英辞書

何ができるの?

『ネットワークがイマイチな状態』を再現します。Linuxでいうclコマンドに相当するモノが、Windowsにも無いかなぁと探してたら、代わりに使えそうなのを見つけました。

遅延をms単位で指定して再現したり、パケットを破棄したり、ほかにもいろいろ(←よくわかってない)できます。

インストール不要・簡単操作なので、お気軽お気楽に使えますね。

ダウンロードしてみよう

clumsy, an utility for simulating broken network for Windows Vista / Windows 7 and above

実行してみよう

clumsy.exeを管理者権限で実行します。

・・・すると、メイン画面が開きます。

メイン画面って書いちゃったけど、この画面しかありません。潔い。わかりやすい。

f:id:cycle8b:20170720215635p:plain

試してみよう:wifiルーターへの通信を、300msくらい遅延させてみよう。

・・・いま、家で試せるのがこんなモノしかないので。すみませんね。会社でやるときは、特定のセグメントからのレスポンスを遅らせる・・・とか、読み替えてくださいね。

  • 我が家の安物wifiルーターのIPアドレスが[192.168.11.1]。
  • wifiルーターからの応答の受信を、300ms遅らせる。

設定

f:id:cycle8b:20170720222431p:plain

“Filtering”には、

ip.DstAddr == 192.168.11.1

て書きましたけど、設定の詳しいマニュアルはこちら

いろんなパターンの設定例はこちら

なにかしらのコードを書いた事がある人なら、それほど難解ではなさげ。

確認-設定前

確認-設定後

設定して、startボタンを押してから、もう一度ping。

たしかに、300msくらい遅れてますね。

試してみよう:wifiルーターへのパケットを、半分くらい廃棄してみよう

設定

f:id:cycle8b:20170720222759p:plain

“functions”の”Drop”にチェックを入れてます。”Chance(%)”は”50%”にします。

確認-設定前

・・・さっきと一緒ですけどね。

確認-設定後

75%ロスしてますが、4回しか送信してないので。このくらいのブレは当然ありますよね。

多分、回数を重ねれば、50%付近に収束すると思います。

他には?

冒頭にも書いたとおり、このへんからネットワークに弱いのが露呈してきますが。。。

他にも、こんな機能があります。

  • Throttele: ・・・マニュアル見てもわからん。
  • Duplicate:複製したパケットを送受信する。
  • Out of order: 順序を並び替える。
  • Tampoer: 改ざんする。

・・・意味、違ってたらすみません。

もうこの辺になると、どんな時にこの現象が起きて、起きるとどんな影響があるのか、よくわかりません。

もうちょっとネットワークの勉強した方がいいなぁ。

・・・って言い続けて10ン年ですけど。

まとめ

まとめると、clumsyは、こんな感じ。

  • インストール不要。気楽に使える。
  • 簡単操作、簡単設定で遅延を再現。パケットのロスも再現。
  • フィルター機能も充実。任意のパケットに対して設定できる。
  • ネットワークに不勉強でも、それなりに使える。
  • けど、やっぱり詳しい人の方が、もっと使える。

この記事は以上です。

コメント

  1. 増木 より:

    貴重な情報提供ありがとうございます。ただ、clumsyを利用しても、PC上でパケットロス発生などがうまく実現できていないようです。可能であれば、コメント頂きたいと希望しております。
    <質問内容>IPアドレス=[192.168.11.1]のルータを想定して、Filtering箇所に、ip.DstAddr == 192.168.11.1と記載することは理解できました。しかし、ルータなどを意識せずに、単に自分のPCに入ってくるパケットロスを発生させたいと考えております。この時、Filtering箇所に、マニュアルをみながら、”inbound”, “inbound and outboud”などいくつかの表現を記載してみましたが、うまくいきません。
     そもそも、デフォルトで記載されている127.0.0.1の値の意味や単にclumy.exeを実行するだけでよいのか?という点も疑問です。
     ご面倒をおかけしますが、コメント頂けると幸いに存じます。

  2. 増木 より:

    度々すいません。先ほど質問させて頂いた者です。まず、127.0.0.1は、TCP/IP上で自分自身を表す特殊なアドレスであることを確認しました。
     次に、Filteringの件ですが、presets欄において、all receiving packetsを選択すれば、自動的に、Filtering欄にinboundが表示され、PCに流入するパケットロスを発生できることが確認できました(精度には問題がありそうですが)。presets欄でlocal host ipv4 all等を選択した時にうまくいかない事象などは理解できませんが、とりあえず、最低限度の目的は実現できそうです。改めて情報提供の件、御礼申し上げます。

タイトルとURLをコピーしました