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

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 →

Create an embedded Linux system using Buildroot

This tutorial will walk you through the process of creating a small Linux distribution for ARM-based embedded devices(e.g. Raspberry Pi) using Buildroot. At the end of the article you will be able to run your own Linux system into a Raspberry Pi 3/4/ZeroW. What’s Buildroot? Buildroot is a set of tools that will help you to easily generate an embedded Linux distribution for your IoT device. This project is driven by the community, and it’s fully open source.
Read more →

Understanding FreeBSD Jails

What is a Jail? Jails are one of the most useful features offered by FreeBSD. This technology, introduced with FreeBSD 4.0, allows system administrators, developers or any other kind of users to create multiple user-space instances that are fully isolated from the rest of the operating system. Jails are considered the standard way to obtain OS-level virtualization on BSD systems. OS-level virtualization is a particular kind of virtualization technology that operate on the OS-level; in that way the host’s kernel allows the execution of multiple isolated user-space instances (called containers, Zones or Jails) which they all share host’s resources, such as network stack, disk and the kernel.
Read more →