[about] :: [index] :: [github]

How To Install OpenBSD on DigitalOcean

Recently, I had to set up a new server based on OpenBSD on DigitalOcean. While they do support non-Linux systems such as FreeBSD, they do not provide official supports for other BSD flavours such as OpenBSD. In this guide, we will see how to overcome this small inconvenient by manually flashing the installer image in the boot sector of the hard drive. Let’s get started. Create A New Droplet The first thing we need to do is to create a new droplet from the main menu of DigitalOcean as shown in the following picture.
Read more →

Install Arch Linux w/ LVM + LUKS + Systemd-boot

In this guide we will see how to install Arch Linux on UEFI AMD64 system with LVM and LUKS. Please, do not use it as a replacement of the arch wiki, instructions here get outdated pretty fast and while they were correct at the time of writing, I cannot guarantee that they will stay correct in a year or two. Download ISO Image First, we need to download the live ISO of archlinux from official website, then flash to a USB drive with:
Read more →

Socket Programming On UNIX - TCP SYN Port Scanning(Part 3/3)

In the previous part of this guide, we saw what raw sockets actually are and how to use them to build something useful(i.e. a tcpdump clone). In the last part of this guide, we will extend our knowledge about raw sockets by writing a simple TCP SYN port scanner. Before getting into the actual code, let us understand how does a port scanner work and what are the main techniques to perform port scanning.
Read more →

Socket Programming On UNIX - Raw Sockets(Part 2/3)

In the previous part of this tutorial, we discussed what TCP sockets actually are and how to use them on Linux systems. Now we are ready to introduce a new concept of network programming: raw sockets. Raw sockets When you declare a new socket using socket()s Linux API, you are in fact delegating the kernel to take care of all the details about encoding and decoding the headers of your packages.
Read more →

Socket Programming On UNIX - Introduction To Sockets(Part 1/3)

In this series of tutorials, I will try to explain how socket programming works under UNIX operating systems(focusing on Linux) and eventually, how to use them to create network-based programs, such as a port scanner. In fact, being able to create a (SYN)port scanner is the final scope of this guide. To fully comprehend this tutorial, you should have a good knowledge of system programming in C, some knowledge of GNU/Linux systems(or any UNIX-like OS of your choice) and some knowledge of the TCP/IP stack.
Read more →