The last time Hackerfall tried to access this page, it returned a not found error. A cached version of the page is below, or click here to continue anyway

etherpoke

etherpoke

News

2016-02-05 — Version 2.5.1 released.

2016-01-13 — Version 2.5.0 released.

2015-11-25 — Version 2.4.0 released.

2015-06-02 — Version 2.3.1 released.

2015-05-09 — Version 2.3.0 released.

2015-05-09 — Download section of the page lists only last version of each minor release, including the signature and changelog.

2015-05-05 — Version 2.2.1 released.

2015-03-07 — Version 2.2.0 released.

2015-01-17 — Version 2.1.2 released.

2015-01-04 — Version 2.1.1 released.

2014-12-27 — Released tarballs have been signed with CodeWard Software Signing key.

2014-12-26 — Version 2.1.0 released.

2014-11-09 — Version 2.0.2 released.

Description

etherpoke is a scriptable network session monitor.

etherpoke defines three events to which a hook (system command) can be assigned. The event hook can be any program installed in the system.

Since version 2.3.0, etherpoke supports socket notifications (TCP/IP protocol), allowing remote clients to be notified when one of the events is triggered.

etherpoke is free software licensed under GNU GPL3.

Installation

If etherpoke is not available in the repository of your favorite GNU/Linux distribution, you may consider installing etherpoke from the source.

From the source:

  1. Download the source code.
  2. Extract the content of the archive.
  3. Change current directory to extracted directory.
  4. Run make install with root privileges.

Dependencies:

Configuration

etherpoke uses libconfig to parse a configuration file.

Example #1: Event hooks only (exec)

ambient: {
	interface = "wlan1";
	match = "ether src f8:2f:a8:b0:c9:11 or ether src 08:9e:01:f5:43:16";
	session_begin = "/usr/bin/audacious /home/music/dxhr_adam_jensen_apartment.mp3";
	session_end = "/usr/bin/audacious --stop";
	session_timeout = 600;
};

This configuration states that we are interested only in packets originating from devices with hardware address f8:2f:a8:b0:c9:11 or 08:9e:01:f5:43:16, captured on the interface wlan1. If the first packet from any of these devices is captured, music player will start playing local mp3 file. After 600 seconds since the last seen packet originating from those devices, the music player will stop.

Example #2: TCP/IP notifications only (sock)

ambient_remote: {
	interface = "wlan1";
	match = "ether src f8:2f:a8:b0:c9:11 or ether src 08:9e:01:f5:43:16";
	session_begin = "/usr/bin/audacious /home/music/dxhr_adam_jensen_apartment.mp3";
	session_end = "/usr/bin/audacious --stop";
	session_timeout = 600;
	notify_exec = false;
	notify_sock = true;
};

The configuration above showcases the TCP/IP notifications. Again we are looking for data originating from devices with hardware address f8:2f:a8:b0:c9:11 or 08:9e:01:f5:43:16, captured on the interface wlan1. Unlike the previous example, this one disables execution of defined event hooks with option notify_exec set to false, and instead enables the socket notifications with option notify_sock set to true. When any of the events is triggered, a message is delivered to connected clients.

Please note, that etherpoke does not open TCP port automatically, instead it expects an argument to be provided on start. See Usage for more information.

Usage

Usage: etherpoke [OPTIONS] <FILE>

Options:
  -4                        bind to IPv4 address
  -6                        bind to IPv6 address
  -t, --hostname=HOST:PORT  bind to address/hostname and port
  -d, --daemon              run as a daemon
  -m, --accept-max=NUM      accept maximum of NUM concurrent client connections
  -V, --verbose             increase verbosity
  -h, --help                show this usage information
  -v, --version             show version information

Download

Latest changes and all version releases are available in etherpoke's git repository.

Acknowledgments

Even long before etherpoke's inception, we have been standing on a giant's shoulder. We would like to acknowledge that fact by thanking to key projects we have relied most upon during the development.

Continue reading on codeward.org