zoukankan      html  css  js  c++  java
  • unbutu下wireshark编译安装(已更新)

    今天下午在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命令有了简单的了解

  • 相关阅读:
    <Yii 学习>写入日志
    微信支付:curl出错,错误码:60
    PHPstorm创建注释模版
    Yii 常用命令
    Linux启动/停止/重启Mysql数据库的方法
    php foreach跳出本次/当前循环与终止循环方法
    介绍Sublime3下两款Markdown插件
    规范
    业务流程时序图
    数据字典
  • 原文地址:https://www.cnblogs.com/myidea/p/4859114.html
Copyright © 2011-2022 走看看