原文发表于:2010-09-25

转载至cu于:2012-07-21

前两天因为看局域网安全的视频中介绍dsniff,也想自己安装下来看看效果。简单的使用没什么难的(高级使用就需要研究文档了),但是安装过程倒是折腾了好久,所以想记录下来,以备不时只需。

一. Dsniff简介

Dsniff是一个基于unix系统网络嗅探工具,开发者Dub Song于2000年12月发布v2.3版本,目前最新版本是2001年3月发布的v2.4b1的beta版。

下载地址:http://www.monkey.org/~dugsong/dsniff

Dsniff是一个工具集,主要分为四类:

  1. 纯粹被动地进行网络活动监视的工具,包括:dsniff、filesnarf、mailsnarf 、msgsnarf、urlsnarf、webspy;
  2. 针对SSH和SSL的MITM(Man-In-The-Middle)"攻击"工具,包括sshmitm和webmitm;
  3. 发起主动欺骗的工具,包括:arpspoof、dnsspoof、macof;
  4. 其它工具,包括tcpkill、tcpnice

 二. Dsniff 安装

上面已经介绍过了,dsniff是一个比较老的嗅探工具。当我在安装过程中对它依赖的第三方软件包使用较新的版本时,编译安装过程中始终有这样或者那样的问题。没办法,强大的google再此上场,看到有文章推荐的第三方软件包版本,重新试试,安装过程竟是一点问题没有。

这是参考的文章链接:http://gnu.shslzx.cn/?m=201004

以下是依赖的第三方软件包及版本,下载链接:

openssl-0.9.7i.tar.gz http://down1.chinaunix.net/distfiles/openssl-0.9.7i.tar.gz

libnids-1.18.tar.gz http://down1.chinaunix.net/distfiles/libnids-1.18.tar.gz

libpcap-0.7.2.tar.gz http://down1.chinaunix.net/distfiles/libpcap-0.7.2.tar.gz

libnet-1.0.2a.tar.gz http://down1.chinaunix.net/distfiles/libnet-1.0.2a.tar.gz

Berkeleydb-4.7.25.tar.gz http://download.oracle.com/berkeley-db/db-4.7.25.tar.gz

有了上面这些版本的第三方软件包的支持,后面的无非就是解压,编译,安装了。

需要注意的是编译Berkeleydb时,解压进入相应目录后:

cd build_unix
../dist/configure
make;make install 

三. Dsniff 工具集

  1. dsniff: 一个密码侦测工具,他能够自动分析端口上收到的某些协议的数据包,并获取相应的密码。dnisff支持的协议有FTP, Telnet, SMTP, HTTP, POP, poppass, NNTP, IMAP, SNMP, LDAP, Rlogin, RIP, OSPF, PPTP MS-CHAP, NFS, VRRP, YP/NIS, SOCKS, X11, CVS, IRC, AIM, ICQ, Napster, PostgreSQL, Meeting Maker, Citrix ICA, Symantec pcAnywhere, NAI Sniffer, Microsoft SMB, Oracle SQL*Net, Sybase and Microsoft SQL;
  2. filesnart: 嗅探网络文件系统(NFS)的流量,并选定某个文件,转储到本地当前工作目录;
  3. mailsnarf: 可以嗅探SMTP和POP流量,并以Berkeley邮件格式输出e-mail消息;
  4. msgsnarf:可以嗅探聊天软件的聊天内容,包括AOL,ICQ 2000, IRC, MSN Messenger, 或Yahoo  Messenger;
  5. urlsnarf: 可以嗅探HTTP请求报文的内容,并以CLF (Common Log Format)通用日志格式输出;
  6. webspy: 指定一个要嗅探的主机,如果指定主机发送HTTP请求,打开网页,webspy也会通过netscape浏览器在本地打开一个相同的网页;
  7. sshmitm: 是Dsniff自带的一个具有威胁的工具之一。首先通过dnsspoof伪造实际机器主机名将攻击目标主机的SSH连接转到本地,那么sshmitm可以截获来自主机的密钥,并获得被劫持连接中的所有信息解码,然后重新转发SSH流量到SSH服务器;
  8. webmitm:与sshmitm类似,也需要dnsspoof的"配合",不同的是,webmitm"劫持"的是HTTP和HTTPS会话过程,捕获SSL的加密通信;
  9. arpspoof:启用arp欺骗,将自己网卡的IP地址伪装成指定IP地址的MAC;
  10. dnsspoof: 启用DNS欺骗,如果dnsspoof嗅探到局域网内有DNS请求数据包,它会分析其内容,并用伪造的DNS响应包来回复请求者。如果是 请求解析某个域名,dnsspoof会让该域名重新指向另一个IP地址(黑客所控制的主机),如果是反向IP指针解析,dnsspoof也会返回一个伪造的域名;
  11. macof:用来进行MAC flooding,可以用来使交换机的MAC表溢出,对于以后收到的数据包以广播方式发送。注意:在进行MAC泛洪之前就存在于交换机MAC表中的条目不会被覆盖,只能等到这些条目自然老化;
  12. tcpkill: 能够切断指定的TCP会话连接,主要是基于TCP的三次握手过程;
  13. tcpnice: 能够通过在添加活动的流量,降低指定的LAN上的TCP连接的速度.

 四. Dsniff 简单演示

  • dsniff: 在虚拟机开启密码嗅探,获取的ftp登陆账号和密码。需要注意的是dsniff获取密码是在释放会话之后。
