<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: MANIKANDAN V</title>
    <description>The latest articles on DEV Community by MANIKANDAN V (@manikandanx0).</description>
    <link>https://dev.to/manikandanx0</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4052345%2Ff6622038-8142-46ec-bbb6-59cbbb92df24.jpg</url>
      <title>DEV Community: MANIKANDAN V</title>
      <link>https://dev.to/manikandanx0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/manikandanx0"/>
    <language>en</language>
    <item>
      <title>Building a Home Cybersecurity Lab</title>
      <dc:creator>MANIKANDAN V</dc:creator>
      <pubDate>Wed, 29 Jul 2026 05:31:23 +0000</pubDate>
      <link>https://dev.to/manikandanx0/building-a-home-cybersecurity-lab-3o4p</link>
      <guid>https://dev.to/manikandanx0/building-a-home-cybersecurity-lab-3o4p</guid>
      <description>&lt;p&gt;The goal of this post is to set up a safe environment to practice cybersecurity skills on self-hosted virtual machines. This setup allows you to safely explore real-world vulnerabilities without risking any external systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;VirtualBox&lt;/li&gt;
&lt;li&gt;8+ GB of RAM&lt;/li&gt;
&lt;li&gt;Good internet connection&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;We will set up two virtual machines in this lab:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Attack machine&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Target machine&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Virtual network&lt;/strong&gt; to connect the two machines&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Attack Machine — Kali Linux
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Kali Linux is an open-source, Debian-based Linux distribution geared towards various information security tasks, such as Penetration Testing, Security Research, Computer Forensics and Reverse Engineering.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Kali Linux is the industry standard that comes pre-loaded with almost all the tools we need.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Download the Image
&lt;/h3&gt;

&lt;p&gt;Download the VirtualBox image from the &lt;a href="https://cdimage.kali.org/kali-2025.4/kali-linux-2025.4-virtualbox-amd64.7z" rel="noopener noreferrer"&gt;Kali Linux site&lt;/a&gt; and extract it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4wjnlekudbvo0fzty97i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4wjnlekudbvo0fzty97i.png" alt="Kali Extracted Image" width="800" height="554"&gt;&lt;/a&gt; &lt;em&gt;Figure: Extracted Kali Linux VirtualBox image files&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Import the Machine
&lt;/h3&gt;

&lt;p&gt;Open VirtualBox, click &lt;strong&gt;Open&lt;/strong&gt;, navigate to the downloaded &lt;code&gt;.vbox&lt;/code&gt; file, and open it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzfnsceyzku199c2jxpyk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzfnsceyzku199c2jxpyk.png" alt="Kali VM Setup" width="800" height="554"&gt;&lt;/a&gt; &lt;em&gt;Figure: Importing the Kali VM into VirtualBox&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Launch Kali
&lt;/h3&gt;

&lt;p&gt;Start the VM. Kali Linux will load and prompt for login credentials. Use the defaults:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;username: kali
password: kali
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm7fs8ly2b6wlnn1fug6r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm7fs8ly2b6wlnn1fug6r.png" alt="Kali Login" width="800" height="450"&gt;&lt;/a&gt; &lt;em&gt;Figure: Default Kali Linux login screen&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Target Machine — Metasploitable 2
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;A test environment provides a secure place to perform penetration testing and security research.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.rapid7.com/products/metasploit/metasploitable/" rel="noopener noreferrer"&gt;Metasploitable 2&lt;/a&gt; comes with vulnerabilities baked in for practice. It's from the team behind the &lt;a href="https://github.com/rapid7/metasploit-framework" rel="noopener noreferrer"&gt;Metasploit Framework&lt;/a&gt; &lt;em&gt;(the software responsible for mass-producing script kiddies)&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Download the Files
&lt;/h3&gt;

&lt;p&gt;Download Metasploitable 2 from the website and extract the zip file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdjxn1aszhvzxj9w6ka7a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdjxn1aszhvzxj9w6ka7a.png" alt="Metasploitable Files" width="800" height="554"&gt;&lt;/a&gt; &lt;em&gt;Figure: Metasploitable 2 download page&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Unlike Kali Linux, Metasploitable 2 doesn't include a default VirtualBox configuration — we have to manually import the virtual disk.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Step 2: Create a New VM
&lt;/h3&gt;

