The OSI Model

Search for a command to run...

No comments yet. Be the first to comment.
In this series, I am going to be describing a broad range of concepts of networking like DNS, Networks, HTTP, etc
Today, I am going to start blogging about what is a public and private network, IP Addresses, MAC Addresses. I am going to assume you know a bit about routers, computers and servers. What is the Internet When you go to the basics; it is just a bunch ...
During in the process of reverse engineering binaries, a common problem arises. How do I reverse engineer stripped binaries? There are no symbols to break on, offsets change, scripts don't work, and you ask yourself why am I doing this? Luckily there...

When I was learning how to tackle pwn challenges in CTFs, I had a tough time finding a single, clear guide that could show me the ropes of actually carrying out these exploits. That's why I decided to put together a complete guide that covers everyth...

Using python to capture and project data

Intro This is a write-up for PicoCTF 2022: Buffer Overflow 1. This is one of my favourite challenges to do. I recommend solving it for yourself before you read this write-up. What is a Buffer Overflow? Before we get started we need to first know what...

What is a BadUSB? A BadUSB is a USB device that acts as a keyboard and injects preprogrammed keystrokes into a computer. A BadUSB is Indistinguishable from a generic keyboard, making it near impossible to detect and patch. You can setup reverse shell...

The OSI model (or Open Systems Interconnection Model) is a conceptual model created by ISO (International Organization for Standardization) which allows many different types of systems to communicate together. The OSI model consists of seven different layers that each have its own unique purpose and responsibilities.
The application is the only layer that directly communicates with the user. You can think of the application layer as the Graphical User Interface (GUI) of the OSI model. The application layer includes protocols such as HTTP or SMTP (Simple Mail Transfer Protocol).
This presentation layer is responsible for prepping and standardization for the application layer. in plain English, it is a translater for the application. If two devices are communicating using different encoding methods, layer 6 will be responsible for translating it. This layer can also handle encryption and compression.
The session layer is responsible for opening and closing a stable communication between two devices. This layer can also be responsible for synchronizing with checkpoints. For example, if you were downloading a 200MB video and it has a checkpoint every 5MB, and it fails at 143MB due to a server disconnect. You could resume that video at 140MB. Something worth noting is that every session is unique, which means that data cannot travel over different sessions.
The transport layer is a vital part of the transmission of data across a network. This includes taking the data from the session layer and breaking it up into chunks before sending it to layer 3. This transport layer is also responsible for reassembling all the chunks into complete data for the session layer to use. This is mainly done using two protocols UDP and TCP.
The Transmission Control Protocol (TCP) is a protocol designed for reliability.
The User Datagram Protocol (UDP) is a simpler protocol designed with speed in mind.
The Network layer is used to route packets threw two different networks. Everything is communicated threw IP addresses in this layer. The network layer tries to find the optimal "path", also called routing, using protocols such as OSPF (Open Shortest Path First) and RIP (Routing Information Protocol).
The Data link layer is similar to the network layer but the data link facilitates data transfers between two devices on the same network. They transfer data using a MAC Address in this layer.
This is the easiest layer to understand. To put it simply, this is the physical hardware that deals with data transfers, such as cables and switches. Both sides of the physical layer must agree on a convention to tell apart the 1s and 0s.
These are some great sources if you want to work more: