by nathandelane on Fri Jan 16, 2009 1:17 pm
([msg=16411]see Re: I am just starting in programming[/msg])
I you want to learn network security, then (not coming from an expert, but somebody who has work with network professionals) you probably need to understand network architecture, systems (operating systems, router systems, server systems, etc.) and what you're trying to secure. Getting an understanding of Linux and UNIX would be helpful, as well as Windows. You should also learn how to configure CISCO routers and blade servers, learn about redundancy, and database servers and how to secure databases.
Collectively you will definitely need to learn programming. Some languages you should learn include (for Windows) Batch/Shell (cmd.exe and associated utilities, AT the windows scheduler), VBScript, JScript, MSSQL, (and for Linux) BASH, Perl/Python/Ruby or another scripting language, grep, cron, and other command-line utilities. C++ is also a good skill to have around, but ideally you should probably focus on dynamic languages (like the ones I've listed) that don't require compiling. You'll need to create small programs quickly that do one thing and do them well, as well as long automation scripts that do a number of things. In Windows I would also get an understanding of OLE/COM (ObjectLinking and Embedding/Common Object Model), WMI (Windows Management Instrumentation), and for both Windows and Linux an understanding of SNMP (Simple Network Management Protocol). You'll also likely need to learn about server technologies such as IIS on Windows, Apache HTTP server, Windows Services and Linux Services models, and configuration utilities for routers and what you can do with them remotely.
Also as Bjarne Stroustrup, inventor of C++ said, C++ is a better C. So use it, and I think it's much simpler to use.