SDN環境下安裝Wireshark 2.2.5(問題彙總)

SDN環境下安裝Wireshark 2.2.5(問題彙總)

本文用到的軟件及其版本如下:

FVMware Workstation 12.5.5 build-5234757

F Mininet鏡像:mininet-2.2.2-170321-ubuntu-14.04.4-server-amd64

FOpenDayLight(Boron版本0.5.2)karaf-0.5.2-Boron-SR2

F Wireshark軟件:wireshark-2.2.5

F操作系統:windows10

延續上一篇文章《Mininet+Opendaylight+Wireshark搭建SDN環境》繼續wireshark 2.2.5的部署工作。

據說ubuntu自帶的wireshark版本比較舊,無法直接支持OpenFlow,卸載舊的版本以及清除配置文件,安裝最新版的wiresharkPS:軟件我都喜歡最新的穩定版

1)卸載舊版本及其配置文件

wKioL1jiVpSCKFCQAAAbW0czqxE443.png-wh_50

說實話,自帶的版本我也打不開wireshark,乾脆把它卸載了安裝最新的

mininet@mininet-vm:~$sudo apt-get remove wireshark

mininet@mininet-vm:~$sudo apt-get purge wireshark

2)安裝依賴包

mininet@mininet-vm:~$sudo apt-get install bison flex libpcap-dev gcc -y

3)源碼編譯安裝

