From Wikipedia, the free encyclopedia
Developer(s)Dug Song
Stable release
2.3 / December 17, 2000; 22 years ago (2000-12-17)
Operating systemUnix-like
TypePacket sniffer
License3-clause BSD License[1]

dSniff is a set of password sniffing and network traffic analysis tools written by security researcher and startup founder Dug Song to parse different application protocols and extract relevant information. dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf, and webspy passively monitor a network for interesting data (passwords, e-mail, files, etc.). arpspoof, dnsspoof, and macof facilitate the interception of network traffic normally unavailable to an attacker (e.g., due to layer-2 switching). sshmitm and webmitm implement active man-in-the-middle attacks against redirected SSH and HTTPS sessions by exploiting weak bindings in ad-hoc PKI.[2] [3]


The applications sniff usernames and passwords, web pages being visited, contents of an email, etc. As the name implies, dsniff is a network sniffer, but it can also be used to disrupt the normal behavior of switched networks and cause network traffic from other hosts on the same network segment to be visible, not just traffic involving the host dsniff is running on.

It handles 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 pc Anywhere, NAI Sniffer, Microsoft SMB, Oracle SQL*Net, Sybase and Microsoft SQL protocols.

The name "dsniff" refers both to the package as well as an included tool. The "dsniff" tool decodes passwords sent in cleartext across a switched or unswitched Ethernet network. Its man page explains that Dug Song wrote dsniff with "honest intentions - to audit my own network, and to demonstrate the insecurity of cleartext network protocols." He then requests, "Please do not abuse this software."

These are the files that are configured in dsniff folder /etc/dsniff/

Sample hosts file.[4]
If no host file is specified, replies will be forged for all address queries on the LAN with an answer of the local machine’s IP address.
Network protocol magic
Default trigger table

The man page for dsniff explains all the flags. To learn more about using dsniff, you can explore the Linux man page.[5]

This is a list of descriptions for the various dsniff programs. This text belong to the dsniff “README” written by the author, Dug Song.

  • arpspoof (ARP spoofing): Redirect packets from a target host (or all hosts) on the LAN intended for another local host by forging ARP replies. This is an extremely effective way of sniffing traffic on a switch. kernel IP forwarding (or a userland program which accomplishes the same, e.g. fragrouter :-) must be turned on ahead of time.
  • dnsspoof: Forge replies to arbitrary DNS address / pointer queries on the LAN. this is useful in bypassing hostname-based access controls, or in implementing a variety of man-in-the middle attacks (HTTP, HTTPS, SSH, Kerberos, etc.).
  • tcpkill: Kills specified in-progress TCP connections (useful for libnids-based applications which require a full TCP 3-whs for TCB creation). Can be effective for bandwidth control.
  • filesnarf[3]
  • mailsnarf[3]
  • tcpnice[3]
  • urlsnarf[3]
  • webspy:[3] a program which intercepts URLs sent by a specific IP address and directs your web browser to connect to the same URL. This results in your browser opening up the same web pages as the target being sniffed.
  • sshmitm and webmitm:[3] programs designed to intercept SSH version 1 communications and web traffic respectively with a man-in-the-middle attack
  • msgsnarf:[3] a program designed to intercept Instant Messenger and IRC conversations
  • macof:[3] a program designed to break poorly designed Ethernet switches by flooding them with packets with bogus MAC addresses (MAC flooding).

See also[edit]


  1. ^ LICENSE file in the tarball
  2. ^ dsniff
  3. ^ a b c d e f g h i Christopher R. Russel. "Penetration Testing with dsniff".
  4. ^ dnsspoof(8) - Linux man page
  5. ^ dsniff(8): password sniffer - Linux man page

External links[edit]