&lt;p&gt;In VirtualBox, create a new machine with the following configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Name:    Metasploitable
Type:    Linux
Version: Ubuntu (32-bit)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Allocate appropriate RAM and CPU resources.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqbw1rhusnxm02xeiwuxs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqbw1rhusnxm02xeiwuxs.png" alt="VM Config" width="800" height="271"&gt;&lt;/a&gt; &lt;em&gt;Figure: VM configuration for Metasploitable 2&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Attach the Virtual Hard Disk
&lt;/h3&gt;

&lt;p&gt;Go to &lt;strong&gt;Specify Virtual Hard Disk&lt;/strong&gt;, click &lt;strong&gt;Add&lt;/strong&gt;, and navigate to the extracted &lt;code&gt;.vmdk&lt;/code&gt; file to select it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ktnsaantnc7kes1ctri.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ktnsaantnc7kes1ctri.png" alt="Specify Virtual Disk" width="799" height="434"&gt;&lt;/a&gt; &lt;em&gt;Figure: Specifying the virtual hard disk&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ffsigxswccrcl9yho8r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ffsigxswccrcl9yho8r.png" alt="Disk Setup" width="800" height="876"&gt;&lt;/a&gt; &lt;em&gt;Figure: Adding the .vmdk disk file&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe1qn66o070t4afhq7xam.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe1qn66o070t4afhq7xam.png" alt="Disk Setup Step 2" width="800" height="876"&gt;&lt;/a&gt; &lt;em&gt;Figure: Selecting the disk file from the folder&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Click &lt;strong&gt;Choose&lt;/strong&gt;, then &lt;strong&gt;Finish&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Launch Metasploitable
&lt;/h3&gt;

&lt;p&gt;Start the machine. Use the default credentials:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;username: msfadmin
password: msfadmin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhmzvrehibhxfexmytwnu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhmzvrehibhxfexmytwnu.png" alt="Metasploitable Successful" width="800" height="450"&gt;&lt;/a&gt; &lt;em&gt;Figure: Metasploitable 2 booted successfully&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Virtual Network
&lt;/h2&gt;

&lt;p&gt;The two machines are running as separate instances and can't communicate yet. We need to create a host-only virtual network between them — a feature built into VirtualBox.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Create the Network
&lt;/h3&gt;

&lt;p&gt;From the home screen, go to &lt;strong&gt;File → Tools → Network&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fel59oqw1bpp24bk3cw31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fel59oqw1bpp24bk3cw31.png" alt="Network Setup" width="799" height="434"&gt;&lt;/a&gt; &lt;em&gt;Figure: Opening the Network Manager in VirtualBox&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Click &lt;strong&gt;Create&lt;/strong&gt; to add a new &lt;strong&gt;Host-only&lt;/strong&gt; network.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F67e5wlo3jfws397v07ah.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F67e5wlo3jfws397v07ah.png" alt="Create Network" width="800" height="603"&gt;&lt;/a&gt; &lt;em&gt;Figure: Creating a new host-only network&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;Properties&lt;/strong&gt; section, click &lt;strong&gt;DHCP Server&lt;/strong&gt; and enable it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz7vqgxy7xgkxndqpf0uu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz7vqgxy7xgkxndqpf0uu.png" alt="DHCP" width="800" height="603"&gt;&lt;/a&gt; &lt;em&gt;Figure: Enabling the DHCP server on the host-only network&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This creates a network accessible only to the VMs on your system — not the public internet.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Add the Network to Each Machine
&lt;/h3&gt;

