モチベーション

Macで動作が安定したWiresharkwを使いたい

背景

以前からXを使ったWiresharkをMacで使っていたが,僕のインストールの仕方が悪いのか起動が遅かったり,突然落ちたりと不安定だった.不便だと感じていたので,調べてみるとQtを使ったWiresharkがHomebrewで員ストールできるようなのでインストールしてみる.

環境

  • OS: MacOSX Marvericks

既存のWiresharkをアンインストールする

やり方はWiresharkのアンインストール方法(Mac OS X)に則っておこなった. 注意点としては,通常のMacのアプリケーションアンインストール(Applicationディレクトリからゴミ箱にWiresharkを突っ込む方法)ではwiresharkへのシンボリックリンクが残ってしまうのでそれらはコマンドで消すこと.

# wiresharkのアプリをけす
Applcationディレクトリからゴミ箱にアプリを移動する

# Wiresharkアプリを消しただけで消えないデータを削除する
sudo dscl . -delete /Groups/access_bpf
sudo rm -rf /Library/StartupItems/ChmodBPF
sudo rm -rf ~/Library/Saved Application State/org.wireshark.Wireshark.savedState/
sudo rm ~/Library/Preferences/org.wireshark.Wireshark.plist

# シンボリックリンクを消す
sudo rm -rf /usr/local/bin/wireshark
sudo rm -rf /usr/local/bin/capinfos
sudo rm -rf /usr/local/bin/dftest
sudo rm -rf /usr/local/bin/dumpcap
sudo rm -rf /usr/local/bin/editcap
sudo rm -rf /usr/local/bin/mergecap
sudo rm -rf /usr/local/bin/randpkt
sudo rm -rf /usr/local/bin/rawshark
sudo rm -rf /usr/local/bin/text2pcap
sudo rm -rf /usr/local/bin/tshark

Wiresharkをインストールする

brew install qt
brew install wireshark --with-qt

基本的にはこれでOK.実行はsudo wireshark-qtでおこなう. 環境によってbrewで入れるパッケージが変わるかもしれないけど僕の環境だと,nettleとgmpを追加でインストールした.

# エラー内容
wireshark-qt
 dyld: Library not loaded: /usr/local/lib/libnettle.4.dylib
   Referenced from: /usr/local/lib/libgnutls.28.dylib
     Reason: image not found
     [1]    46725 trace trap  wireshark-qt
brew reinstall nettle

wireshark-qt
dyld: Library not loaded: /usr/local/lib/libgmp.10.dylib
  Referenced from: /usr/local/lib/libgnutls.28.dylib
    Reason: image not found
    [1]    47147 trace trap  wireshark-qt
brew reinstall gmp

参考