之前一直在使用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