Proyek ini berisi seperangkat alat konsol untuk menghubungkan dan melayani perangkat menggunakan protokol MikroTik RouterOS MAC-Telnet. Ini adalah protokol jaringan berpemilik yang digunakan oleh perangkat MikroTik RouterOS untuk menyediakan akses shell ke perangkat mereka meskipun perangkat tersebut tidak dikonfigurasi dengan alamat ip.
Protokol ini didasarkan pada pengiriman dan penerimaan paket siaran udp, sehingga tidak aman dalam hal apa pun. Ini hanya boleh digunakan sebagai upaya terakhir untuk mengonfigurasi perangkat yang tidak memiliki alamat IP, atau dalam lingkungan jaringan yang aman.
Selain klien dan server, proyek ini juga mencakup alat ping, yang dapat digunakan untuk melakukan ping ke perangkat RouterOS menggunakan alamat MAC-nya, dan alat MNDP, yang dapat digunakan untuk menemukan perangkat RouterOS dan MAC-Telnet di jaringan lokal. .
Klien dan server MAC-Telnet sekarang mendukung otentikasi EC-SRP baru yang wajib setelah Mikrotik menghapus dukungan untuk otentikasi MD5 di RouterOS v6.43 dan seterusnya. Dukungan untuk menggunakan otentikasi MD5 lama masih dimungkinkan melalui flag baris perintah untuk kompatibilitas mundur.
Dengan otentikasi EC-SRP yang baru, server MAC-Telnet sekarang mendukung hashing kata sandi untuk file pengguna. Ini berarti bahwa server dapat menyimpan kata sandi hash dalam sebuah file, bukan kata sandi teks biasa. Untuk menambah/memperbarui pengguna dengan dukungan kata sandi hash baru, gunakan tanda -a
dengan perintah mactelnetd
. Anda juga dapat membuat daftar pengguna dengan tanda -l
, atau menghapus pengguna dari file pengguna dengan -d
.
Catatan: Perintah ini dapat digunakan saat server sedang berjalan untuk memperbarui database pengguna tanpa me-restart server.
Tip
Jika Anda hanya menginginkan alat klien mactelnet
, dan bukan server mactelnetd
saat mengkompilasi dari sumber, Anda dapat menambahkan tanda --without-mactelnetd
ke perintah ./configure
sebelum kompilasi.
ghcr.io/haakonnessjoen/mac-telnet
berisi rilis terbaru dari keempat program:
docker run -it --rm --net=host haakonn/mactelnet mactelnet …
docker run -it --rm --net=host haakonn/mactelnet macping …
docker run -it --rm --net=host haakonn/mactelnet mndp …
docker run -it --rm --net=host haakonn/mactelnet mactelnetd …
Perhatikan bahwa Docker menjalankan container di jaringan internal yang terisolasi secara default. --net=host
menginstruksikan Docker untuk menyediakan akses langsung mactelnet
ke antarmuka jaringan mesin host.
Lihat Penggunaan untuk informasi lebih lanjut.
Untuk menginstal dependensi:
yum -y install wget automake gettext gettext-devel libbsd-devel gcc make
Unduh tarball sumber, ekstrak, kompilasi, dan instal:
wget http://github.com/haakonnessjoen/MAC-Telnet/tarball/master -O mactelnet.tar.gz
tar zxvf mactelnet.tar.gz
cd haakonness*/
./autogen.sh
make all install
Rilis terbaru biasanya tersedia di Debian dan Ubuntu versi terbaru. Anda dapat menginstalnya dengan apt install mactelnet-client
atau apt install mactelnet-server
.
Untuk menginstal cabang master
terbaru dari source , gunakan instruksi berikut:
apt-get install build-essential autopoint automake autoconf libbsd-dev libssl-dev gettext
Unduh tarball sumber, ekstrak, kompilasi, dan instal:
wget http://github.com/haakonnessjoen/MAC-Telnet/tarball/master -O mactelnet.tar.gz
tar zxvf mactelnet.tar.gz
cd haakonness*/
./autogen.sh
make all install
Dependensi: dentang (gcc atau serupa), automake, autoconf
Untuk menginstal dependensi pada FreeBSD:
pkg install automake autoconf gettext-tools
Unduh tarball sumber, ekstrak, kompilasi, dan instal:
wget http://github.com/haakonnessjoen/MAC-Telnet/tarball/master -O mactelnet.tar.gz
tar zxvf mactelnet.tar.gz
cd haakonness*/
./autogen.sh
./configure LDFLAGS=" -L/usr/local/lib"
gmake all install
Unduh tarball sumber dan ekstrak:
wget http://github.com/haakonnessjoen/MAC-Telnet/tarball/master -O mactelnet.tar.gz
tar zxvf mactelnet.tar.gz
cd haakonness*/
Instal dependensi
brew install gettext autoconf automake libtool openssl pkg-config
Siapkan lingkungan build, kompilasi dan instal:
export GETTEXT_PATH=$(brew --prefix gettext)
export OPENSSL_PATH=$(brew --prefix openssl)
export PATH="${GETTEXT_PATH}/bin:${OPENSSL_PATH}/bin:$PATH"
export LDFLAGS="-L${GETTEXT_PATH}/lib"
export CPPFLAGS="-I${GETTEXT_PATH}/include -I${OPENSSL_PATH}/include"
export CRYPTO_CFLAGS="-I${OPENSSL_PATH}/include"
export CRYPTO_LIBS="-L${OPENSSL_PATH}/lib ${OPENSSL_PATH}/lib/libcrypto.3.dylib"
./autogen.sh
make all install
# mactelnet -h
Usage: mactelnet [-h] [-n] [-a ] [-A] [-t ] [-u ] [-p ] [-U ] | -l [-B] [-t ]
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 (MNDP). You may use -t to set timeout.
-B Batch mode. Use computer readable output (CSV), for use with -l.
-n Do not use broadcast packets. Less insecure but requires
root privileges.
-a Use specified path instead of the default: ~/.mactelnet for autologin config file.
-A Disable autologin feature.
-t Amount of seconds to wait for a response on each interface.
-u Specify username on command line.
-p Specify password on command line.
-U Drop privileges to this user. Used in conjunction with -n
for security.
-q Quiet mode.
-o Force old MD5 authentication method.
-h This help.
Contoh menggunakan identitas:
$ mactelnet main-router
Searching for 'main-router'...found
Login: admin
Password:
Connecting to d4:ca:6d:12:47:13...done
Contoh menggunakan alamat mac:
$ mactelnet 0:c:42:43:58:a5
Login: 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 6.49 (c) 1999-2021 http://www.mikrotik.com/
[admin@Mikrotik] >
Anda dapat menggunakan alat "harapan" yang terkenal untuk mengotomatiskan/membuat skrip dialog melalui mactelnet!
# mactelnet -l
# macping -h
Usage: macping [-h] [-c ] [-s ]
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.
Contoh:
# 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
Atau untuk digunakan dalam skrip bash:
# macping 0:c:42:43:58:a5 -c 2 >/dev/null 2>&1 || ( echo "No answer for 2 pings" | mail -s "router down" [email protected] )