views:

130

answers:

5

I have learned most of c++ already and now some are saying that I should learn c and assembly for network security. Is it necessary to learn really low-level languages? I searched all over with no specific answers to this question. thanks

+1  A: 

You won't get very far in network security without knowing C.

In general, though, you'll require at least some familiarity with whatever programming languages your networks and systems are built with. You can't secure something you have no working knowledge of.

Piet Delport
+2  A: 

I work in network security and we use everything! But... I am a Python programmer and there are some really cool security-related tools out there. I wholeheartedly suggest you give Python a try. It's a very powerful language and a moderately recent version of the Python interpreter is likely to be available any modern system you use.

Coding in C isn't all that great for automating repetitive tasks, but it's certainly required for reverse engineering of malware. It really depends on what you're interested in.

Here are some of my favorite network-security tools built using Python:

  • Loki - infrastructure protocol suite (lets you emulate and peer with routers)
  • Netaddr - IP address manipulation module (supports IPv6)
  • ncclient - NETCONF client module (for managing firewalls, routers, switches)
  • scapy - packet manipulation module
jathanism
+1  A: 

There are many domains in the line of network security. And it also depends on what you want to do or is doing. If you are working in a company that produces network appliance such as firewalls or IPS and you are involved in their operating system (for example) you might want to learn some low level languages like C (assembly etc). If you work scope is more general, like implementing tools to secure the network, then you might want to learn languages like Perl/Python etc. and because you will be working with different operating systems, languages such as vbscript/batch/shell etc should also be familiarized.

ghostdog74
A: 

I'm not a network security guy, but I think it's not so much the languages as the low level concepts you need to know. For example, to really understand a Stack Overflow exploit, you have to know about how a stack works and how higher level languages setup function calls on the stack. Leaning C and how C compiles down to assembly is probably the most popular way to learn this.

MadCoder
A: 

Thanks a lot. I appreciate the answers. I never knew Python is that important in network security. I will learn assembly, c, and python. Thanks

Dean