之前一直在使用wireshark這個網絡工具,最近在用來抓包學習MQTT協議的時候,發現wireshark暫時還未加入對MQTT協議分析的原生支持,網上搜了一下,能夠本身用插件的形式擴展wireshark的協議支持,可是幾經周折以後發現原來我安裝wireshark的方式有問題,以非root用戶啓動wireshark後發現沒權限獲取網卡使用權;以root用戶啓動後會提示風險,禁用某些功能,好比插件功能就是有問題的。ubuntu
It dosn't work well on ubuntu14.04 (actually before 16.04).It warns:vim
(wireshark:5785): Gtk-CRITICAL **: gtk_orientable_get_orientation: assertion 'GTK_IS_ORIENTABLE (orientable)' failed (wireshark:5785): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkScrollbar' (wireshark:5785): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkWidget' (wireshark:5785): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GObject'
solution: set the environment variable "LIBOVERLAY_SCROLLBAR" to "0"網絡
一、sudo vim /usr/share/applications/wireshark.desktopapp
2、change "Exec=wireshark %f" to "Exec=env LIBOVERLAY_SCROLLBAR=0 wireshark %f"
工具
正確安裝wireshark的方法是:學習
$ sudo apt-get install wireshark $ sudo dpkg-reconfigure wireshark-common $ sudo usermod -a -G wireshark $USER $ sudo reboot