Skip to content

Windows

VMWareUser.exe プロセスを終了して、Windows ゲストの高負荷状態を回避する

普段は Mac 上で VMware Fusion3 を使っているのですが、ゲスト OS が Windows の場合だけ、なぜか高負荷になる場合があります。VMware Fusion なのかは分かりませんが、他の方も同じような事象に遭遇しているようです。

VMware の Knowledge Base を検索しても、それらしい事象を見つけられないのですが、これはゲスト の Windows OS 上で "VMwareUser.exe" プロセスを終了することで回避出来るようです。ただし、VMwareUser.exe プロセスはホスト 〜 ゲスト間でのドラッグ&ドロップや、クリップボード共有の機能を提供しているので、このプロセスを終了することでこれらの機能は利用出来なくなります。

Wlinee で擬似的にネットワークへ遅延やロスを発生させる

2004 年の書籍ですが、いまどきのソケットプログラミング―遊んで学ぶ、TCP/IPネットワークの奥義 をお書きになっている 波多さん 作の Wlinee を使うと、ネットワーク上で遅延やロスを発生させたり、帯域を一定の状態にポリシング出来ます。Wlinee を使うと、遅延やロスの多い、品質の悪い回線を Windows で手軽にエミュレート出来ますので、悪条件化でのネットワークテストを実施することが出来ます。Wlinee は下図のように、遅延やロスを挿入したい位置へ Wlinee PC を物理的に割り入れる(挟む)構成にして利用しますので、必然的にふたつの NIC がインストールされた Windows PC が必要となります。

file

今回は Windows XP SP3(32bit)環境に Wlinee をインストールしてみました。尚、波多さんは Wlinee 以前に Linux で動作する Linee もお書きになっています。

事前準備

Wlinee を動作させるには、以下のふたつが事前に必要となりますので、予めインストールしておきます。.NET Framework 3.5 であれば 2.0 を含んでいます(最新の 4.0 は下位バージョンを含んでいません)。

Wlinee のインストール

Wlinee は Sourceforge のプロジェクトページ からインストーラをダウンロード出来ます。インストーラがあるので、インストール自体は簡単です。.NET Framework 2.0 と WinPcap がインストールされていれば、起動するはずです。起動画面は以下の通りです。

file

トラフィック・ジェネレーター「D-ITG」を使う

フリーのトラフィック・ジェネレータは幾つかありますが、Linux でも Windows でも、どちらのプラットフォームでも使えるものに D-ITG があります。D-ITG はコマンドラインのツールですが、Java で書かれた GUI のラッパーも公開されています。

VisualStudio 2010 で emacs キーバインドを使うには

VisualStudio 2008 までは emacs キーバインドが利用出来たと思うのですが、VisualStudio 2010 からは利用出来なくなってしまいました。

file

しかし、The Visual Studio Blog でリリースがアナウンスされた Emacs emulation をインストールすると、VisualStudio 2010 で emacs キーバインドが利用出来るようになります。

file

ただし、残念ながら Express Edition でこのアドインを利用することは出来ません。

Windows 7 評価版でライセンス認証までの猶予期間を延長する

Windows 7 Enterprise 評価版 は最大 90 日まで利用出来るのですが、10 日入内にライセンス認証を実施する必要があります。期限内にライセンス認証を実施しない場合は以下のような制限があります。以下は Windows 7 Enterprise 評価版の「ご使用に関するガイドライン」から抜粋です。

Windows 向けにファイルやフォルダを圧縮するには

Mac でファイルやディレクトリを圧縮すると、「.DS_Store」という Windows ユーザにとっては不要なファイルが含まれてしまったり、文字化けが発生したりと不便です。しかし、MacWinZipper というツールを使うと、こういった問題が解消します。以下は MacWinZipper のホームページから抜粋です。

Macで作ったzipファイルをWindowsユーザーへ渡したときに起こる2大トラブル「余計なファイルの混入」「ファイル名の文字化け」を防いで、クリーンにzipアーカイブすることに特化したシンプルなアプリケーションです。

