(2019年2月19日注:这篇文章原先发在自己github那边的博客,时间是2016年8月25日)

  Wireshark为网络管理员常用的一个网络管理工具,通过使用这个软件,我们可以对本机网卡上的经过的数据包进行分析,通常包括了当前TCP/IP协议下几乎所有的数据包,我们可以根据抓取下来的数据包进行分析,从而得出本机附近的网络情况到底如何,以及网络的部分路由情况。

  本次所使用的操作系统是CentOS 6.5桌面图形版,比较简单,分为两种形式的安装,一种是直接安装,另外一种是源码安装。


一、直接安装

  只需要两句命令便可以完成安装,中间需要安装什么就按y。

 [root@JCChan ~]# yum install wireshark //  安装软件
[root@JCChan ~]# yum install wireshark-gnode // 安装软件的桌面显示,便于操作

  

  这种方法能快速安装一系列的软件及其依赖包,我们知道,在Linux中,软件的安装最麻烦的就是依赖包的安装系列,特别是基于编译好的rpm或者deb包,yum安装或者是apt-get安装能比较快捷的解决这个问题,但缺点就是安装源的软件版本一般不会是最新的,或者甚至是没有这样子的安装包,这时候就不能使用yum安装了,就要使用我们的源码安装。


二、源码安装

  对于软件来说,源码是指编写的程序,比如C语言,C++语言,Java语言等,是可以被人们所能读懂的。而另一种软件的代码是指二进制文件,人们读不懂,但是计算机能够明白它写的是什么,从源码到二进制文件的过程叫做编译,对于源码安装来说,编译过程是最漫长的。源码安装有个最大的好处就是你可以把软件安装到你所需要的地方,而不像yum会安装到各种各样的地方,另外源码安装可以安装软件的最新版本。

  1.先下载需要的两个安装包,分别是libpcap和wireshark source code。

  2. 下载解压libpcap和wireshark。

 [root@JCChan 下载]# tar zxvf libpcap-1.7..tar.gz //解压压缩包
[root@JCChan 下载]# tar xvf wireshark-1.12..tar.bz2 //解压压缩包

如下图所示,可以看到Wireshark软件是由很多个C文件写成的。

  3. 由于libpcap是wireshark的依赖包,因此需要先编译它。

 [root@JCChan 下载]# cd libpcap-1.7.
[root@JCChan libpcap-1.7.]# ./configure

  出现第一个错误,没有合适的C编译器,不能编译C文件。

  解决方案:安装gcc软件环境,如下图所示。

 [root@JCChan libpcap-1.7.]# yum -y install gcc    //安装gcc

  4. 重新开始编译,出现第二个错误,没有flex软件包。

  解决方案:安装flex软件包。

 [root@JCChan libpcap-1.7.]# yum install flex  //安装flex软件包

  5. 继续编译,这次就可以成功编译了。

  6. 开始安装

 [root@JCChan libpcap-1.7.]# make && make install

  出现如下的错误,yacc命令没找到。

  解决方案:安装byacc软件包。

 [root@JCChan libpcap-1.7.]# yum install byacc //安装byacc

  7. 再重新安装一次,没有报错误信息,代表libpcap安装成功。

  8. 进入wireshark安装包的目录,同样开始编译,出现错误,需要一个c++编译器。

  解决方案:安装一个C++编译器。

 [root@JCChan wireshark-1.12.]# yum -y install gcc gcc-c++ gdb    //安装c++编译器

  9. 重新编译,出现下一个错误,Qt is not available.

  解决方案:安装qt相关的包,如下图所示。

[root@JCChan wireshark-1.12.]# yum -y install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer

  10. 再次重新编译,继续有错误,这次是要安装gtk+3。

  解决方案:安装gtk+2,到时使用gtk+2来编译,gtk+3的安装方法暂时还没有找到。

 [root@JCChan wireshark-1.12.]# yum -y install gtk*
[root@JCChan wireshark-1.12.]# ./configure -with-gtk2

  这样子就能编译成功了。

  11. 开始安装,还是需要比较长的时间的,但是能安装成功!如下图所示

 [root@JCChan wireshark-1.12.]# make && make install

  12. 在当前目录下敲入一下命令,就能打开软件,并且打开到界面了!

 [root@JCChan wireshark-1.12.]# ./wireshark

  13. 抓包结果测试,可以看到有广播的ARP包以及有SSDP守护进程。

  如今经过一年的洗礼,已经早已习惯了Linux命令行界面,然而重新看回这些自己学习Linux时做过的小项目,依旧收获颇丰。