[root@dsniff ~]# dsniff

dsniff: listening on eth0
-----------------
09/23/10 17:20:47 tcp 192.168.1.110.2048 -> 192.168.1.104.21 (ftp)
USER root
PASS ftptest
  • macof: 主动攻击,制造大量mac,将交换机强制变成hub(当然这也得看发动攻击的主机的性能,这里是虚拟机对cisco 2950 的macof,从效果上来看,虽然将交换机的cam表打满了,性能上也下降了许多,但交换机并没有完全变成hub),以方便后续的抓包。
switch#show mac-address-table count

Mac Entries for Vlan 1:
---------------------------
Dynamic Address Count : 8190
Static Address Count : 0
Total Mac Addresses : 8190 Total Mac Address Space Available: 0 

Dsniff简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

随机推荐

  1. Java语言实现通过Ajax抓取后台数据及图片

    1.Java语言实现通过Ajax抓取后台数据及图片信息 1.1数据库设计: create table picture( pic_id number not null, pic_name )not nu ...

  2. Go语言之旅:基本类型

    原文地址:https://learn-linux.readthedocs.io 欢迎关注我们的公众号:小菜学编程 (coding-fan) Go 内置了以下基本类型: 布尔 bool 字符串 stri ...

  3. Objective-C 之深拷贝和浅拷贝

    3月箴言 人的思想是了不起的,只要专注于某一项事业,就一定会做出使自己感到吃惊的成绩来.—— 马克·吐温 1.iOS中关于深拷贝和浅拷贝的概念 浅拷贝:浅拷贝并不拷贝对象本身,只是对指向对象的指针进行 ...

  4. 清理 Xcode 10 记录

    1,清理 ~/Library/Developer/CoreSimulator/Devices 说明:该目录存放当前的所有模拟器,每个标识符代表一台机器,清理掉避免存在旧版本的模拟器缓存 执行: 关闭模 ...

  5. JS判断两个数字的大小

    javascript中定义的var类型是弱类型,默认是String类型,在比较两个数字大小的时候默认比较的是两个字符串,比如,在比较10和2时,按数字做比较10是比2大,可是按默认的字符串比较时,第一 ...

  6. poj1733 Parity Game(扩展域并查集)

    描述 Now and then you play the following game with your friend. Your friend writes down a sequence con ...

  7. BufferedImage缓存图片(data:image/jpg;base64,)转换base64输出与解析

    1.比如说二维码图片数据data,不想落地生成jpg文件,通过java缓存文件转换base64输出到页面展示,那么java后端处理写法参考如下: InputStream is = new ByteAr ...

  8. jQuery实现全选、全不选以及反选操作

    在写购物车案例时实现全选操作使用的是js的getAttribute()setAttribute()方法获取checked属性的值是undefined实现完成之后全选操作,如果在全选中的情况下改变其中一 ...

  9. jQuery实现页面回到顶部功能

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  10. Easy-UI中datebox的默认显示当前日期的最简单的两种方法

    在中有一个Today按钮就是实现显示当前日期,所以我们在src/jquery.datebox.js文件中可以找到currentText:'Today'.所以我们可以使用'currentText'和'T ...