RHEL5最快安装WireShark方法

来源:互联网 发布:十年前的网络流行语 编辑:程序博客网 时间:2024/05/16 16:17
在以前工作中和教学中,如果使用网络截包软件,一般使用都是使用Windows 下的图形的软件,如Sniffer Pro /Ethereal/EtherPeek ,Linux 下字符界面的TCPDump 操作实现太难记了,而且演示,分析,培训效果都不好.也曾试图安装了LINUX的图形界面的ethereal未成功,就停止安装了.
   换了一家新的机构任职,这里全部采用RHEL5作为基本的操作系统.这样安装一个Linux的图形界面的截包软件的任务就迫在眉睫,没这个我后面协议分析,SOCKET编程包的传输,TCP三次握手都没有直观演示了。逼得我必须解决这一问题。
  因为最新版是已经换成wireShark,所以最先安装这个包试试。一开始发现官方网站没有针对RHEL5 的RPM下载,后来在互联网找到这两个链接:
  http://redhatsolution.googlecode.com/files/wireshark-1.1.2-1.pre1.i386.rpm
http://redhatsolution.googlecode.com/files/wireshark-gnome-1.1.2-1.pre1.i386.rpm
 
其中wireshark-gnome-1.1.2-1.pre1.i386.rpm是基于gnome的图形界面,wireshark-1.1.2-1.pre1.i386.rpm 是核心库。后者要先安装。
 
但安装后有如下提示

 [root@rhel5 wireshark]# rpm -ivh wireshark-1.1.2-1.pre1.i386.rpm
Preparing...                ########################################### [100%]
   1:wireshark              ########################################### [100%]
[root@rhel5 wireshark]# rpm -ivh wireshark-gnome-1.1.2-1.pre1.i386.rpm
error: Failed dependencies:
        libportaudio.so is needed by wireshark-gnome-1.1.2-1.pre1.i386
        libsmi is needed by wireshark-gnome-1.1.2-1.pre1.i386
        portaudio is needed by wireshark-gnome-1.1.2-1.pre1.i386
        xdg-utils is needed by wireshark-gnome-1.1.2-1.pre1.i386
 
 
即安装wireShark-gnome出现问题 ,尝试安装libportaudio.从网上找rpm安装需要先安装libjack,安装libjack后出现大家都极为痛恨rpm 版本过低的提示.即需要rpm 4.4.6更高版本提示
[root@rhel5 tmp]# rpm -ivh libjack0-0.116.2-4.1.i586.rpm
warning: libjack0-0.116.2-4.1.i586.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID 3dbdc284
error: Failed dependencies:
        libc.so.6(GLIBC_2.7) is needed by libjack0-0.116.2-4.1.i586
        rpmlib(PayloadIsLzma) <= 4.4.6-1 is needed by libjack0-0.116.2-4.1.i586
 
这个原因也简单,即RHEL自带的是RPM version 4.4.2.3,但网上并无4.4.6以上的rpmlib的安装包.下了rpmlib 最新版的源码,费尽周折编译,make install后仍然提示如下.
 
 其中又试了ethereal 的源码编译安装.但因为ethereal 需要很多较老的库.RHEL已经更新.发现安装更麻烦,这种方法取消掉.
 
  后又试用 wireShark 编译,但是发现其支持库GTK+的编译安装更为麻烦.装了半天仍未成功.而我只是想用一个工具用来教学和使用.这么麻烦还是算了.
 
 当然还有用yum从互联网自动下载方法,但这个方法要求机器能接入互联网.对于未上网的教室的多台机器这样安装还是非常麻烦.
 
快速安装方法
 
首先使用rpm 的--force --nodeps 强行安装,忽略依赖包.
 
rpm -ivh wireshark-1.1.2-1.pre1.i386.rpm
rpm -i --force --nodeps wireshark-gnome-1.1.2-1.pre1.i386.rpm
 
然后再将其的支持包用源码编译.
一般的包RHEL已经自带,第三方所缺的包有 pcap/portaudio
 
http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz 
http://www.portaudio.com/archives/pa_stable_v19_20071207.tar.gz
这两种在x86都是简单的 tar /configure /make /make install
 
libpcap 的编译

[root@rhel5 libpcap-1.0.0]# make
gcc -O2 -fPIC -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" 
-c ./fad-getad.c In file included from ./fad-getad.c:67:
/usr/include/linux/if_packet.h:52: error: expected specifier-qualifier-list  before '__u32'

 
解决办法 #include <linux/types.h> 加入到 /usr/include/linux/if_packet.h
portaudio编译安装简单.
这一些动态库一般安装在/usr/local/lib下.执行时可以用如下方法调用
export LD_LIBRARY_PATH=/usr/local/lib;wireshark
 
这是RHEL运行的界面
 RHEL5最快安装WireShark方法 - zhuzhu - 津津计较
 
跟WINDOWS界面比较一下
  

RHEL5最快安装WireShark方法 - zhuzhu - 津津计较

 

快速使用手册

  • 点击第一个列表,可以选择一个网卡抓包,LINUX版的可以抓lo,就是本机内部之间包交流的包.这给开发带来不少方便,WireShark也能抓无线网卡的包了.
RHEL5最快安装WireShark方法 - zhuzhu - 津津计较
 
  • 抓包时界面,分为三栏,上面是包列表,中间包分析结果,下面包原始数据罗列,最方便功能是原始数能按BYTE拷贝出来.这样在C语言构造一个包,拿这现成包改改就行
RHEL5最快安装WireShark方法 - zhuzhu - 津津计较
  • 第二个按键,较多的抓包选项.

  

RHEL5最快安装WireShark方法 - zhuzhu - 津津计较
  • 使用过滤表达式
RHEL5最快安装WireShark方法 - zhuzhu - 津津计较
原创粉丝点击