原文发表于: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. LWIP network interface 即 LWIP 的 硬件 数据 接口 移植 首先 详解 STM32 以太网数据 到达 的第一站: ETH DMA 中断函数

    要 运行  LWIP  不光 要实现  OS  的 一些 接口  ,还要 有 硬件 数据 接口 移植 ,即 网线上 来的 数据 怎么个形式 传递给  LWIP ,去解析 做出相应的 应答  ,2017 ...

  2. ASP.NET Core 中的 WebSocket 支持(转自MSDN)

    本文介绍 ASP.NET Core 中 WebSocket 的入门方法. WebSocket (RFC 6455) 是一个协议,支持通过 TCP 连接建立持久的双向信道. 它用于从快速实时通信中获益的 ...

  3. git相关命令

    查看分支:git branch创建分支:git branch <name>切换分支:git checkout <name>创建+切换分支:git checkout -b < ...

  4. emmet完整收录(html,css)

    emmet官网 https://emmet.io/ 语法篇 Child: > nav>ul>li <nav> <ul> <li></li&g ...

  5. webpack+vuecli使用问题总结

    1,按照官网安装步骤install $ npm install -g vue-cli $ vue init webpack my-project $ cd my-project $ npm insta ...

  6. 推荐一个网址:在线检查Yam文件语法格式的错误

    最近在学习Docker和K8S内容时候,经常会遇到要自己写一些容器部署或者组件部署的yaml文件. 但是苦于没有彻底熟悉yaml,有时候要到kubectl creat -f path 部署命令执行后, ...

  7. linux 学习第十一天

    一.配置服务说明 1.1.linux系统中的一切都是文件 1.2.配置一个服务就是在修改去配置文件 1.3.要想让新的配置文件立即生效,需要重启对应的服务 二.配置网卡 2.1.编辑配置文件 vim ...

  8. WebGl 缩放(矩阵变换)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 搭建php服务器网站

    一.Apache安装 yum install httpd启动systemctl start httpd.service #启动systemctl stop httpd.service #停止syste ...

  10. HCNP - Server

    Server DHCP配置 DHCP服务器配置: 第一种方法:自动配置 路由上面配置网关,开启dhcp服务 [R1]dhcp enable [R1-GigabitEthernet0/0/0]dhcp ...