Wireshark(ワイヤシャーク)は、ネットワーク・アナライザです。
ネットワーク通信のデータをグラフィカルな画面で確認出来るので、ネットワーク通信を解析する上でとても便利なソフトウェアです。 1988年 Ethereal と呼ばれるソフトとしてリリースされましたが、商標の問題で Wireshark と名称が変更され、 今では、Riverbed社がスポンサーとなり開発が継続されており、Linux 上でネットワークの解析を行う上でのデファクトスタンダートとして利用されています。
GUI が使用できないサーバ環境のネットワーク・アナライザとして tcpdump というコマンドがあります。 Wireshark は、tcpdump の実行結果をインポートする事ができ、さらにWindows版 Mac OS版もリリースされているので さまざまな環境で収集したデータをマルチプラットフォームで解析出来るのです。 Ubuntu の Wireshark は、gtk版とqt版の2つが存在しますが、今回は gtk版を使って使用方法紹介します。
Wireshark のインストールは以下のコマンドより行います。
$ sudo apt install wireshark-gtk
インストール中に、root以外のユーザでもパケットのキャプチャが出来るかどうかを問われるので「はい」を選択します。
その後、Wireshark を利用するユーザを wireshark グループに加えてマシンを再起動します。
$ sudo addgroup username wireshark
$ sudo reboot
再起動後、Dashのホーム検索よりwiresharkと入力してWiresharkを起動します。 起動後、キャプチャするインターフェイスを選択し、[Start a new live capture] ボタンをクリックするとキャプチャがスタートし、 [Stop the running live capture]をクリックするとキャプチャがストップします。
その後、[Save this capture file]をクリックするとキャプチャデータを保存できます。 ネットワークの知識が明るく無い場合、このデータをネットワーク管理者に送れば原因を究明してくれるかもしれません。
GUI 環境がないクラウドサーバ上の場合、tcpdump コマンドを使ってネットワークの情報をキャプチャします。
以下のように tcpdum コマンドを実行するとキャプチャデータをファイルに保存してくれます。
$ sudo tcpdump -i ifname(eth0, enp0s3 など) -w filename
そのファイルを Wireshark の[Open a capture file…]より読み込ませることができます。
キャプチャオプションを選択することにより、キャプチャするデータにフィルタリングをかけることもできます。