Using netcat as port listener

• linux • Comments

Short but useful tip:

If you want to test if a port is open on Linux (e.g. all firewalls were opened) but you don’t have the listening application installed yet, you can use nc/netcat.

On the server side do:

# For TCP
nc -l -p $PORT_NUMBER
# For UDP
nc -l -u -p $PORT_NUMBER

On the client side you can now connect to the listening port:

# For TCP
nc host.tld $PORT_NUMBER
# For UDP
nc -u host.tld $PORT_NUMBER

This is basically a telnet chat, so you can send strings which should then be received on the other side.

Compile Blackcoin headless on Raspbian

• crypto currency • Comments

As I’m working with my Raspberry Pis again, I wanted to reactivate the wallets of crypto currencies I used to mine some time ago. The Pi is not very potent, so only Proof-of-stake coins qualify. For me those are Blackcoin, Mintcoin and Reddcoin all of which I wanted to run on the Pi. Of course I needed the headless version, I’m not using X11, not even speaking of QT. So here is the TL;DR for compiling the blackcoind, mintcoind and reddcoind on Raspbian. It is probably the same for every other Debian derivate and most altcoins, independent of architecture or name. I’m taking Blackcoin for my example:

sudo apt-get install build-essential libssl-dev libdb-dev libdb++-dev libboost-all-dev git
sudo apt-get install libminiupnpc-dev # For UPNP support. You can also set USE_UPNP=0
sudo apt-get install libqrencode-dev # Or set USE_QRCODE=0
git clone https://github.com/rat4/blackcoin/
cd blackcoin/src/
make -f makefile.unix

That’s it. Now drink a coffee or - in my case with the original Raspberry Pi Model B, take a long nap (5 hours compile time). Afterwards you are free to enjoy your own brand new blackcoind.

Mount partitons of dd block device image

• linux • Comments

A small tip while I’m playing with my Raspberry Pi, Docker and the love child of both, Hypriot:

If you want to mount an image of a block device you created with dd, you might encounter the problem that you don’t know where the partitions start. In past times I used either offsets or kpartx for that. Today I found an easier way on superuser, the losetup tool. With losetup the process is really easy. Just associate your image file with a new loop device mount the corresponding partition:

losetup --partscan --find --show disk.img
  mount /dev/loop0p1 /mnt

If you’re done, umount and detach the file from the loop device:

losetup -d /dev/loop0

It seems the –partscan function is fairly new and not every Linux distro has such a new losetup version. Then you can either upgrade the version or do it as our ancestors did, utilizing offset or using kpartx.

Picture Howto: Adding group members in TextSecure

• misc • Comments

I had the big task of explaining my mother how to add members to a TextSecure group. As she’s no IT native, she often forgets and tends to be slow on the uptake. That’s why I created a picture howto for it. It’s not polished in any way, but perhaps I can help someone who has met a similar challenge.

Python3: UnicodeDecodeError when using subprocess.Popen

• python • Comments

While writing a Python script which handles an applications STDOUT on Windows, I encountered an error:

Traceback (most recent call last):
  File "C:/Users/m3adow/PycharmProjects/proj1/script.py", line 355, in <module>
  File "C:/Users/m3adow/PycharmProjects/proj1/script.py", line 347, in main
  File "C:/Users/m3adow/PycharmProjects/proj1/script.py", line 307, in spectate
    for line in iter(p.stdout.readline, ''):
  File "C:\tools\python\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 1478: character maps to <undefined>

The lines in question looked like this:

def openme(bin_args):
  with subprocess.Popen(args=bin_args, stdout=subprocess.PIPE, stderr= subprocess.STDOUT, universal_newlines=True) as p:
        for line in iter(p.stdout.readline, ''):