&lt;p&gt;Select a machine, open &lt;strong&gt;Settings&lt;/strong&gt;, switch to &lt;strong&gt;Expert Mode&lt;/strong&gt;, and go to the &lt;strong&gt;Network&lt;/strong&gt; section.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd5wg9ll2arz28a28skst.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd5wg9ll2arz28a28skst.png" alt="Network Settings" width="800" height="771"&gt;&lt;/a&gt; &lt;em&gt;Figure: Opening network settings for the VM&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Click &lt;strong&gt;Adapter 2&lt;/strong&gt;, check &lt;strong&gt;Enable Network Adapter&lt;/strong&gt;, and set &lt;strong&gt;Attached to&lt;/strong&gt; → &lt;strong&gt;Host-only Adapter&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fck9tg57334wllpt4t54o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fck9tg57334wllpt4t54o.png" alt="Adapter Config" width="800" height="771"&gt;&lt;/a&gt; &lt;em&gt;Figure: Configuring Adapter 2 as a host-only adapter&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Click &lt;strong&gt;OK&lt;/strong&gt;. &lt;strong&gt;Repeat this step for the target machine.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2.5: Configure DHCP on the Target Machine
&lt;/h3&gt;

&lt;p&gt;Inside Metasploitable, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;dhclient eth1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This tells the &lt;code&gt;eth1&lt;/code&gt; interface (Adapter 2) to request an IP address via DHCP, enabling communication with other machines on the host-only network.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxklscroptsrtis54ln5c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxklscroptsrtis54ln5c.png" alt="DHCP Enabled" width="800" height="449"&gt;&lt;/a&gt; &lt;em&gt;Figure: Running dhclient to obtain an IP address&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Verify the setup with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ifconfig &lt;span class="nt"&gt;-a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fktodw5vr4xvk3nw155ir.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fktodw5vr4xvk3nw155ir.png" alt="IP Assigned" width="800" height="452"&gt;&lt;/a&gt; &lt;em&gt;Figure: eth1 interface showing the assigned IP address (192.168.56.3)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The IP address is now assigned — the target machine is connected to the internal lab network and ready to be accessed from the attack machine.&lt;/p&gt;




&lt;h2&gt;
  
  
  Done!
&lt;/h2&gt;

&lt;p&gt;The network is set up and the target machine is reachable from Kali.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo84joze1iqpwf171xwsa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo84joze1iqpwf171xwsa.png" alt="Access from Kali" width="800" height="436"&gt;&lt;/a&gt; &lt;em&gt;Figure: Successfully accessing Metasploitable 2 from the Kali attack machine&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can now attack the target machine freely without any risk to external systems. This lab gives you full freedom to hone your skills.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Happy Hacking!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>virtualmachine</category>
      <category>linux</category>
    </item>
    <item>
      <title>Top 5 Protocols Every CS major should know</title>
      <dc:creator>MANIKANDAN V</dc:creator>
      <pubDate>Wed, 29 Jul 2026 05:28:36 +0000</pubDate>
      <link>https://dev.to/manikandanx0/top-5-protocols-every-cs-major-should-know-36jl</link>
      <guid>https://dev.to/manikandanx0/top-5-protocols-every-cs-major-should-know-36jl</guid>
      <description>&lt;p&gt;We use the internet everyday. From shopping to scrolling cat videos 🐱, the internet has become part of our lives.&lt;/p&gt;

&lt;p&gt;As Computer majors we must learn and understand the tech that we use and the greatness behind it.&lt;/p&gt;

&lt;p&gt;But what is a network protocol?&lt;/p&gt;

&lt;h2&gt;
  
  
  Protocol:
&lt;/h2&gt;

&lt;p&gt;In networking, a protocol is a set of rules for formatting and processing data. &lt;em&gt;&lt;a href="https://www.cloudflare.com/learning/network-layer/what-is-a-protocol/" rel="noopener noreferrer"&gt;Cloudflare&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Protocols simply define how data is transfered between network nodes. We use these protocols on a day-to-day basis without considering them.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Internet protocol
&lt;/h2&gt;

&lt;p&gt;The Internet Protocol (IP) is a protocol, or set of rules, for routing and addressing packets of data so that they can travel across networks and arrive at the correct destination. &lt;em&gt;&lt;a href="https://www.cloudflare.com/learning/network-layer/internet-protocol/" rel="noopener noreferrer"&gt;Cloudflare&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;IP helps us send data across network, IP addresses acts as a unique itdentifier of clients and servers connected to the network.&lt;br&gt;
It provides the rules for addressing, routing, and delivering packets of data from a source device to a destination device.&lt;/p&gt;

&lt;h3&gt;
  
  
  Packeting📦
&lt;/h3&gt;

