A couple hints though:
1. Working knowledge of the C programming language (Standard C, not C++ or C# or Java or anything higher-level like that; Standard C where you have to deal with pointers and no object-orientation). This gives you access to the "language" that all the intimate details of Linux's core speaks. Oh, it also helps to have knowledge of the BSD Sockets interface, which all network-aware apps use to initiate/manage any communication involving networks.
2. Good knowledge of shell scripting
3. Master of the shell prompt, in general.
I don't think it's possible for a good Linux technician to troubleshoot a system without busting out a shell prompt.