I am a first-year student that wants to study Cyber security in future. But I don't know exactly all subjects which I must study deeper for this area.

I read that I need to study, as for programming languages, C/C++, Javascript, SQL. As for networking, I read that I should know TCP/IP, WAN, LAN and etc.

Also, which areas I should learn as well? And which programming languages I also must study? Also, correct me if I wrong. Truly needs your help. Thanks for answering and helping.

closed as too broad by Neil Smithline, schroeder Apr 8 '16 at 4:25

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • May have a look on CISSP Domains. – user26029 Apr 8 '16 at 0:26
  • You can add me on Skype: l1thal | been doing this for a while and I'm bored, I'll show you a few things. Otherwise, this question is pretty broad and can be considered opinion based. – xorist Apr 8 '16 at 0:30
  • 1
    Cyber security is a massive field. We cannot advise you unless you know what branch and type of InfoSec you want to grow into. Application security is nothing like governance, risk, and compliance, for example. – schroeder Apr 8 '16 at 4:25

As l1thal pointed out, your question is quite broad. So I will try to advice you based in my personal experience.

First of all, you need network knowledge: you need to understand how a network works in detail. For example, how to setup routers, network-related services (dhcp, dns, gateways, proxys, firewalls, file-sharing, etc), protocols and ports.

You need to learn about data protection (understand about SSL certificates, encryption methods, password hashing, etc).

I would strongly recommend to learn Linux (more specific, search for a security distribution like Kali). Learn how to use nmap, metasploit and many of the tools that are included there. You can also learn about IDS/IPS and common hacking techniques, such as "SQL injection", XSS attacks and vulnerability exploits.

About programming languages, I think it depends on which platform you want to use and the area you want to focus on. If you go with Linux, then C/C++, Perl, Ruby, Python, Java, Bash are some of the languages you could learn. If you want to focus in web security, then PHP, Javascript, SQL and settings for apache, nginx, mysql, postgresql, etc, are advisable.

In order to gain all that knowledge you need to practice. I suggest you to check vulnhub.com, from which you can download vulnerable virtual machines to practice some of the hacking techniques. Once you understand how its done, you can learn how to protect against such attacks.

Subscribe yourself into security channels, read security related magazines and keep coming into this site to keep you updated and expand your knowledge.

Anyway, its hard to include everything, but I guess this will cover the basics. Be aware that it will take a lot of time, but enjoy the ride!

I'm sure I may be missing out something, so please let me know with your comments.


Take this in the spirit it is meant… You have pretty much answered you own question. Your uncertainty regarding what to learn suggests you need a solid and fundamental understanding of computer science in general. Once you have that, knowing what you need to add to your knowledge base for an Information Security career will be obvious. The more fundamentals we learn, the more we understand specifically what we don't know. If you try to learn, let’s say, the Internet Protocol suite, before you have the basics down, you will be backtracking a lot.

In the mean time, read security news, keep updated on an industry that changes daily.

What programming language should you learn?


What are most of your peers learning? Go with that.

Not the answer you're looking for? Browse other questions tagged or ask your own question.