Driftnet watches network traffic, and picks out and displays JPEG and GIF images for display
Clone or download
Latest commit da5afe9 Sep 22, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
src 'web_data.c' script: Don't rely on echo '-n' flag Aug 23, 2018
.gitignore New release version 1.0 May 12, 2013
COPYING Initial revision Jul 16, 2001
CREDITS "" Apr 26, 2004
Changelog Update changelog Sep 15, 2018
INSTALL Accommodate to the autools standard docs Jul 15, 2013
Makefile.am Update distributed docs Feb 15, 2015
README.md Fix README Sep 22, 2018
TODO Update TODO Apr 12, 2018
config.sub New HTTP-WebSockets display May 19, 2018
configure.ac Bump minor version Sep 15, 2018
driftnet.1.in New HTTP-WebSockets display May 19, 2018
driftnet.doxygen Bump minor version Sep 15, 2018



Driftnet watches network traffic, and picks out and displays JPEG and GIF images for display. It is a horrific invasion of privacy and shouldn't be used by anyone anywhere. It can also extract MPEG audio data from the network and play it. If you live in a house with thick walls, this may be a useful way to find out about your neighbours' musical taste.


Added new, http and websockets based, display
Added basic windows support (cygwin)
Added option to list capture interfaces
Added support for putting the interface in monitor mode

Support development

If you interested in this software (or other FOSS activities I do), get on board and become a Patron!



You will need:

On most Linux distributions (APT based) these can be installed by executing sudo apt-get install libpcap-dev libjpeg-dev libpng12-dev giflib-tools. If you don't want a version of driftnet which will display images itself, but just want to use it to gather images for some other application, you only need libpcap. See comments in the Makefile for more information. To play MPEG audio, you need an MPEG player. By default, driftnet will use mpg123.

Windows (on cygwin)

You will need:

Only 32 bits builds are supported (libwinpcap did not provide a x64 library). You should pass a x86 compiler to configure: ./configure --target=i686-pc-cygwin --host=i686-pc-cygwin


To compile, generate the needed autotools files with autoreconf -fi (you probably need to install autotools) then run ./configure; make; make install. Driftnet is at a very early stage of development and probably won't work for you at all.


Driftnet needs to run with sufficient privilege to obtain raw packets from the network. On most systems, this means running it as root.

You can use Driftnet to sniff images passing over a wireless network. However, Driftnet does not understand the optional WEP encryption used with wireless ethernet. Instead, you can use Kismet to decrypt packets and pass them into a named pipe; the -f option can then be used to have Driftnet read the packets from the pipe. Thanks to Rob Timko and Joshua Wright for pointing this out; Rob's page describes the process in greater detail.

If you find this program entertaining, you might want to help me develop it. The TODO file contains a list of yet-to-be-done ideas.

Driftnet is licensed under the GNU GPL. See the file COPYING in the distribution.