1, first understand the basic knowledge and principles, knowledge of programming languages secondary. Basics are: propagation path flow principle and understand the virtual machine, to understand what is what is called IP IP mapping, as well as ports and so on ...
To be continued ......