今天下午在ubuntu下进行编译安装wireshark,过程中出了很多错误,但最终安装成功了,这里写下自己的安装步骤和方法,有参考博文的安装编译方法,也有自己的总结和心得。

1 安装编译工具

$sudo apt-get install build-essential

2 为了成功编译Wireshark,您需要安装GTK+的开发文件和GLib库(libraries)。

$sudo apt-get install libgtk2.0-dev libglib2.0-dev

3 安装Checkinstall以便管理您系统中直接由源代码编译安装的软件。

$sudo apt-get install checkinstall

4 wireshark源码下载地址 http://www.wireshark.org/download.html (页面中的 source code)

下载后的文件名:wireshark-1.12.7.tar.bz2

5 cd到文件目录解压:

$tar -xvf wireshark-1.12.7.tar.bz2

6 编译安装命令如下:

hh@hh-virtual-machine:~/wireshark-1.12.7$
$./configure
$make
$sudo make install

其中make编译时间会比较长,这样下来就基本安装了。当然这是在比较理想的情况下!

下面是这篇博文的关键,主要就是我在编译安装过程中出现的问题,并且都是在./configure中出现的问题:###

问题1:

解决办法:

$sudo apt-get install flex bison

yacc(Yet Another Compiler Compiler),是Unix/Linux上一个用来生成编译器的编译器(编译器代码生成器)。

yacc和lex在ubuntu使用flex和bison代替,此处安装bison就是安装yacc

问题2:

解决办法:

$sudo apt-get install libqt4-dev

问题3:configure: error: GTK 3 is not available

解决办法:

因为前面已经安装了GTK+和Glib库,所以是缺少GTK(一种图形用户界面工具包)环境,运行如下命令:

$sudo apt-get install gnome-core-devel

问题4:

问题原因是ubuntu下缺少pcap.h等文件。

解决办法:

编译安装libpcap.

在www.tcpdump.org页面中可下载源码:libpcap-1.0.0.tar.gz

cd到文件目录:

 $tar -xvf libpcap-1.0.0.tar.gz
$cd libpcap-1.0.0.tar.gz
$ls
$cd libpcap-1.0.0
$ls
$./configure
$make
$sudo make install

以上是过程中遇到的几个问题!

采用上面的方法后再回到文章前面的步骤:

$cd wireshark-1.12.7

$./configure

$make
$sudo make install

这样就安装好了。

启动方法:进入wireshark-1.12.7,输入命令:

$sudo ./wireshark



这里如果不用sudo,则wireshark找不到网络设备接口,这主要与权限有关,启动时注意下就行。

总结:

      1.安装编译工具 :$sudo apt-get install build-essential

      2.可能需要安装GTK+和Glib库 : $sudo apt-get install libgtk2.0-dev libglib2.0-dev

      3.安装flex和bison代替lex和yacc :  $sudo apt-get install flex bison

      4.注意对问题的处理!

博客更新##

在娄老师的指导下,对unbutu下wireshark的整个编译过程进行改进,将编译过程中涉及到的所有安装(apt-get)命令、下载源码、解压、配置、编译、安装(make install)等步骤编写到一个shell脚本中,因为之前没有深入接触过shell脚本的编写,所以首先简单了解了一下shell脚本的相关内容,并自己编写了一个hello world的shell脚本运行了一下,也算是有了一个感性的认识!下面就写一下自己在编写wireshark的shell运行脚本中的一点收获。

1 开始创建一个脚本:

(1) 使用vi等,依据个人习惯;在文件的第一行,以下面的内容开始:

#! / bin/sh

  • 解释:#! ---->告诉系统后面的参数是用来执行该文件的程序,在这里我们使用/ bin / sh 来执行脚本(#! /bin/sh 是指此脚本使用,/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径)

(2) 编辑好脚本,要执行该脚本就必须使该脚本可执行,在文件的末尾加上下面的内容:

chmod + x filename

(3)在命令终端上可输入 ./filename来执行脚本

补充:在查资料的过程中,发现脚本程序的第一行既可以写#!/bin/sh,又可以写#!/bin/bash,就顺便了解了一下二者的区别:

	sh 一般设成 bash 的软链 (symlink);

	在一般的 linux 系统当中(例外如 FreeBSD,OpenBSD 等),使用 sh 调用执行脚本相当于打开了bash 的 POSIX 标准模式,也就是说 /bin/sh 相当于 /bin/bash  --posix;

	所以,sh跟bash的区别,实际上就是bash有没有开启posix模式的区别;

	so,可以预想的是,如果第一行写成 #!/bin/bash --posix,那么脚本执行效果跟#!/bin/sh是一样的

2 创建wireshark.shell脚本

    #!/bin/sh
sudo apt-get install build-essential libgtk2.0-dev libglib2.0-dev checkinstall
wget https://1.na.dl.wireshark.org/src/wireshark-1.12.7.tar.bz2 --no-check-certificate
tar -xvf wireshark-1.12.7.tar.bz2
cd wireshark-1.12.7
./configure
make
sudo make install
sudo ./wireshark

