Chinaunix首页 | 论坛 | 博客
  • 博客访问: 617210
  • 博文数量: 151
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 1664
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-13 16:37
文章分类

全部博文(151)

文章存档

2010年(16)

2009年(135)

我的朋友

分类: LINUX

2009-12-29 09:04:18

wireshark----->

  在以前工作中和教学中,如果使用网络截包软件,一般使用都是使用Windows 下的图形的软件,如Sniffer Pro /Ethereal/EtherPeek ,Linux 下字符界面的TCPDump 操作实现太难记了,而且演示,分析,培训效果都不好.也曾试图安装了LINUX的图形界面的ethereal未成功,就停止安装了.
  换了一家新的机构任职,这里全部采用RHEL5作为基本的操作系统.这样安装一个Linux的图形界面的截包软件的任务就迫在眉睫,没这个我后面协议分析,SOCKET编程包的传输,TCP三次握手都没有直观演示了。逼得我必须解决这一问题。
  因为最新版是已经换成wireShark,所以最先安装这个包试试。一开始发现官方网站没有针对RHEL5 的RPM下载,后来在互联网找到这两个链接:
 
 
其中wireshark-gnome-1.1.2-1.pre1.i386.rpm是基于gnome的图形界面,wireshark-1.1.2-1.pre1.i386.rpm 是核心库。后者要先安装。
但安装后有如下提示
即安装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 -i --force --nodeps wireshark-1.1.2-1.pre1.i386.rpm
 注:最早是采用rpm -ivh wireshark-1.1.2-1.pre1.i386.rpm安装,但是如果这样安装旧的wireshark版本,如1.0.2将会导致新版本的库安装不上。一种解决办法是强行安装,另一种是把旧版本清除再安装新版本
 rpm -i --force --nodeps wireshark-gnome-1.1.2-1.pre1.i386.rpm
然后再将其的支持包用源码编译.

一般的包RHEL已经自带,第三方所缺的包有 pcap/portaudio


这两种在x86都是简单的 tar /configure /make /make install
libpcap 的编译
===============================================================
#./configure
# make
出现如下错误: gcc -O2 -fPIC -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))
" -c ./fad-getad.c In file includedfrom ./fadgetad.c:67
/usr/include/linux/if_packet.h:52:
 error: expected specifier-qualifier-.....
解决:
#include 加入到 /usr/include/linux/if_packet.h
#最后make install
portaudio编译安装简单,直接./configure; make; make install
===============================================================
这一些动态库一般安装在/usr/local/lib下.执行时可以用如下方法调用
输入:
export LD_LIBRARY_PATH=/usr/local/lib;wireshark
即可弹出类似ethernet抓包界面:
使用过滤表达式: tcp && ipaddr == 192.168.168.9
===============================================================
安装问题解决
如果提示 libwsutil.so 找不到,这个往往是因为系统中有老的版本wireshark 在系统导致安装冲突.可以先卸掉这个老版本,再安装.如果无法卸载,可以强行安装wireshark库
rpm -i --force --nodeps wireshark-1.1.2-1.pre1.i386.rpm
本人测试安装很顺利,基本上没有遇到问题:
1 rpm -ivh wireshark-1.1.2... 
2 rpm -i --force --nodeps wireshark-gnome-1.1.2-1.pre1.i386.rpm 
3 安装libpcap-1.0.0.tar.gz ; pa_stable_v19_20071207.tar.gz
阅读(3385) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~