Python/PHP with ZK fingerprint attendance machines

If you are developing for Linux environment and If you have a task related to pulling data from a zk fingerprint attendance machine / biometric device the hair pulling phase may start 1 hour — 3 hours of hopeless search.

Downloading windows SDK and reverse engineering them isn’t the solution. wireshark isn’t the solution and connecting the the shared .mdb file isn’t also a solution the right solution is to connect to the machine using UDP port 4370.

0- Backup your attendance machine data.(You may use zktimes for this step.)

1- clone this repo:

For Python: git@github.com:dnaextrim/python_zklib.git

For PHP: https://github.com/dnaextrim/php_zklib

2- Login to the attendance machine as admin

and set the communication key (aka communication password to 0 or empty).

3- Set the IP address to some IP (say 192.168.1.201) this is the default one.

4-Connect the attendance machine to the network (ethernet most commonly)

5-Change IP:

zk = zklib.ZKLib(“192.168.1.201”, 4370)

6- Comment this (dangerous line that clears admin):

print “Pesan Clear Admin:”, zk.clearAdmin()

Now, try to run the script with the machine connected to your local network.

./zktest.py

I’ve just saved your life.

Check the file capability it should be very easy for any python programmer from here on.

Note: you may find very strange messages like “Pesan Koneksi” or use my safe English translated fork.

Enjoy!

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.