複数のインターフェイスでトラフィックを一度にキャプチャできるようにするために、wireshark 1.8.3をインストールしようとしました。ただし、次のエラーが発生しました。
capture-pcap-util.c:274:1: error: static declaration of ‘pcap_datalink_name_to_val’ follows non-static declaration
/usr/local/include/pcap/pcap.h:326:5: note: previous declaration of ‘pcap_datalink_name_to_val’ was here
capture-pcap-util.c:289:1: error: static declaration of ‘pcap_datalink_val_to_name’ follows non-static declaration
/usr/local/include/pcap/pcap.h:327:13: note: previous declaration of ‘pcap_datalink_val_to_name’ was here
いくつかの検索を行った後、誰かがlibpcap-dev
または次のコマンドを再インストールすることで修正できることがわかりました。
rm & rmdir
/usr/include/pcap' and '/usr/local/include/pcap
内の任意のファイルSudo apt-get install libpcap0.8-dev
によるlibpcapのダウンロード./autogen.sh
wireshark dirmake clean & make & make install
ただし、どちらもUbuntu 12.04/wireshark 1.8.3では動作しません。
誰でも助けることができますか?
UbuntuでWiresharkをコンパイルすることはお勧めしません(可能ですが、平均的なユーザーがトラブルシューティングするにはあまりにも多くの奇妙なライブラリの依存関係があります)。
単に複数のインターフェイスをスニッフィングできるようにしたい場合は、1.8.0より前のバージョンでスニッフィングできます。幸いなことに、ソースからコンパイルする必要なくWiresharkをインストールできるPPA(下記参照)があります。
ソースからコンパイルするのではなく、Wireshark 1.8.2から12.04を提供するPPAパッケージをインストールできます。最新のWiresharkバージョンは1.8.4で、Ubuntu 12.04リポジトリの最新バージョンは1.6.7です。以下は、wireshark 1.8.2のインストール手順を示しています。
PPAをインストールするには、次のコマンドを実行します。
Sudo add-apt-repository ppa:eugenesan/ppa
Sudo apt-get update
Sudo apt-get install wireshark
Wiresharkを起動するには、Sudo wireshark
コマンドを実行します
注:生のネットワークスタックにアクセスするには昇格した権限が必要なので、アプリケーションをSudoとして実行する必要があります。
詳細については、 Eugene San PPA を参照してください。
このリポジトリには、最新の2つのLTSリリースと最新のLTS以前のリリース(smartgitなどを含む)のカスタマイズ、更新、移植、およびバックポートされたパッケージのコレクションが含まれています。目的のバックポート/パッケージがここに含まれているかどうかを確認することをお勧めします。
1.8.2以降のバージョンはコンパイルなしでは利用できないようで、12.04のライブラリにはいくつかの問題があるようです。
Libpcapで何も行っていないUbuntu 12.04システムでは、Wireshark 1.8.6のソースtarballをダウンロードし、展開し、configureスクリプトを実行し、「make」でコンパイルすることができました。
NOT run autogen.sh
を実行します。これは、SubversionリポジトリからWiresharkを構築しようとする人々のためのツールです。ソースtarballをダウンロードした場合は、configureスクリプトを実行するだけです。事前にautogen.sh
を実行しないでください。また、新しくダウンロードして解凍したソースtarballでmake
の前にmake clean
を実行する必要もありません。
これを試して:
Sudo apt-get install wireshark
Sudo groupadd wireshark
Sudo usermod -a -G wireshark YOUR_USER_NAME
Sudo chgrp wireshark /usr/bin/dumpcap
Sudo chmod 750 /usr/bin/dumpcap
Sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
Sudo getcap /usr/bin/dumpcap