debian/0000755000000000000000000000000011736010204007160 5ustar debian/source/0000755000000000000000000000000011736010204010460 5ustar debian/source/format0000644000000000000000000000001411736010204011666 0ustar 3.0 (quilt) debian/copyright0000644000000000000000000000176711736010204011126 0ustar This package was downloaded from http://www.secdev.org/projects/etherpuppet/ Files: etherpuppet.c debian/etherpuppet.1 Copyright: © 2004 Philippe Biondi License: LGPL This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. Files: debian/* Copyright: © 2008 Vincent Bernat License: GPL-2+ The Debian packaging information is under the GPL, version 2 or later On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL' and the complete text of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL'. debian/rules0000755000000000000000000000033011736010204010234 0ustar #! /usr/bin/make -f include /usr/share/cdbs/1/rules/debhelper.mk DEB_INSTALL_MANPAGES_etherpuppet=debian/etherpuppet.1 build/etherpuppet:: $(CC) $(CFLAGS) etherpuppet.c -o etherpuppet clean:: rm -f etherpuppet debian/compat0000644000000000000000000000000211736010204010356 0ustar 5 debian/install0000644000000000000000000000002411736010204010545 0ustar etherpuppet usr/bin debian/watch0000644000000000000000000000024211736010204010207 0ustar # Upstream does not release versioned tarballs. The latest version can # always be found here: # http://www.secdev.org/projects/etherpuppet/files/etherpuppet.c debian/etherpuppet.10000644000000000000000000000604311736010204011612 0ustar .Dd $Mdocdate: August 7 2008 $ .Dt ETHERPUPPET 1 .Os .Sh NAME .Nm etherpuppet .Nd create a virtual interface from a remote Ethernet interface .Sh SYNOPSIS .Nm .Op Fl s Ar port .Op Fl c Ar target:port .Op Fl B .Op Fl S .Op Fl M Ar filter .Op Fl C .Op Fl i Ar iface .Nm .Op Fl m .Op Fl s Ar port .Op Fl c Ar target:port .Op Fl I Ar iface .Sh DESCRIPTION .Nm is a small program that will create a virtual interface .Em (TUN/TAP) on one machine from the ethernet interface of another machine through a TCP connection. Everything seen by the real interface will be seen by the virtual one. Everything sent to the virtual interface will be emitted by the real one. .Pp It has been designed because one often has a small machine as his Internet gateway, and sometimes want to run some big applications that need raw access to this interface, for sniffing (Ethereal, etc.) or for crafting packets that do not survive being reassembled, NATed, etc. .Pp When launched with the first syntax, .Nm is a slave that will send to its master everything that passes on the given interface. With the second syntax, .Nm is the master and will create the special .Em TAP device (whose default name starts with .Em puppet . In both modes, .Nm is able to either connect or listen to its slave/master. .Pp Traffic seen by the real interface is sent through the TCP connection to the doll interface. Thus, it is important that this connection is not seen by the real interface (or else, we'll have a cute infinite traffic loop). .Pp The options are as follows: .Bl -tag -width Ds .It Fl s Ar port Listen on the given TCP port. .It Fl c Ar ip:port Connect to the slave/master on the given IP/port. .It Fl i Ar iface Vampirize the given interface name. .It Fl I Ar ifname Choose the name of the virtual interface. .It Fl m Master mode. .It Fl B Do not use .Em BPF . With this option, .Nm may see its own traffic. .It Fl S Build .Em BPF with the content of .Em SSH_CONNECTION environment variable. .It Fl M Ar src:sp,dst:dp Build manually a .Em BPF filter that will exclude matching traffic in both directions. .It Fl C Do not copy real interface parameters to virtual interface. .El .Pp The source and destination are by default the TCP connection end points. If you go through SSH tunneling, you can use the .Fl S option to use .Em SSH_CONNECTION environment variable content instead, so that you will filter out the SSH connection of your current session and not the connection to the local SSH tunnel end point (which is pointless). If this still not fit your needs, you can manually specify the connection end points with .Fl M . .Pp If you connect two Etherpuppet instances in master mode, you'll get a TCP tunnel through virtual interfaces. .Pp If you connect two Etherpuppet instances in slave mode, you may get some kind of inefficient distributed bridge, but more probably, you'll get a big mess. .Sh AUTHORS .An -nosplit The .Nm program was written by .An Philippe Biondi Aq phil@secdev.org . .Pp This manual page was written by .An Vincent Bernat Aq bernat@debian.org , for the Debian project (but may be used by others). debian/changelog0000644000000000000000000000135011736010204011031 0ustar etherpuppet (0.3-2) unstable; urgency=low * Fix "build-arch" target being empty. Closes: #666313. * Bump Standards-Version to 3.9.3. * Switch to 3.0 (quilt) format. -- Vincent Bernat Sat, 31 Mar 2012 18:45:42 +0200 etherpuppet (0.3-1) unstable; urgency=low * New upstream version + drop patches, they have been applied upstream * Fix long description, thanks to a proposition from W. Martin Borgert (Closes: #495669). BTW, use Wireshark as example instead of Ethereal. -- Vincent Bernat Fri, 05 Dec 2008 19:33:02 +0100 etherpuppet (0.2-1) unstable; urgency=low * Initial release (Closes: #493972) -- Vincent Bernat Thu, 07 Aug 2008 18:41:51 +0200 debian/control0000644000000000000000000000214111736010204010561 0ustar Source: etherpuppet Section: net Priority: optional Maintainer: Vincent Bernat Build-Depends: debhelper (>= 5), cdbs Standards-Version: 3.9.3 Homepage: http://www.secdev.org/projects/etherpuppet/ Vcs-Browser: http://git.debian.org/?p=collab-maint/etherpuppet.git Vcs-Git: git://git.debian.org/git/collab-maint/etherpuppet.git Package: etherpuppet Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: create a virtual interface from a remote Ethernet interface Etherpuppet is a small program that will create a virtual interface (TUN/TAP) on one machine from the ethernet interface of another machine through a TCP connection. Everything seen by the real interface will be seen by the virtual one. Everything sent to the virtual interface will be emitted by the real one. . It has been designed because one often has a small machine as their Internet gateway, and sometimes want to run some big applications that need raw access to this interface, for sniffing (Wireshark, etc.) or for crafting packets that do not survive being reassembled, translated, routed, etc.