&lt;p&gt;IP breaks down data into smaller chunks known as &lt;a href="https://www.cloudflare.com/learning/network-layer/what-is-a-packet/" rel="noopener noreferrer"&gt;Packets&lt;/a&gt;. Each packet is transmitted independently among different routes and assembled at the destination.&lt;/p&gt;

&lt;h3&gt;
  
  
  Addressing
&lt;/h3&gt;

&lt;p&gt;Each device on a network is assigned an IP address, which uniquely identifies it.&lt;br&gt;
There are two types of IP addresses&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  IPv4: 32-bit addresses (e.g., 192.168.1.1) → about 4.3 billion unique addresses.&lt;/li&gt;
&lt;li&gt;  IPv6: 128-bit addresses (e.g., 2001:0db8:85a3::8a2e:0370:7334) → almost limitless address space.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmanikandanx0.github.io%2Fblog-assets%2Ftop-5-protocols%2Fip-in-terminal.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmanikandanx0.github.io%2Fblog-assets%2Ftop-5-protocols%2Fip-in-terminal.png" alt="" width="800" height="606"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Public vs Private IP
&lt;/h3&gt;

&lt;p&gt;Not all IP addresses are the same. Some are meant to be used only inside private networks, while others are globally unique and visible on the internet.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Public IP:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
A public IP is assigned by your Internet Service Provider (ISP) and is reachable over the internet. It is the unique "address" of your home or office network. Example: &lt;code&gt;203.0.113.45&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Private IP:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
A private IP is used within local networks (LANs) like your home Wi-Fi. These are not accessible directly from the internet and are reserved for internal communication. Example ranges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;code&gt;192.168.0.0 – 192.168.255.255&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;172.16.0.0 – 172.31.255.255&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;10.0.0.0 – 10.255.255.255&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In simple terms, your &lt;strong&gt;private IP&lt;/strong&gt; is like your room number in a building, while your &lt;strong&gt;public IP&lt;/strong&gt; is like the building’s address on the street.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. HTTP &amp;amp; HTTPS
&lt;/h2&gt;

&lt;p&gt;HTTP is an application-layer protocol for transmitting hypermedia documents such as HTML. It was designed for communication between web browsers and web servers, but it can also be used for other purposes, such as machine-to-machine communication, programmatic access to APIs and more.&lt;br&gt;
&lt;em&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP" rel="noopener noreferrer"&gt;Mozilla&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When you type a website URL into your browser, your device sends an HTTP request to the server and the server replies with an HTTP response containing the website content.&lt;/p&gt;

&lt;h3&gt;
  
  
  HTTP
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Stands for &lt;strong&gt;Hypertext Transfer Protocol&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;  Works on &lt;strong&gt;port 80&lt;/strong&gt; by default.&lt;/li&gt;
&lt;li&gt;  Data is transferred in plain text, meaning it can be intercepted or modified.&lt;/li&gt;
&lt;li&gt;  Example: &lt;code&gt;http://example.com&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  HTTPS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Stands for &lt;strong&gt;Hypertext Transfer Protocol Secure&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;  Works on &lt;strong&gt;port 443&lt;/strong&gt; by default.&lt;/li&gt;
&lt;li&gt;  Uses &lt;strong&gt;SSL/TLS encryption&lt;/strong&gt;, making data secure during transfer.&lt;/li&gt;
&lt;li&gt;  Prevents eavesdropping, tampering, and impersonation.&lt;/li&gt;
&lt;li&gt;  Example: &lt;code&gt;https://example.com&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Differences
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
HTTP sends data in plain text. HTTPS encrypts it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Trust:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
HTTPS websites use SSL certificates, often shown with a padlock in the browser, proving authenticity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Usage:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Most modern websites enforce HTTPS because of privacy, security, and SEO benefits.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Domain Name System - DNS
&lt;/h2&gt;

&lt;p&gt;The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources. &lt;em&gt;&lt;a href="https://www.cloudflare.com/learning/dns/what-is-dns/" rel="noopener noreferrer"&gt;Cloudflare&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Servers don’t have names, google.com doesn’t mean anything to the browser. All the server has is its IP. The information about IPs and their domain names is stored on special servers called DNS servers.&lt;/p&gt;

