If you want to be a professional Hacker/pentester you have to go through hell(I mean it).
Start with coding, learn:
You don’t have to be a master of all. at least master one language to write exploits and automate your tasks I recommend Python. Be comfortable enough to modify, fix, edit in the above-mentioned languages.
Networking: OSI model, TCP/IP,IP address and subnetting, Packets in detail,
The OSI model defines networking in terms of a vertical stack of seven layers. The upper layers of the OSI model represent software that implements network services like encryption and connection management. The lower layers of the OSI model implement hardware-oriented functions such as routing, addressing, and flow control. All data that goes over a network connection passes through each of the seven layers.
TCP/IP specifies how data is exchanged over the internet by providing end-to-end communications that identify how it should be broken into packets, addressed, transmitted, routed, and received at the destination. TCP/IP requires little central management, and it is designed to make networks reliable, with the ability to recover automatically from the failure of any device on the network.
The two main protocols in the internet protocol suite serve specific functions. TCP defines how applications can create channels of communication across a network. It also manages how a message is assembled into smaller packets before they are then transmitted over the internet and reassembled in the right order at the destination address.
IP defines how to address and route each packet to make sure it reaches the right destination. Each gateway computer on the network checks this IP address to determine where to forward the message.
An IP address is a label which is used to identify one or more devices on a computer network, such as the internet. It is comparable to a postal address. An IP address is a long number written in binary. Since such numbers are difficult to communicate, IP addresses are usually written as a set of numbers in a given order. Devices using IP addresses use the internet protocol to communicate.
Subnetting is the practice of dividing a network into two or more smaller networks. It increases routing efficiency, enhances the security of the network and reduces the size of the broadcast domain.
The packets carry the data in the protocols that the Internet uses: Transmission Control Protocol/Internet Protocol (TCP/IP). Each packet contains part of the body of your message. A typical packet contains perhaps 1,000 or 1,500 bytes.
An operating system is the most important software that runs on a computer. It manages the computer’s memory and processes, as well as all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computer’s language. Without an operating system, a computer is useless.
Operating systems usually come pre-loaded on any computer you buy. Most people use the operating system that comes with their computer, but it’s possible to upgrade or even change operating systems. The three most common operating systems for personal computers are Microsoft Windows, Mac OS X, and Linux.
Modern operating systems use a graphical user interface, or GUI (pronounced gooey). A GUI lets you use your mouse to click icons, buttons, and menus, and everything is clearly displayed on the screen using a combination of graphics and text.
Each operating system’s GUI has a different look and feel, so if you switch to a different operating system it may seem unfamiliar at first. However, modern operating systems are designed to be easy to use, and most of the basic principles are the same.
A database is a collection of information that is organized so that it can be easily accessed, managed, and updated.
Data is organized into rows, columns, and tables, and it is indexed to make it easier to find relevant information. Data gets updated, expanded, and deleted as new information is added. Databases process workloads to create and update themselves, querying the data they contain and running applications against it.
In computing, a web application or web app is a client-server computer program in which the client (including the user interface and client-side logic) runs in a web browser. Common web applications include webmail, online retail sales, online auctions, wikis, instant messaging services, and many other functions.
Linux is a Unix-like, open-source, and community-developed operating system for computers, servers, mainframes, mobile devices, and embedded devices. It is supported on almost every major computer platform including x86, ARM, and SPARC, making it one of the most widely supported operating systems.