細かい設定も必要ありません。ファイルやフォルダを、アイコンへドラッグ&ドロップするだけの簡単操作。Dockに登録してお使いになると便利です。

もちろん作ったzipファイルはMacでもそのまま展開できます。その場合、Mac特有の付加情報であるリソースフォークなどは取り除かれています。(OS標準のアーカイブユーティリティのご使用を推奨します)

単に MacWinZipper をインストールしただけでも便利ですが、(Windows で右クリックして表示されるコンテキストメニューのように)右クリックして圧縮出来ると便利(かも)知れません。そこで、Automator を使って MacWinZipper を右クリックメニューに追加します。

NetworkMiner でパケットキャプチャデータからファイルを復元する

@IT の 第3回 「鍵は“J”の中にあるよ」CTF by ダークナイト解答編 という記事中で NetworkMiner というネットワークフォレンジックツールが紹介されていたので試してみました。NetworkMiner はインストール不要で、NetworkMiner.exe をダブルクリックすれば実行出来ます。

file

上部のドロップダウンリストからキャプチャしたいインターフェイスを選び、右側の「Start」ボタンを押せばキャプチャ開始です。キャプチャを終了するには、更に右側の「Stop」ボタンを押します。キャプチャ終了後は NetworkMiner.exe と同じディレクトリに AssembledFiles ディレクトリ(私の環境では「C:\Program Files\NetworkMiner-0.91\AssembledFiles」)が作成され、そのディレクトリ以下にホスト名ディレクトリ、プロトコル名ディレクトリが作成され(私の環境では「C:\Program Files\NetworkMiner-0.91\AssembledFiles\10.0.1.168\FTP - TCP 20」)、その中にキャプチャしたデータから復元されたファイルが保存されます。

Web ページをキャプチャーする

Google マップで超デカくて超細かい地図を印刷するという記事 で、Google Maps をキャプチャーするツールが紹介されていました。この記事をきっかけに、以前、Web ページをキャプチャーする(スクリーンショットを撮る)ツールを作っていたことを思い出しました。本来は BIG-IP 等、Web ブラウザからのアクセスを中心に設定する機器の設定画面(Web ページ)を証跡として残しておきたい、という動機から自作したのですが、知人が「Google Maps で、好きな大きさの地図をキャプチャー出来たら面白くない?」というアイデアがあり、当初の目的からは方向性が逸れていってしまいました...ついでに(?)、Google Maps 用に少し改造したのでアップロードしておきます。

  • WebCap-0.0.0.3

.NET Framework 3.5 でビルドしてあり、内部的には IE コンポーネントを利用して Web ページをキャプチャーしているので、レンダリング結果も IE と同じになっているはずです。以下のような特徴があります。

  • コマンドラインから利用出来るので、バッチファイルに組み込んで自動化しやすい
  • 縦長のページも問題無く、最上部から最下部までキャプチャー出来る
  • UserAgent を指定出来るので、「iPhone では、どう見えるのか?」といったテストが出来る
  • 様々な画像フォーマットで出力出来る
  • Google Maps をキャプチャーした場合は、上部の検索窓や左側のナビゲーションメニューを非表示にしてくれる

Synergy+ で Windows とキーボード・マウスを共有する

Mac と Windows を同時に使っていると、「キーボードとマウスを共有出来ると便利なのに」と思うことがありますが、Synergy+ を使うとこれを実現することが可能です。Snow Leopard で動作確認しています。

Synergy+ はクライアント・サーバモデルになっており、サーバ側にした端末のキーボードやマウスからクライアントを操作することになります。ただし、クライアント側に接続されているキーボードやマウスが無効になっているわけではありませんので、クライアントを自身のキーボードとマウスで操作することは可能です(クライアントからサーバを操作することは出来ません)。

余談ですが、Synergy+ はデフォルトで TCP/24800 ポートを利用する為、ファイアウォール等で通信制限を実施している場合は、先述のポートを許可しておく必要があります。