3 为wireshark.shell添加执行权限

  $chmod +x wireshark.shell

4 运行wireshark.sh脚本

  ./wireshark.shell

4 遇到的问题

在脚本运行的过程中,我发现并没有进行安装包的下载过程



根据错误最后一行的提示,在wget命令的最后加上--no-check-certificate,最后运行成功了

5 一点收获

首先对shell脚本的编写有了简单的入门,以前觉得关于shell脚本的东西都很难,通过这个实验,认识到只要下决心开始,就会有收获

其次是对wget命令有了简单的了解

unbutu下wireshark编译安装(已更新)的更多相关文章

  1. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  2. ubuntu下boost编译安装

    ubuntu下boost编译安装 boost 安装 1.依赖安装 apt-get install mpi-default-dev libicu-dev python-dev python3-dev l ...

  3. Linux(centos)下mysql编译安装教程

    Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...

  4. Windows下CMake编译安装OpenCV

    Windows下CMake编译安装OpenCV 这是一个面向新手的在windows上运进opencv, helloword的教程. 在这里我们使用vs2019来编译opencv, 并运行一个hello ...

  5. PCL库在Linux环境下的编译安装

    PCL库在Linux环境下的编译安装 PCL库的源码库:https://github.com/PointCloudLibrary/pcl 下载完了之后解压下来 编译库的几个步骤 mkdir build ...

  6. ubuntu 下wireshark 软件安装与使用

    在ubuntu下,使用wireshark也是很有必要的.虽然可以使用tcpdump等工具. ubuntu:11.10     1. sudo apt-get install wireshark     ...

  7. Linux下memcache编译安装与基本使用

    memcache是一套分布式的高速缓存系统,特点为key-value 存储 一.在 linux 编译安装memcache.redis等,需要 gcc,make,cmake,autoconf,libto ...

  8. CentOS 7下OpenLDAP编译安装及配置

    一.环境 Server:基于CentOS-7-x86_64-1511 Server IP: 172.18.12.203 二.软件获取 OpenLDAP OpenLDAP官网下载地址:http://ww ...

  9. FFMPEG系列一:Mac下FFMPEG编译安装配置及使用例子

    系统环境:10.13以前系统版本,没有升级到macOS High Sierra.正常情况是直接输入brew install ffmpeg即可安装ffmpeg,但是该过程还是有一些坑需要填. 一.mac ...

随机推荐

  1. 笔记:LIR2032 电池充电记录

    笔记:LIR2032 电池充电记录 LIR2032 电池是锂电池,形状和 CR2032 一样,只不过可以充电,材料是锂离子. 一个单颗的 LIR2032 电池容量只有 40mAH,容量很小. 那么就需 ...

  2. 30G 的redis 如何优化

    突然发现我们的redis 已经用了30G了,好吧这是个很尴尬的数字因为我们的缓存机器的内存目前是32G的,内存已经告竭.幸好上上周公司采购了90G的机器,现在已经零时迁移到其中的一台机器上了.(跑题下 ...

  3. 利用全局变量$_SESSION和register_shutdown_function自定义会话处理

    register_shutdown_function 可以注册一个自定义的函数,在程序运行结束之前 执行. 在做ecshop的二次开发过程中,虽然代码 太老太乱太冗余,但ec的会话处理的设计感觉还是不 ...

  4. python学习(八) 异常

    8.1 什么是异常 8.2 按自己的方式出错 如何引发异常,以及创建自己的异常类型. 8.2.1 raise语句 >>> raise Exception Traceback (mos ...

  5. class_create(),class_device_create()创建/dev/xxx 名字

    在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载 ...

  6. 单片机keil C中的data、bdata、idata、xdata、hdata、pdata、code解释

    从数据存储类型来说,8051系列有片内.片外程序存储器,片内.片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code.data.xdata.idata以及根据51系列特点而设定的 ...

  7. Python Twisted系列教程16:Twisted 进程守护

    作者:dave@http://krondo.com/twisted-daemonologie/  译者: Cheng Luo 你可以从”第一部分 Twist理论基础“开始阅读:也可以从”Twisted ...

  8. 配置key认证登陆Ubuntu (上)

    每一个看似轻松的结果背后都有不为人知的辛酸.又是一件小事,结果折腾了一天. 上接配置好SSH 和Samba后,开始了Python编程实践.由于实在不大会用Vim, 所以最后的编程环境实际上在Windo ...

  9. c++builder 程序升级到c++builder10Seattle

    c++builder 程序升级到c++builder10Seattle的一些技巧提示. http://community.embarcadero.com/blogs/entry/migrating-l ...

  10. vue中使用markdown富文本,并在html页面中展示

    想给自己的后台增加一个markdown编辑器,下面记录下引用的步骤 引入组件mavon-editor 官网地址:https://github.com/hinesboy/mavonEditor // 插 ...