Som svar på originalfrågan:
Läs böcker.
Jag hade köpt "The C Programming language" och lärt mig C
Sen hade jag köpt en bok om tcp/ip och lärt mig hur protokollet fungerar, hur nätet egentligen är uppbyggt. Det var grymt länge sen jag läste någon bok om det, så har inget tips i färskt minne.
Och sen hade jag köpt en bok om X86 assembler-programmering. Detta av precis samma anledning som du bör lära dig C eller något liknande - kan du grunderna blir allting sjukt mycket lättare. Saker som buffer overflows, som egentligen är löjligt enkla i teorin, kan verka helt sjuka om man inte vet hur C skriver sina funktioner i maskinkod.
http://savannah.c3sl.ufpr.br/pgubook...0-booksize.pdf
Och köp en highlighter, en sån där färgad penna altså, och markera saker i böckerna medans du läser, gör enorm skillnad, åtminstonde för mig.