CentOS源码安装Wireshark的更多相关文章

  1. CentOS源码安装QT

    在VirtualBox上的CentOS下安装qt-everywhere-opensource-src-4.8.4 ,执行 ./confiure时失败,失败信息为:Basic XLib function ...

  2. 简单说明CentOS源码安装程序

    第一步.安装依赖包.一般官网会有依赖关系,没有就网上搜索一下. 第二步.下载源码包,上传至CentOS服务器 第三步.解压缩 第四步.进入源码文件夹 第五步.执行./configure,这一步主要是为 ...

  3. CentOS 源码安装MySQL5.7

    一.安装方式源码安装,源码包名称mysql-boost-5.7.27.tar.gz,此版本包含boost库,在解压后的boost路径下.安装时,可以-DDOWNLOAD_BOOST=1 -DWITH_ ...

  4. linux(centos)源码安装git

    最近使用一个开源库,部署的的时候需要用git克隆依赖库.刚好系统没安装git.就尝试了源码安装git. 源码下载地址:http://codemonkey.org.uk/projects/git-sna ...

  5. CentOS源码安装 Tomcat/8.0.24

    依个人的习惯,喜欢将源码安装在/usr/local这个目录下面: 第一步:下载源码 wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.2 ...

  6. Centos源码安装Python3

    CentOS7默认安装了python2.7.5,当需要使用python3的时候,可以手动下载Python源码后编译安装. 下载python(https://www.python.org/ftp/pyt ...

  7. centos 源码安装php5.5

    系统环境: CentOS 6.5 / 7.0 x86_64 Fedora 20 x86_64下载 PHP 源码包 # wget http://cn2.php.net/distributions/php ...

  8. CentOS源码安装搭建LNMP全过程(包括nginx,mysql,php,svn)【转】

    转自:http://blog.csdn.net/yanzi1225627/article/details/49123659 服务器环境为:CentOS6.5 64位 目标:搭建LNMP(Linux + ...

  9. centos 源码安装git

    (1) 添加rpmforge源 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686 ...

随机推荐

  1. USACO2012 Haybale stacking /// 区间表示法 oj21556

    题目大意:N个方块 标号1~N  K个操作 操作a b 表示标号a~b区间每位多加一个方块 Input * Line 1: Two space-separated integers, N  K. * ...

  2. c++智能指针(unique_ptr 、shared_ptr、weak_ptr、auto_ptr)

    一.前序 什么是智能指针? ——是一个类,用来存储指针(指向动态分配对象也就是堆中对象的的指针). c++的内存管理是让很多人头疼的事,当我们写一个new语句时,一般就会立即把delete语句直接也写 ...

  3. php 执行mysql inset 指令无效

    网数据库里插入一条 inset into je_user("name","va") values("df","12"), ...

  4. Flutter BottomNavigationBar切换会刷新当前页面解决方

    问题描述 BottomNavigationBar 是flutter 中最常用的UI组建,刚接触时发现在切换tab 的时候,会刷新当前的所有状态,每个页面都会重新刷新.于是乎,在这里先记录下解决方案. ...

  5. 我也可以独立(引用JS外部文件)

    我也可以独立(引用JS外部文件) 通过前面知识学习,我们知道使用<script>标签在HTML文件中添加JavaScript代码,如图: JavaScript代码只能写在HTML文件中吗? ...

  6. Leetcode208. Implement Trie (Prefix Tree)实现Trie(前缀树)

    实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作. 示例: Trie trie = new Trie(); trie.insert(" ...

  7. 前端常用的库和实用技术之JavaScript 模块化

    模块化概念 AMD是requirejs在推广过程中对模块化定义的规范化产出. 异步加载模块,依赖前置,提前执行 Define定义模块define(['require','foo'],function( ...

  8. Python学习笔记(一)——输入与输出

    输出:——print() Python中的输出使用print()完成 >>> 在屏幕中输出Hello World >>> print('Hello World') ...

  9. yii2.0 数据库查询操作

    User::find()->all();    此方法返回所有数据:    User::findOne($id);   此方法返回 主键 id=1  的一条数据(举个例子):    User:: ...

  10. 使用Intellij中的Spring Initializr来快速构建Spring Boot工程

    本文将介绍嵌入的Intellij中的Spring Initializr工具,它同Web提供的创建功能一样,可以帮助我们快速的构建出一个基础的Spring Boot/Cloud工程. 1.菜单栏中选择F ...