&lt;p&gt;Our browser has a service called a DNS resolver that goes to these DNS servers, collects the IP, and maps it locally in the cache. This way, the next time we visit the same site, the browser can skip asking the DNS server and use the cached IP directly.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmanikandanx0.github.io%2Fblog-assets%2Ftop-5-protocols%2Fdns-resolution.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmanikandanx0.github.io%2Fblog-assets%2Ftop-5-protocols%2Fdns-resolution.png" alt="" width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Secure Shell - SSH
&lt;/h2&gt;

&lt;p&gt;Secure Shell (SSH) is a protocol used to securely connect to remote servers over a network. It provides a way to log in and run commands on another computer as if you were sitting in front of it. SSH uses encryption to make sure the communication between your computer and the server is private and safe.&lt;/p&gt;

&lt;p&gt;When you use SSH, you usually connect with a username and password, or with an SSH key.&lt;/p&gt;

&lt;p&gt;An SSH key is more secure and often used instead of a password. SSH keys come in pairs - a private key (kept secret on your computer) and a public key (placed on the server). Once connected, you can manage files, install software, and control the server through the command line.&lt;/p&gt;

&lt;p&gt;SSH typically runs on port 22, though this can be changed for added security. The basic command to connect is &lt;code&gt;ssh username@server-ip-address&lt;/code&gt;. You can also use SSH to transfer files securely using commands like &lt;code&gt;scp&lt;/code&gt; (secure copy) or &lt;code&gt;sftp&lt;/code&gt; (secure file transfer protocol).&lt;/p&gt;

&lt;p&gt;SSH is commonly used by system administrators and developers to manage websites, applications, and cloud servers from anywhere.&lt;/p&gt;

&lt;p&gt;It's also useful for creating secure tunnels to access services running on remote servers as if they were running locally on your computer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key SSH Features:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Encryption&lt;/strong&gt;: All data is encrypted during transmission&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Authentication&lt;/strong&gt;: Multiple methods including passwords and key pairs&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;File Transfer&lt;/strong&gt;: Built-in support for secure file copying (scp, sftp)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Port Forwarding&lt;/strong&gt;: Create secure tunnels for accessing remote services&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Cross-Platform&lt;/strong&gt;: Works on Windows, macOS, and Linux&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Session Management&lt;/strong&gt;: Keep connections alive and resume interrupted sessions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Transmission Control Protocol - TCP
&lt;/h2&gt;

&lt;p&gt;TCP is a protocol that makes sure data gets delivered reliably over the internet. Think of it like sending a package with tracking and delivery confirmation - TCP guarantees your data arrives complete and in the right order.&lt;/p&gt;

&lt;p&gt;When you browse websites, send emails, or download files, TCP is working behind the scenes to ensure nothing gets lost. It breaks your data into smaller pieces, sends them separately, and puts them back together at the destination.&lt;/p&gt;

&lt;h3&gt;
  
  
  How TCP Works
&lt;/h3&gt;

&lt;p&gt;TCP uses a simple handshake process to start a connection:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Client&lt;/strong&gt;: "Can I connect?" (SYN)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server&lt;/strong&gt;: "Yes, can you confirm?" (SYN-ACK)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Client&lt;/strong&gt;: "Confirmed, let's start!" (ACK)&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  TCP vs UDP
&lt;/h3&gt;

&lt;p&gt;There are two main ways to send data:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;TCP&lt;/strong&gt;: Slow but reliable (like registered mail)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;UDP&lt;/strong&gt;: Fast but no guarantees (like throwing a letter over a fence)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TCP is used for things that need to be perfect, like websites and file downloads. UDP is used when speed matters more, like live video or online games.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;These five protocols work together to make the internet possible. Every time you browse a website, send an email, or watch a video online, you're using all of them.&lt;br&gt;
Understanding these basics will help you build better applications and solve problems more effectively. The internet might seem like magic, but it's really just these simple protocols working together.&lt;br&gt;
What's next? Try using SSH to connect to a server, or check out the network tab in your browser's developer tools. The best way to learn is by doing.&lt;/p&gt;

&lt;p&gt;Peace out 🕊️&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>networking</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
