Learn To Program
UNIX is a multi-tasking and multi-user computer operating system that is designed to provide good security to the systems. The best way to learn it is to get into an open-source version (e.g. centos) and install/run the same on your own. You can operate internet without learning UNIX, but it is not possible for you to be an internet hacker without understanding UNIX. You should also learn the internals of this operating system. A large number of web servers are hosted on Unix based servers and knowing internals of this operating system.
Understanding how the networks are created is important, however you need to know the differences between different types are networks. Understanding of TCP/IP and UDP protocol is going to help you to be able to exploit the vulnerabilities. Understand what is subnet, LAN, WAN and VPN. The networking commands to do a HTTP request needs to be on your fingertips. The HTTP protocol, is the gateway through which one enters the internet world. Hence it is necessary to learn this protocol in order to break the barriers. The hackers often use the HTTP gateway to breach the security of the system and take control over it.
Cryptography is heavily used in SSL based internet communication. An expert hacker should be able to understand how SSL works and what is the importance of cryptography in keeping SSL secure. Understand various techniques used for password cracking. There are dozens of tools available to do password cracking, and using it is not hacking. To be good at hacking its important for you to understand how to create a program that can crack a password from cypher text.
Experiment A Lot
It is good to try experimenting on your own computers, where you can rectify if you have done any mistake.
Try hacking challenges