# Approach

In this section, you'll learn how to approach this fundamental module as a complete beginner. How to approach each sub-module inside this fundamental module is essential knowledge for you to have, so let’s get right into it.

## Linux

Linux skills are important for penetration testing or cybersecurity in general. We have tried our best to cover all the important knowledge you need to have in Linux. We focused on installing Kali Linux and using it in this book. Make sure you serially follow the sections inside the sub-module of Linux. All the topics are serially designed to help you gain knowledge of all the important topics in order.

If you get stuck somewhere or don’t understand any certain concept, you can first consult with LLMs (ChatGPT, Gemini, GrokAI, or whatever you like) first, then ask peers or your mentor for help. It’s better to perform personal research on the topic you get stuck on before seeking help.

When learning, for example, if you are in the "Basic Linux Commands" section, you can read and do the said commands practically in your personal Kali Linux virtual machine you set up. This way, you are reading and applying it practically yourself as well. There will also be a section inside the Linux submodule for the capstone as well. Make sure to do it.

## Networking

When approaching the networking module, start by grasping the core concepts and visualizing how networks function. Use diagrams and animations (like YouTube videos) to understand models like OSI and TCP/IP, focusing on the roles of each layer. As you work through topics like IP addressing and subnetting, take detailed notes and practice examples to solidify your understanding. Supplemental animated videos can make these concepts clearer, helping you visualize how data is routed and broken down in networks.

For protocols, ports, and network devices, focus on how they work together in a network. Use network tools like `ping`, `traceroute`, or even simulations in Packet Tracer to get a hands-on feel for how these elements interact in real-world situations. Take note of key terms and common protocols like HTTP, FTP, and DNS, and practice identifying them through tools like Wireshark. When learning about security mechanisms like firewalls and NAT, make sure to understand their rules and experiment by setting them up in virtual environments to reinforce the concepts.

Finally, apply your learning by building a small network lab in Cisco Packet Tracer as your capstone project. This hands-on project will bring everything together and help you solidify your knowledge by putting theory into practice.

## Cryptography

Cryptography plays a crucial role in securing communications, data storage, and protecting privacy. In this module, you will learn the fundamental concepts of cryptography, including encryption/decryption methods, symmetric/asymmetric algorithms, hashing functions, and digital signatures. You'll also explore the principles behind cryptographic protocols like SSL/TLS, which secure data transmission over the internet.

Cryptography is deeply embedded in various aspects of cybersecurity, so it’s important to grasp how cryptographic techniques are applied in real-world scenarios.

## Python

In Python, make sure to learn all the fundamentals of programming with Python we’ve taught you so far. Also, write the code yourself as well. Don’t hesitate to add or use supplemental resources for any topic you don’t understand properly. We have YouTube, W3Schools, or the Python documentation itself. Use public resources properly.

Programming is important, and while the basics we’ve covered so far aren’t comprehensive, they provide a foundation that helps you write simple Python scripts and read code written by others. This is just the beginning—programming is a vast topic that improves with consistent practice. After completing all topics in this module, continue with the next one, but make it a point to write small projects every week. Use resources like W3Schools, LearnPython.org, or other platforms to dive deeper into topics like Object-Oriented Programming (OOP) and beyond. The more you practice, the more comfortable and skilled you’ll become in programming.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://handbook.ncateam.xyz/fundamentals/approach.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
