Ubuntu 18.04でWireshark 3.0をソースからビルドしてインストールする。
この記事に書いてあること
気付いたらいろいろ変わっていた
いつから変わったのか調べてはいませんが、Wiresharkのビルドシステムがautoconf/configureベースからcmakeに変更されていました。
ついでにQt5を使うようになっていました。
Ubuntu 18.04にインストールしようとしたら、地味に依存関係を探すのが面倒だったので、備忘録として残しておきます。
ソースコードのダウンロード
https://www.wireshark.org/download.htmlからソースコードをダウンロードできます。
依存ライブラリなどのインストール
$ sudo apt install cmake flex bison libgcrypt20-dev libssh-dev libpcap-dev libsystemd-dev qtbase5-dev qttools5-dev qtmultimedia5-dev libqt5svg5-dev
コンパイラ等はすでにインストールされている前提です。
しかしQt系のパッケージの銘々はいったいどういうルールになっているのでしょうか・・・・・・
ソースコードの展開とビルド・インストール
$ tar xvf wireshark-3.0.0.tar.xz $ cd wireshark-3.0.0 $ cmake . $ make -j4 $ sudo make install
かつてconfigureしていた代わりにcmakeを使います。
make -jNのNはプロセッサコア数などに合わせて調整してください。
root以外のユーザーでキャプチャ可能にする
基本的には
https://wiki.wireshark.org/CaptureSetup/CapturePrivileges#Other_Linux_based_systems_or_other_installation_methodsの手順でOKです。
キャプチャ権限を持ったwiresharkグループを作り、ユーザーをwiresharkグループに登録する形です。
$ sudo groupadd wireshark $ sudo gpasswd -a $USER wireshark $ sudo chmod u+s /usr/local/bin/dumpcap $ sudo setcap cap_net_raw,cap_net_admin+eip /usr/local/bin/dumpcap
必要に応じて、いったんログアウトしてください。
さて、これで行けるかと思いきや、wiresharkを実行するとインターフェースの一覧が出てきませんでした。
直接dumpcapを実行するとライブラリがロードできないというエラーが出ます。そこで、
$ sudo ldconfig
してやると、無事にwiresharkグループ所属のユーザーがキャプチャできるようになりました。