<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Learning Path - Tag - Arsh Imtiaz</title>
        <link>https://arshimtiaz.github.io/tags/learning-path/</link>
        <description>Learning Path - Tag - Arsh Imtiaz</description>
        <generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Wed, 06 Aug 2025 00:00:00 &#43;0100</lastBuildDate><atom:link href="https://arshimtiaz.github.io/tags/learning-path/" rel="self" type="application/rss+xml" /><item>
    <title>Why Networking Fundamentals Should Be Your First Step</title>
    <link>https://arshimtiaz.github.io/posts/why-networking-fundamentals-should-be-your-first-step/</link>
    <pubDate>Wed, 06 Aug 2025 00:00:00 &#43;0100</pubDate>
    <author>Arsh Imtiaz</author>
    <guid>https://arshimtiaz.github.io/posts/why-networking-fundamentals-should-be-your-first-step/</guid>
    <description><![CDATA[<div style="text-align: center;">
  
  <small>Networking is fun. Also, it is the part that keeps your hacks from breaking at the worst time.</small>
</div>
<p><big>So, you wanna be a hacker?</big></p>
<p>Cool. I did too. I jumped into Kali, sprayed tools, and followed tutorials like a robot. Things worked, but I could not explain why. That was my first big lesson: <strong>without networking, most of security looks like magic</strong>. No magic here. Just packets, addresses, ports, and paths.</p>
<h2 id="the-moment-it-clicked">The moment it clicked</h2>
<p>I kept asking myself:</p>
<ul>
<li>Why does a reverse shell call me back and not the other way around?</li>
<li>What does <code>netstat -tunlp</code> actually show me?</li>
<li>Why does <code>ping</code> sometimes fail even though the server is up?</li>
</ul>
<p>The answer was not a broken tool. It was me not understanding the path the packets had to travel.</p>
<h2 id="learn-these-first">Learn these first</h2>
<p>These are the pieces that changed my life in pentests and CTFs.</p>
<h3 id="-the-osi-model">🔌 The OSI model</h3>
<div style="text-align: center;">
  
  <small>OSI and TCP/IP from <a href="https://www.practicalnetworking.net/series/packet-traveling/osi-model/">Practical Networking</a></small>
</div>
<p>Think of it as a map. If you know the layer, you know where to debug.<br>
If you want to explore it in depth, check out:</p>
<ul>
<li><a href="https://www.cisco.com/c/en/us/solutions/enterprise-networks/what-is-the-osi-model.html" target="_blank" rel="noopener noreffer ">Cisco OSI Model Overview</a></li>
<li><a href="https://www.practicalnetworking.net/series/packet-traveling/" target="_blank" rel="noopener noreffer ">Packet Traveling Series by Practical Networking</a></li>
</ul>
<p><strong>Real world hints by layer:</strong></p>
<ul>
<li><strong>L1 Physical</strong> - bad cable, wrong interface, Wi-Fi channel noise. If <code>link</code> lights are off, stop blaming the firewall.</li>
<li><strong>L2 Data Link</strong> - ARP and MAC. ARP spoofing lives here. If you see duplicate IP warnings, check the ARP table with <code>ip neigh</code>.</li>
<li><strong>L3 Network</strong> - IP and routing. If 192.168.1.10 cannot reach 192.168.2.10, you likely need a router or a route.</li>
<li><strong>L4 Transport</strong> - TCP vs UDP. TCP handshake fails means no state created on the server. SYNs leaving but no SYN ACK returning usually means a path or filter issue.</li>
<li><strong>L5 Session</strong> - long lived connections. If a VPN drops every 30 minutes, look for session timers.</li>
<li><strong>L6 Presentation</strong> - certs and encodings. TLS errors like <code>unsupported protocol</code> live here.</li>
<li><strong>L7 Application</strong> - HTTP, DNS over HTTPS, SMTP. If the app returns 200 but nothing changes, it is probably an app logic bug, not the network.</li>
</ul>
<h3 id="-ip-addressing-and-subnetting">🌐 IP addressing and subnetting</h3>
<div style="text-align: center;">
  
  <small>Subnetting overview from <a href="https://www.networkacademy.io/ccna/ip-subnetting/why-do-we-need-ip-subnetting">Network Academy</a></small>
</div>
<p>You do not need to be a human subnet calculator. You do need to know:</p>
<ul>
<li>Private ranges: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.</li>
<li>What a mask does. <code>/24</code> means 256 addresses, <code>/25</code> splits that in half.</li>
<li>Simple test: put one VM on 192.168.1.10/24 and another on 192.168.2.10/24. They will not ping without a router. Add a route and watch it work.</li>
</ul>
<p>Want to practice subnetting?</p>
<ul>
<li><a href="https://www.subnetting.net/" target="_blank" rel="noopener noreffer ">Subnetting Made Easy</a></li>
<li><a href="https://subnettingpractice.com/" target="_blank" rel="noopener noreffer ">Subnetting Practice Game</a></li>
</ul>
<h3 id="-ports-and-protocols-that-actually-matter">🚪 Ports and protocols that actually matter</h3>
<div style="text-align: center;">
  
  <small>Know the defaults, then verify with a scan. Do not assume.</small>
</div>
<p>Quick cheats you will use daily:</p>
<ul>
<li><strong>22 SSH</strong> - remote shell. If login hangs after password, suspect TCP filtering or <code>AllowUsers</code> policy before you blame credentials.</li>
<li><strong>80/443 HTTP/S</strong> - everything from health checks to C2 beacons rides here. Proxies often rewrite requests. Capture and compare.</li>
<li><strong>53 DNS</strong> - resolution issues look like random failures. Test with <code>dig @resolver_ip example.com</code> to bypass system DNS.</li>
<li><strong>445 SMB</strong> - Windows auth and file shares. If <code>smbclient</code> fails only on large files, think MTU or signing.</li>
</ul>
<p>More:</p>
<ul>
<li><a href="https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml" target="_blank" rel="noopener noreffer ">IANA Service Name and Transport Protocol Port Number Registry</a></li>
</ul>
<h3 id="-packet-flow-and-basic-tools">📦 Packet flow and basic tools</h3>
<div style="text-align: center;">
  
  <small>Follow a TCP handshake. SYN, SYN ACK, ACK. It will save you hours.</small>
</div>
<p>Tools I use in order when something breaks:</p>
<ol>
<li><code>ping</code> to test reachability. If ICMP is blocked, move on.</li>
<li><code>traceroute</code> to see the path. Sudden star means a filter or NAT.</li>
<li><code>ss -tulnp</code> or <code>netstat -tunlp</code> to list listeners.</li>
<li><code>tcpdump -nni eth0 port 443</code> to confirm packets leave and return.</li>
<li>Wireshark for the story behind the packets.</li>
</ol>
<h3 id="-nat-dhcp-dns-routing">🔥 NAT, DHCP, DNS, routing</h3>
<div style="text-align: center;">
  
</div>
<p>This is the unsexy part that makes everything work.</p>
<ul>
<li><strong>NAT</strong> hides private hosts. Reverse shells fail a lot here. Use a listener on a port allowed outbound.</li>
<li><strong>DHCP</strong> gives IPs. If two boxes fight for the same address, the lease server is probably duplicated or mis-scoped.</li>
<li><strong>DNS</strong> is the phonebook. If a domain resolves to different IPs than you expect, check split horizon and hosts files.</li>
<li><strong>Routing</strong> decides the next hop. Wrong default gateway is the classic silent killer.</li>
</ul>
<p>Learn more:</p>
<ul>
<li><a href="https://ipcisco.com/lesson/nat-network-address-translation/" target="_blank" rel="noopener noreffer ">NAT Explained – IPCisco</a></li>
<li><a href="https://learn.microsoft.com/en-us/windows-server/networking/technologies/dhcp/dhcp-top" target="_blank" rel="noopener noreffer ">How DHCP Works – Microsoft Learn</a></li>
<li><a href="https://www.cloudflare.com/learning/dns/what-is-dns/" target="_blank" rel="noopener noreffer ">DNS in detail – Cloudflare Learning</a></li>
</ul>
<hr>
<h2 id="learn-stack-without-pain">Learn stack without pain</h2>
<p>What helped me when I started:</p>
<ul>
<li><strong><a href="https://tryhackme.com/module/network-fundamentals" target="_blank" rel="noopener noreffer ">TryHackMe Network Fundamentals module</a></strong> – hands-on labs.</li>
<li><strong><a href="https://www.professormesser.com/network-plus/n10-009/n10-009-video/n10-009-training-course/" target="_blank" rel="noopener noreffer ">Professor Messer Network+ videos</a></strong> – structured theory.</li>
<li><strong><a href="https://www.netacad.com/cisco-packet-tracer" target="_blank" rel="noopener noreffer ">Packet Tracer</a></strong> or <strong><a href="https://www.gns3.com/" target="_blank" rel="noopener noreffer ">GNS3</a></strong> – virtual routers/switches without real gear.</li>
<li><strong><a href="https://www.wireshark.org/" target="_blank" rel="noopener noreffer ">Wireshark</a></strong> – see the truth on the wire.</li>
</ul>
<p>If you are on Linux, make <code>nmap</code>, <code>netcat</code>, <code>ip</code>, and <code>ss</code> part of your daily toolkit.</p>
<hr>
<h2 id="what-to-do-right-after-reading-practical-exercises">What to do right after reading (Practical Exercises)</h2>
<ol>
<li>Capture your browser loading a site in Wireshark and find the three-way handshake.</li>
<li>Split 192.168.1.0/24 into two /25s. Put two VMs on different halves and make them ping using a router VM.</li>
<li>Run <code>ss -tulnp</code> then open a new <code>nc -lvp 4444</code> listener and watch the new entry appear.</li>
</ol>
<hr>
<h2 id="why-this-matters-in-real-attacks">Why this matters in real attacks</h2>
<p>When you understand networking:</p>
<ul>
<li>ARP spoofing, DNS poisoning, and MITM are not tricks. They are predictable outcomes you can detect and block.</li>
<li>You stop pasting scripts and start fixing root causes.</li>
<li>You can explain failures to a client in plain English and get them fixed the same day.</li>
</ul>
<hr>
<h2 id="final-words">Final words</h2>
<p>Networking is not flashy, but it is the floor under your feet. Build it solid now and future you will move faster, break less, and spend more time popping shells than debugging routes.</p>
<hr>
<p>If you are stuck, tell me what you tried and what you saw on the wire. I will help you untangle it step by step.</p>
]]></description>
</item>
</channel>
</rss>
