Running TP-Link Easy Smart Configuration Utility on linux

I have been looking for a way to run this utility on linux (because it is a java app) and I found this guide explaining how to achieve this.

By the way, I use Arch Linux.

So, first, you will need to download the latest x64 Oracle JRE for linux from here. In my case, Linux x64.

Create a new Java folder on your home directory and extract the Oracle JRE archive there:

mkdir ~/Java
tar -xvf ~/Download/jre-8u311-linux-x64.tar.gz -C ~/Java

Then download the Easy Smart Configuration Utility from here.

Continue reading

Running Cisco ASDM on linux

I have been looking for some months on how to do this. Searching over the internet, there many old guides that most of them do not work, except this one.

By the way, I use Arch Linux.

So, first, you will need to download the latest x64 Oracle JRE for linux from here. In my case, Linux x64.

Create a new Java folder on your home directory and extract the Oracle JRE archive there:

mkdir ~/Java
tar -xvf ~/Download/jre-8u311-linux-x64.tar.gz -C ~/Java

In order to connect to an ASA system, you can run the following :


where is the management IP of the ASA

If the connection is successful, a desktop shortcut will be created on ~/Desktop. You will, need to make a copy of this shortcut to bypass a security issue which disables the launcher after every use. Every successful connection, will create a desktop shortcut.

Continue reading

Debian 10 installation without monitor via serial

I tested some solutions I found over the internet, but some were too hard and time consuming and some others didn’t work as expected.

The whole idea is to make changes to the .iso image or the image already transferred to a bootable USB stick, in order for grub to send all output to the serial port. I used many tools and many ways to do this and I found a simple solution that suited me. What I did was quite simple.

First, use Rufus (and only Rufus) to transfer the .iso image to your USB stick. Use the default settings and transfer the .iso image.

Then, there are some file changes. All the changes/additions are marked with bold. The position of the changes matters, so  be careful. Below are the final files that worked. Continue reading

Nextcloud on OMV 5

As the title states. This solution is without the use of docker. It is just a straight forward installation of Nextcloud 18.0.3 on OMV 5 using Nginx (php-fpm)  with PHP 7.3 that is already installed and MariaDB as our database server. In order to work on port 80 or port 443, we will have to change the OMV web ports to 8080 and 8443. You can achieve this via “General settings” on the OMV web interface. This guide asumes that Nextcloud will user ports TCP/80 and TCP/443. Everything that is marked RED, needs your attention.

Let’s start with some packages.

apt install mariadb-server php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip wget unzip php-imagick php-intl php-gmp -y

Download nextcloud and place it on folder /var/www

cd /usr/src
mv nextcloud /var/www/
chown -R www-data:www-data /var/www/nextcloud/
chmod -R 755 /var/www/nextcloud/

Continue reading

Cisco IOS Self-Signed Certificate Expiration

On Jan 1, 2020 all self signed certificates that were generated on IOS/IOS-XE platforms got expired. After that time your device will not be able to generate self signed certificates.

There are some work arounds :

  • Obtain a valid certificate from a 3rd part Certificate Authority
  • Use the IOS CA Server to generate a new certificate
  • Use OpenSSL to generate a new self-signed certificate
  • Update your system, if possible, to a fixed SSC IOS version

Systems affected :

  • All IOS 12.x
  • all IOS 15.x prior to 15.6(3)M7, 15.7(3)M5, 15.8(3)M3, 15.9(3)M
  • all IOS-XE prior to 16.9.1

You can find more information here.

DHCP server in Debian 9

These are the steps that I followed, in order to make a DHCP server in Debian 9 Stretch.

First of all we need to assign an IP address on our main ethernet interface. For this guide, I will use interface enp0s2. So we have to edit the file /etc/network/interfaces and add the following :

auto enp2s0
allow-hotplug enp2s0
iface enp2s0 inet static

Then we need to download our dhcp package.

sudo apt install isc-dhcp-server
Continue reading

Napco 1632 virtual keypad project

UPDATE 11/12/2021 : Colin, a blog reader, contributed to the project with a final solution which can be found here.

UPDATE 12/11/2021 : Apostolos, a blog reader, contributed to the project with the following design, on how to connect ESP to the panel bus. At the moment, I am not able to test it, but Apostolos confirms that it works. Please use with caution

UPDATE 29/8/2020 : I was very pleased to see, that other people also share their time and their knowledge to help others. I did abandoned this project until Matt made a comment on this post with a great solution, which I intend to use soon. All credits to Matt for his brilliant solution!!

UPDATE 29/7/2018 : This will be the first unfinished project that is posted on this blog. After spending three months, I got some info that the version of the panel I have,  does not support automation. 

Another thing that lead me to abandon this project, is that NAPCO does not provide any info on this panel like DSC etc. so it is very difficult to reverse engineer. 

I will leave this port active though, for someone who will need the info posted here.

I am currently working on a project regarding some hack on my alarm panel. It’s a napco 1632. I am trying to reverse engineer communications in order to build a webapp to control the panel remotely. There are some options provided by napco, but need separate hardware.

My system is equipped with NL-MOD-UL module that gives you the ability to configure the alarm panel through LAN. This module is connected on the serial port of the panel. The panel has the ability to send real-time status messages through the serial port and receive commands like system arm, but napco hasn’t developed any application to do that. They have only quickloader for configuration and management of the panel.

Newest modules like STARLINK or IBR-ZREMOTE give the ability to control the panel remotely, but the hardware is expensive. So, as I said,  I am trying to reverse engineer for a solution. The newest modules are not connected on the serial  port of the panel but on the keypad bus. I have already ordered a logic analyzer in order to decode the bus. But until I receive my logic analyzer, I did some attempts to read it via an arduino MEGA. I made a circuit with an optocoupler because the voltage is to high for the arduino to handle.

Here is the arduino code : ttl-debug

The bus of napco 1632 has four cables :

  • RED ( +12V )
  • BLACK ( GND )
  • YELLOW ( Keypad TX – Panel RX )
  • GREEN ( Panel TX – Keypad RX )

Continue reading

LTSP on ubuntu 16.04 server

LTSP (Linux Terminal Server Project), adds thin client support to Linux servers. Just imagine PCs without a hard drive, running linux over the network. Pretty cool!

So what do we need to accomplish that ?

We just need a DHCP service (with specific options like 66, 67, 17), a linux box running the  LTSP server and some client PCs connected to the same network. You will find many guides on the internet on how to install a LTSP server. All guides install the DHCP server on the same box. Also they are using DHCP proxy etc. My case has a DHCP server working on mikrotik routerOS.

So, in this guide, I assume that my local network is, my mikrotik device is the gateway of the network and has an interface (ether1) with IP address and my linux box has the ip address and runs ubuntu server 16.04. Continue reading

Traffic capture from a mikrotik device to wireshark

Today, for troubleshooting purposes, I needed to capture traffic from a Mikrotik wireless access point that I have. Mikrotik devices have a build-in tool called Packet sniffer, which does exactly what I need but what if I had these captures on a remote PC ?

Well we can accomplish this and have the captures on wireshark. All we need is network connectivity, of course, between the Mikrotik device and the PC running wireshark. I am using wireshark 2.2.7 by the way.

Continue reading