CentOS源码安装Wireshark
(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的更多相关文章
- CentOS源码安装QT
在VirtualBox上的CentOS下安装qt-everywhere-opensource-src-4.8.4 ,执行 ./confiure时失败,失败信息为:Basic XLib function ...
- 简单说明CentOS源码安装程序
第一步.安装依赖包.一般官网会有依赖关系,没有就网上搜索一下. 第二步.下载源码包,上传至CentOS服务器 第三步.解压缩 第四步.进入源码文件夹 第五步.执行./configure,这一步主要是为 ...
- CentOS 源码安装MySQL5.7
一.安装方式源码安装,源码包名称mysql-boost-5.7.27.tar.gz,此版本包含boost库,在解压后的boost路径下.安装时,可以-DDOWNLOAD_BOOST=1 -DWITH_ ...
- linux(centos)源码安装git
最近使用一个开源库,部署的的时候需要用git克隆依赖库.刚好系统没安装git.就尝试了源码安装git. 源码下载地址:http://codemonkey.org.uk/projects/git-sna ...
- CentOS源码安装 Tomcat/8.0.24
依个人的习惯,喜欢将源码安装在/usr/local这个目录下面: 第一步:下载源码 wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.2 ...
- Centos源码安装Python3
CentOS7默认安装了python2.7.5,当需要使用python3的时候,可以手动下载Python源码后编译安装. 下载python(https://www.python.org/ftp/pyt ...
- centos 源码安装php5.5
系统环境: CentOS 6.5 / 7.0 x86_64 Fedora 20 x86_64下载 PHP 源码包 # wget http://cn2.php.net/distributions/php ...
- CentOS源码安装搭建LNMP全过程(包括nginx,mysql,php,svn)【转】
转自:http://blog.csdn.net/yanzi1225627/article/details/49123659 服务器环境为:CentOS6.5 64位 目标:搭建LNMP(Linux + ...
- centos 源码安装git
(1) 添加rpmforge源 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686 ...
随机推荐
- sort()和优先队列的总结
一.关于sort函数 sort()排序函数默认是从小到大, a={5,3,2,1,6 }; sort(a,a+n); //输出是1 2 3 5 6 这里如果要从到小排序,则有两种方式可以满足 (1) ...
- 连接mysql并查询
1.将mysql-connector-java-5.1.7-bin.jar放入Jmeter安装目录的bin文件夹中 2.在顶层目录<测试计划>中加载驱动 3.添加JDBC Connecti ...
- opencv3中surfDetector中使用
https://www.cnblogs.com/anqiang1995/p/7398218.html opencv3中SurfFeatureDetector.SurfDescriptorExtract ...
- shell对比两个目录中有哪些文件不同
参考:https://www.cnblogs.com/liyuchuan/p/10756066.html 目录结构: /data/dir1 subdir/ subfile /data/dir2 sub ...
- SQL 顺序
查询语句中select from where group by having order by的执行顺序 查询语句中select from where group by having order by ...
- git 去除本地所有没有保存的修改
git 去除本地所有没有保存的修改,参考How do I revert all local changes in Git managed project to previous state? 知道运行 ...
- Python自学:第五章 使用range( )创建数字列表
# -*- coding: GBK -*- number = list(range(1,6)) print(number) 输出为: [1, 2, 3, 4, 5] 2. # -*- coding: ...
- NPM一Node包管理和分发工具
NPM 全称 Node Package Manager Node包管理和分发工具,可以把NPM理解为前端的Maven 我们通过npm可以很方便地下载js库,管理前端工程 最近版本的node.js已经集 ...
- JS预解析与变量提升
预解析 JavaScript代码的执行是由浏览器中的JavaScript解析器来执行的.JavaScript解析器执行JavaScript代码的时候,分为两个过程:预解析过程和代码执行过程 预解析过程 ...
- echarts 默认柱状图每根柱子显示不同颜色(随机显示和定制显示)
series: [{ name: '请求数', type: 'bar', //barGap: 60, barWidth: 140,//柱图宽度 //stack: 'sum',//堆叠效果 itemSt ...