Understanding NAT (Network Address Translation)

Introduction NAT (Network Address Translation) is a core technology that mediates between private IP addresses and public IP addresses in network communications. It emerged in the mid-1990s to address the IPv4 address depletion problem and was first standardized through the IETF’s RFC 1631 document. Today, NAT has become an essential technology forming the foundation of global internet infrastructure, from home routers to large-scale corporate networks and cloud infrastructure. Basic Concepts of NAT NAT operates on network devices such as routers or firewalls, translating IP addresses between internal networks (private IP) and external networks (public IP). During this process, it modifies the IP addresses and TCP/UDP port numbers in packet headers and records the translation information in a NAT table to enable bidirectional communication. Private IP address ranges defined in RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) are widely used in internal network configurations in NAT environments. When a packet passes through a NAT device, the checksum is also recalculated, which is essential to ensure the integrity of IP and TCP/UDP headers. ...

May 1, 2025 · 11 min · 2215 words · In-Jun Hwang

Learning ARP Spoofing Through Theory and Practice

Introduction ARP spoofing is an attack technique that has been studied in the network security field for a long time. This attack aims to intercept or modify network traffic by exploiting the structural limitations of the ARP protocol. In this article, we will systematically cover the basic concepts of the ARP protocol, the operational principles of ARP spoofing, actual attack implementation, and methods to defend against it. What is the ARP Protocol? ARP (Address Resolution Protocol) is a protocol responsible for address translation between the network layer (IP) and the data link layer (MAC). Simply put, to communicate on an IP network, you need to know not only the target’s IP address but also its MAC address. This is where ARP comes in. ...

April 28, 2025 · 5 min · 1057 words · In-Jun Hwang

How to Change MAC Address in Ubuntu

Introduction MAC address (Media Access Control address) is a unique identifier for network devices. For security or privacy reasons, you may need to change this address. In this post, we will explore how to change MAC address in Ubuntu. What is a MAC Address? MAC address is a unique identifier assigned to a Network Interface Card (NIC). This 48-bit (6-byte) address is typically displayed in hexadecimal format as XX:XX:XX:XX:XX:XX. The structure of the address is as follows: ...

April 27, 2025 · 2 min · 384 words · In-Jun Hwang

Comprehensive Guide to Subnet Masks

The concept of a subnet mask was introduced in the evolution of TCP/IP protocols around 1985. The early internet used a classful addressing system (A, B, C classes), which was proving to be too rigid, and inefficient for IP address allocation. Subnet masks came into the picture to address this issue. History and Need for Subnet Masks In the early days of the internet, the class of an IP address was determined by looking at just the first octet (byte) of the address: ...

February 20, 2025 · 2 min · 319 words · In-Jun Hwang

Run and Connect to SSH Server on Ubuntu

Introduction SSH (Secure Shell) is a network protocol that allows you to log in to another computer over a network and execute commands on a remote system or transfer files. In this article, we will go through the step-by-step process of installing an SSH server on an Ubuntu system, configuring it to start automatically, and connecting to the SSH server. Installing the SSH Server First, open a terminal and update the list of packages: ...

August 14, 2024 · 3 min · 551 words · In-Jun Hwang