Windows10從官網上(https://www.wireshark.org/download.html)下載最新的wireshark源碼wireshark-2.2.5.tar.bz2),跟上面一樣,把它傳輸到ubunutu上,進行解壓編譯

mininet@mininet-vm:~$sudo tar -vxjf wireshark-2.2.5.tar.bz2 -C /opt/

慢慢編譯折騰長征路纔剛開始

mininet@mininet-vm:~$cd /opt/wireshark-2.2.5/

mininet@mininet-vm:/opt/wireshark-2.2.5$sudo ./configure

報錯1configure: error: GLib 2.16.0 or later not found.

wKiom1jiVqOj0EjxAAGOGt3Shhs092.png-wh_50

源碼編譯安裝glib

wKioL1jiVq2wRwG6AAAW_YQe8AA174.png-wh_50

無法直接用apt-get直接安裝,好吧,又得源碼編譯

官網上(http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.52/)下載源碼(glib-2.52.0.tar.xz)導入到ubuntu

wKiom1jiVraTjWE_AAAS-mICJxQ883.png-wh_50

不知道爲什麼,無法進行導入,好吧,換一種安裝方法

mininet@mininet-vm:/$sudo wget https://ftp.gnome.org/pub/gnome/sources/glib/2.52/glib-2.52.0.tar.xz

wKiom1jiVsGANewsAABoRER7Xpo644.png-wh_50

mininet@mininet-vm:/$sudo tar -vxf glib-2.52.0.tar.xz -C /opt/ 

mininet@mininet-vm:/$cd /opt/

mininet@mininet-vm:/opt$cd ./glib-2.52.0/

mininet@mininet-vm:/opt/glib-2.52.0$sudo ./configure

報錯2configure: error: Package requirements (libffi >= 3.0.0) were notmet:

No package 'libffi' found

wKioL1jiVtXipQT_AABDFyKVu6Q235.png-wh_50

安裝Libffi

mininet@mininet-vm:/$sudo apt-get install libffi-dev

wKiom1jiVt_w0UF_AACI8G9zZN0906.png-wh_50

mininet@mininet-vm:/$cd /opt/glib-2.52.0/

mininet@mininet-vm:/opt/glib-2.52.0$sudo ./configure

報錯3configure: error:

*** You must have either have gettext support in your Clibrary, or use the

*** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html

wKioL1jiVunCB7ARAABIUNTbb68560.png-wh_50

安裝gettext

mininet@mininet-vm:/$sudo apt-get install gettext

wKioL1jiVvKCgmtdAAAt66uyO04130.png-wh_50

checkinglibmount/libmount.h usability... no

checkinglibmount/libmount.h presence... no

checkingfor libmount/libmount.h... no

configure:error: *** Could not find libmount

安裝libmount-dev

報錯4:好吧,apt-get安裝還出錯,安裝libmount-dev,而不是libmount

wKiom1jiVvzgr24DAABMPGAsqBM987.png-wh_50

報錯5configure: error: Package requirements (libpcre >= 8.13) were notmet:

No package 'libpcre' found

源碼編譯安裝libpcre

由提示可知,少了libpcre,以爲apt-get install安裝個libpcre就可以了,結果它又有個依賴包pcre,打算再安裝個pcre包好了,結果不支持apt-get安裝,真矯情,又得源碼編譯安裝

源碼編譯安裝pcre

 

wKiom1jiVzPAY1HPAABc3DNxo6U487.png-wh_50

mininet@mininet-vm:/$sudo wget  https://sourceforge.net/projects/pcre/files/pcre/8.40/pcre-8.40.tar.gz/

wKioL1jiVz7TMMGWAABJsFNU6GQ904.png-wh_50

mininet@mininet-vm:/$sudo tar -zxvf pcre-8.40.tar.gz -C /opt/

mininet@mininet-vm:/$cd /opt/pcre-8.40/

mininet@mininet-vm:/opt/pcre-8.40$sudo ./configure --enable-utf8 --enable-unicode-properties

wKioL1jiV0jDFD57AAAy9LW69gw373.png-wh_50

這裏必須要加上utf8unicode的字符編碼格式的參數,否則編譯還是不會通過的

mininet@mininet-vm:/$cd /opt/pcre-8.40/

mininet@mininet-vm:/opt/pcre-8.40$sudo ./configure --enable-utf8 --enable-unicode-properties

wKiom1jiV1bCvOFMAAAm65qS6Tk083.png-wh_50

mininet@mininet-vm:/opt/pcre-8.40$sudo make

mininet@mininet-vm:/opt/pcre-8.40$sudo make install

測試pcre是否正常安裝:

mininet@mininet-vm:/opt/pcre-8.40$pcretest -C

報錯6pcretest: error while loading shared libraries: libpcre.so.1: cannotopen shared object file: No such file or directory

pcretest: error while loading shared libraries:libpcreposix.so.0: cannot open shared object file: No such file or directory

遇到以上兩個錯誤,加上軟鏈接就可以

wKiom1jiV2Ciu0O4AABsE_5sF5s590.png-wh_50

mininet@mininet-vm:/opt/glib-2.52.0$sudo ./configure

mininet@mininet-vm:/opt/glib-2.52.0$sudo make

mininet@mininet-vm:/opt/glib-2.52.0$sudo make install

至此,glib已經安裝完畢

wKioL1jiV2nSn2lbAAAqZ7lvCjc259.png-wh_50

重新編譯wireshark

mininet@mininet-vm:/opt/wireshark-2.2.5$sudo ./configure

又報錯,缺少QT以及GTK

報錯7:“configure: error: Neither Qt nor GTK+ are available, so Wiresharkcan't be compiled

wKioL1jiV4WhFbJ3AAAcxunKO7M633.png-wh_50

QT5系列安裝

ubuntu下安裝的時候直接sudo apt-get install libqt4-dev

但是apt-get安裝的是4.6.2,而wireshark最低要求是4.7.0,所以此處採用QT5

A、源碼編譯安裝

官網(http://download.qt.io/official_releases/qt/)下載進行安裝,如下:

mininet@mininet-vm:/$sudo wget http://download.qt.io/official_releases/qt/5.8/5.8.0/single/qt-everywhere-opensource-src-5.8.0.tar.gz

wKioL1jiV6Hy7mfOAABy1c3kpuM393.png-wh_50

解壓編譯安裝

mininet@mininet-vm:/$sudo tar -zxvf qt-everywhere-opensource-src-5.8.0.tar.gz -C /opt/

mininet@mininet-vm:/$cd /opt/qt-everywhere-opensource-src-5.8.0/

mininet@mininet-vm:/opt/qt-everywhere-opensource-src-5.8.0$sudo ./configure

(依據提示輸入“o”選擇“Open Source Edition”版本進行安裝)

wKiom1jiV7KiT-yLAACTkQtFk2A143.png-wh_50

到這裏時,出現以下錯誤信息,打算放棄了,google了好久沒找到合適答案,若有其他兄弟遇到請分享一下,謝謝

報錯8Note: No wayland-egl support detected. Cross-toolkit compatibilitydisabled.

ERROR: The OpenGL functionality tests failed!

wKiom1jiV8CwDk9GAAA6U1ZLdG4321.png-wh_50

B、最簡單的安裝方式

自從secureCRTXmanager Passive完美結合以後,發現QT5安裝也可以實現跟windows一樣的傻瓜式安裝方法

QT官網上下載基於linux圖形界面安裝的版本qt-opensource-linux-x64-5.8.0.run如下圖

mininet@mininet-vm:/$sudo wget http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run

wKioL1jiV8yBgpWzAACb6cmc_G0456.png-wh_50

報錯1:此時我遇到了一個問題,磁盤無空餘空間寫入,怎麼辦?

wKiom1jiV9jQpCh6AABH4uSzoEQ324.png-wh_50

嘗試着去處理,發現確實硬盤的根目錄無空間了,網上有一種說法是/var/目錄下的日誌文件佔用太大空間了,inode被寫滿了,

但我這裏不是(/var只佔到355M,且第一天使用)

wKioL1jiV--jYIaHAACBzpLeHKU465.png-wh_50 

wKioL1jiV_2T5rDRAACcjZWZqIw006.png-wh_50

網上有種做法是增加硬盤掛接到根目錄下,或者通過虛擬機(VMware workstation)去擴充硬盤空間,於是關閉虛擬機,在“虛擬機設置”裏通過“磁盤整理”“擴展”兩個功能去處理,無果,提示“文件系統空間硬盤”,難道就這樣了嗎?

wKiom1jiWAqie3K1AAC7-o81piI639.png-wh_50

最後嘗試在當前用戶根目錄下以及/opt/目錄下去刪除臨時保存的壓縮文件、以及解壓文件,終於解決了。

mininet@mininet-vm:~$rm -rf distribution-karaf-0.5.2-Boron-SR2.zip

mininet@mininet-vm:~$rm -rf jdk-8u121-linux-x64.tar.gz

wKiom1jiWBXQaKOPAABn35KqHjc967.png-wh_50

發現跟我猜想一樣,於是把/opt/目錄下其他無關文件也一起刪除了

mininet@mininet-vm:~$rm -rf qt-everywhere-opensource-src-5.8.0.tar.gz

繼續前面QT5的安裝

如下圖,添加可執行權限,像windows一樣傻瓜式安裝及可

wKioL1jiWCKD1rOcAAE1BjBc-8E799.png-wh_50

報錯9:接下繼續安裝wireshark,發現還是同樣的錯誤

mininet@mininet-vm:/opt/wireshark-2.2.5$sudo ./configure

wKioL1jiWC-jR9jKAAAZC9AP2kE850.png-wh_50

這時候重新configurewireshark還是找不到Qt,這是因爲configure找不到QT相關的“.pc”文件(默認在/usr/lib64中查找)。找到安裝目錄下*.pc文件的位置,將該目錄添加到PKG_CONFIG_PATH環境變量中,即在/etc/profile文件最後加上以下內容

exportQT_PC=/home/mininet/Qt5.8.0/5.8/gcc_64/lib/pkgconfig(這是因爲我的*.pc文件是存儲目錄,一般都是安裝目錄**/gcc_64/lib/pkgconfig地方)

export PKG_CONFIG_PATH=$QT_PC

最後安裝一下GTK3

mininet@mininet-vm:/$sudo apt-get install libgtk-3-dev

見證奇蹟的時刻:

mininet@mininet-vm:/opt/wireshark-2.2.5$sudo ./configure

wKiom1jiWD2hm4vqAAA8ULQBs-I101.png-wh_50

看到如下設置即可進行一下操作

mininet@mininet-vm:/opt/wireshark-2.2.5$sudo make

mininet@mininet-vm:/opt/wireshark-2.2.5$sudo make install

至此以爲大功告成,準備試驗一把時,發現不管我輸入“wireshark”或者“sudowireshark”都是提示我存在,找了網上的資料,有人提到說要在安裝目錄下輸入纔可以,我也跟着在安裝目錄/opt/wireshark-2.2.5/bin以及軟件默認安裝目錄/usr/local/bin做了嘗試還是說我沒安裝wireshark或者命令不存在,難道我沒有安裝成功,由重新編譯安裝了一遍,發現還是不行。

報錯10

wKioL1jiWEuSEiUgAAAfJb6dxw4178.png-wh_50

最後發現新版本不是直接輸入wireshark或者sudo wireshark,而是wireshark-gtk,因爲我發現只有/usr/local/bin/wireshark-gtk/opt/wireshark-2.2.5/bin/wireshark-gtk而沒有/usr/local/bin/wireshark/opt/wireshark-2.2.5/bin/wireshark,原來如此,把自己坑了

wKioL1jiWG6RSd4jAAIAqJjTyVU807.png-wh_50

但是爲什麼沒有網卡信息呢?可能是bug吧,只有先開啓wireshark下,再開啓mininet以及opendaylight是纔會正常。且必須採用sudo wireshark-gtk的方式開啓

wKioL1jiWKTjkM5_AAGMLHtpPjE741.png-wh_50

wKiom1jiWLnwqRelAAE997UIpLA638.png-wh_50

熟悉的畫面,大功告成。

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章