If you've gotten down network architecture, that's not a bad start. Something that will be a huge benefit to you is learning how an operating system works, and how the security there works. Hacking isn't so much of a science as an art. There is ALWAYS a way in, and the way you get in has a lot more to do with style than anything else.
Python isn't a bad way to start, but depending on what it is you want to do, you will have to learn how that can interface with what you're wanting to "hack". Want to keylog? probably not going to use python for that (though I'm sure you could). Want to find an exploit in a web server? Python may help you find it, but you'll need to either SQL inject or learn linux well enough to get what you want.
Hope that helps, check out the tutorial section for more, and remember, Google is your friend.