Windows 7でWiresharkを使う設定
ラボのVMware ServerにWindows 7ゲストが入ったので、さっそくWiresharkをインストール。起動したら、いきなりエラーが出た。
The NPF driver isn't running. You may have trouble capturing or listing interfaces.
パケットフィルタドライバが動いてないと言っている。ネット検索するとすぐに対処方法が分かった。
WinPcapのインストール時に、システム起動時にNPFドライバを開始するようにチェックボックスをオンにする。デフォルトでオンになっているはず。私は起動時の負荷を減らそうと、XPの時からオフにすることにしていたので、このエラーに出くわしてしまった。
システム起動時にドライバを開始しない設定の場合は、次のコマンドを実行する。コマンドプロンプトを管理者権限で実行しておく必要がある。
- sc start npf (手動でドライバを開始)
- sc config npf start=auto (次回からは自動開始する設定)
つまり、Wireshark本体が非管理者ユーザで動くので、パケットフィルタドライバを開始できないのだろう。ずっとXPを使ってきてVistaをすっ飛ばしたので、権限周りで戸惑いそうだ。
コマンドプロンプトを管理者権限で実行するには、スタートメニューの「プログラムとファイルの検索」に「cmd」を入力し、検索結果の「cmd.exe」 を右クリック。そして「管理者として実行」を選ぶ。Ctrl-Shift-Enterでもよい。あるいはプログラム一覧をたどってコマンドプロンプトを探 して右クリックする。こっちはCtrl-Shift-Enterが効かない。
これでWiresharkは動くようになったのだが、ときどきWindows 7がフリーズしてしまう。pingには応答するしマウスも動くが、何も操作できない。Windows 2003ゲストでは問題ない。類似事例が見つからないということは、私の環境に何かあるのだろうと思って調べたら、トリガーが分かった。
キャプチャしたパケットをリアルタイムで画面に表示し、かつ自動スクロールしていると起きる。画面更新の処理が追いつかないなど、ディスプレイドライバあたりの問題のようだ。似たようなフリーズをWindows 3.1やWindows 95でよく経験した。Capture Optionsの「Update list of packets in realtime」をオフにすれば回避できる。パケットをキャプチャできているかどうか不安なときは、「Hide capture info dialog」をオフにすればよい。Preference→Captureでこの設定をデフォルトにできる。
以前のWiresharkは、リアルタイムのパケット表示をせず、Capture infoダイアログを表示するのがデフォルトだったと思う。PCの性能が上がって、リアルタイム更新で問題ないと判断して仕様を変更したのだろうか。
(参考文献)
NPF driver Problem in Windowns 7
http://ask.wireshark.org/questions/1281/npf-driver-problem-in-windowns-7
Platform-Specific information about capture privileges
http://wiki.wireshark.org/CaptureSetup/CapturePrivileges#windows
Run a Command as Administrator from the Windows 7 / Vista Run box
http://www.howtogeek.com/howto/windows-vista/run-a-command-as-administrator-from-the-windows-vista-run-box/
| 固定リンク
この記事へのコメントは終了しました。
コメント
> ・ sc config npf start=auto (次回からは自動開始する設定)
autoと=の間にスペースが必要です。
オプション:
注意: オプション名には等号が含まれています。
等号と値の間にはスペースが必要です。
投稿: | 2015年9月 4日 09時24分