Programming language for network security

  • I am working as a tester now. I am planning to move to the domain of security such as a CEH or CISSP. But many say that to be a great hacker you need to know at least one programming language well. I already know a bit of Java. But I just wanted to know which language is closer to network security and related domains. So what kind of language should I be learning so that it would be helpful for me to move to the domain of security?

    As for your intent to persue a CISSP or CEH...I hold both and can't code my way out of a paperbag. CISSP is mostly conceptual knowlege, and the CEH is very tool centric. Follow the outlines in the domains of either. FWIW...the CEH seemed way easier than the CISSP to me.

  • Chris Dale

    Chris Dale Correct answer

    9 years ago

    There is no defined blueprint on what is the best language to learn. Therefor I would like to mention two good alternatives that I (and many otheres) think is a good languages to learn in computer security.

    LUA

    Explanation of Lua from wikipedia: Lua is a lightweight multi-paradigm programming language designed as a scripting language with "extensible semantics" as a primary goal.

    The reason I mention LUA is a good language to learn is that it is the scripting engine for MANY popular security tools. This is a very good reason alone to learn this language. Some of the langauges include:

    • NMAP (Network mapping tool)
    • Snort (Open source IDS)
    • Wireshark (Packet sniffing tool)
    • Vim (Very popular unix text editor)
    • Cisco ASA (firewall, IPS, VPN)
    • Network services tools (Apache, lightHttpd, FreePop)

    On a side note: Even Blizzard major hit World of Warcraft has support for LUA scripting inside the game :) To whomever that may be relevant to.

    Python

    I am a bit biased on Python after I've started reading the book "Gray Hat Python: Python Programming for Hackers and Reverse Engineers". I agree with many of the points from this book why it is good to learn this langauge for a hacker (commonly known as security specialist :)).

    Quoted from Amazon Python is good language to learn because:

    it's easy to write quickly, and it has the low-level support and libraries that make hackers happy.

    It is also very comfortable to be able to interact on the fly with the interpreter in your Python shell.

    Edit: Graphical view of HackerNews polls on favorite/ disliked programming languages: python wins

    Edit 2: From Digininjas poll:

    Language    Number  Percentage
    Python  245 81%
    Bash Scripting  241 79%
    Ruby    127 42%
    C   123 40%
    Windows Powershell  111 37%
    Batch Scripting 108 36%
    PHP 107 35%
    C++ 66  22%
    Java    65  21%
    Perl    57  19%
    Other   57  19%
    VB  29  10%
    C#  26  9%
    Lua 23  8%
    

    I do believe a variation of Python ( stackless python ) powers the user interface of a game called `Eve Online`. They have also improved the interface a good deal, I just remember stackless python, from when I played.

    I agree with python being a very easy language to pick up. I think he'll get the knowledge he needs from this language. Also I love the pols man :)) I'd upvote you twice just for that.

    My guess is Ruby is so high because of things frameworks like metasploit

License under CC-BY-SA with attribution


Content dated before 7/24/2021 11:53 AM