Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Open source MAC Telnet client and server for connecting to Microtik RouterOS routers and Linux machines via MAC address.

branch: master

Code whitespace cleanup, and full malloc removal.

latest commit a3688d0036
Håkon Nessjøen authored Håkon Nessjøen committed
Octocat-spinner-32 config Removed .deb specific files and updated makefile/readme February 27, 2011
Octocat-spinner-32 docs Completed functional autologin support. June 30, 2013
Octocat-spinner-32 po Added "batch-mode" output for mactelnet -l option. Added interface in… January 13, 2013
Octocat-spinner-32 LICENSE GPL'd it September 26, 2010
Octocat-spinner-32 Makefile Completed functional autologin support. June 30, 2013
Octocat-spinner-32 README.markdown Updated internationalization, sped up code by using fputs instead of … July 17, 2012
Octocat-spinner-32 autologin.c Completed functional autologin support. June 30, 2013
Octocat-spinner-32 autologin.h Completed functional autologin support. June 30, 2013
Octocat-spinner-32 config.h Completed functional autologin support. June 30, 2013
Octocat-spinner-32 console.c Cleaned up description and synopsis of files May 01, 2011
Octocat-spinner-32 console.h Cleaned up description and synopsis of files May 01, 2011
Octocat-spinner-32 interfaces.c Code whitespace cleanup, and full malloc removal. February 23, 2014
Octocat-spinner-32 interfaces.h Added support for reloading list of interfaces/addresses on HUP signa… November 13, 2011
Octocat-spinner-32 macping.c port to freebsd February 03, 2014
Octocat-spinner-32 mactelnet.c port to freebsd February 03, 2014
Octocat-spinner-32 mactelnet.h Cleaned up description and synopsis of files May 01, 2011
Octocat-spinner-32 mactelnetd.c Code whitespace cleanup, and full malloc removal. February 23, 2014
Octocat-spinner-32 md5.c Removed dependency of libssl/crypto. Added L. Peter Deutsch's impleme… November 01, 2010
Octocat-spinner-32 md5.h Removed dependency of libssl/crypto. Added L. Peter Deutsch's impleme… November 01, 2010
Octocat-spinner-32 mndp.c port to freebsd February 03, 2014
Octocat-spinner-32 mndp.h Added "batch-mode" output for mactelnet -l option. Added interface in… January 13, 2013
Octocat-spinner-32 protocol.c Code whitespace cleanup, and full malloc removal. February 23, 2014
Octocat-spinner-32 protocol.h port to freebsd February 03, 2014
Octocat-spinner-32 users.c Cleaned up description and synopsis of files May 01, 2011
Octocat-spinner-32 users.h Cleaned up description and synopsis of files May 01, 2011
README.markdown

MAC-Telnet for Linux

Console tools for connecting to, and serving, devices using MikroTik RouterOS MAC-Telnet protocol.

Installation

Then download source tarball, extract, compile and install:

wget http://github.com/haakonnessjoen/MAC-Telnet/tarball/master
tar zxvf haakonness*.tar.gz
cd haakonness*/
make all install

Now you're ready.

TIP: You can use the well known "expect" tool to automate/script dialogues via mactelnet!

Usage

# mactelnet -h
Usage: mactelnet <MAC|identity> [-h] [-n] [-t <timeout>] [-u <user>] [-p <password>] [-U <user>] | -l

Parameters:
  MAC            MAC-Address of the RouterOS/mactelnetd device. Use mndp to
                 discover it.
  identity       The identity/name of your destination device. Uses
                 MNDP protocol to find it.
  -l             List/Search for routers nearby. (using MNDP)
  -n             Do not use broadcast packets. Less insecure but requires
                 root privileges.
  -t <timeout>   Amount of seconds to wait for a response on each interface.
  -u <user>      Specify username on command line.
  -p <password>  Specify password on command line.
  -U <user>      Drop privileges to this user. Used in conjunction with -n
                 for security.
  -q             Quiet mode.
  -h             This help.

Example:

$ mactelnet 0:c:42:43:58:a5 -u admin
Password: 
Connecting to 0:c:42:43:58:a5...done


  MMM      MMM       KKK                          TTTTTTTTTTT      KKK
  MMMM    MMMM       KKK                          TTTTTTTTTTT      KKK
  MMM MMMM MMM  III  KKK  KKK  RRRRRR     OOOOOO      TTT     III  KKK  KKK
  MMM  MM  MMM  III  KKKKK     RRR  RRR  OOO  OOO     TTT     III  KKKKK
  MMM      MMM  III  KKK KKK   RRRRRR    OOO  OOO     TTT     III  KKK KKK
  MMM      MMM  III  KKK  KKK  RRR  RRR   OOOOOO      TTT     III  KKK  KKK

  MikroTik RouterOS 4.0 (c) 1999-2009       http://www.mikrotik.com/


 [admin@HMG] >

MAC-Ping usage

# macping -h
Usage: macping <MAC> [-h] [-c <count>] [-s <packet size>]

Parameters:
  MAC       MAC-Address of the RouterOS/mactelnetd device.
  -s        Specify size of ping packet.
  -c        Number of packets to send. (0 = for ever)
  -h        This help.

Example:

# macping 0:c:42:43:58:a5
0:c:42:43:58:a5 56 byte, ping time 1.17 ms
0:c:42:43:58:a5 56 byte, ping time 1.07 ms
0:c:42:43:58:a5 56 byte, ping time 1.20 ms
0:c:42:43:58:a5 56 byte, ping time 0.65 ms
0:c:42:43:58:a5 56 byte, ping time 1.19 ms

5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.65/1.06/1.20 ms

Or for use in bash-scripting:

# macping 0:c:42:43:58:a5 -c 2 >/dev/null 2>&1 || ( echo "No answer for 2 pings" | mail -s "router down" my.email@address.com )
Something went wrong with that request. Please try again.