Recomiendo altamente nmap , socat, lft y curl cuando se aprende cualquier comando de Unix relacionado con la seguridad de la red. A menudo hay pocas razones para reinventar estas ruedas.
OpenVAS admite un lenguaje de script específico para la seguridad de la red llamado NASL, aunque originalmente proviene de la herramienta Nessus, donde NASL se basó en CASL (del CyberCop Scanner de Network Associates).
Muchos fuzzers HTTP / TLS han agregado soporte para servicios web y otros controles de programación potentes. Los geniales que he visto últimamente son resty-eructar, buby, wXf y metralla.
También es útil utilizar algún tipo de aplicación de captura de paquetes, ya sea tcpdump, snort, Wireshark, Network Miner o HTTP Scoop.
Muchos consideran que Lua, Python y Ruby son considerablemente mejores para proyectos de seguridad de red a corto plazo e interinos que cualquier otro idioma, aunque los DSL descritos por Metasploit, wXf y watir-webdriver constituyen un caso interesante para apoyar a Ruby MRI y JRuby sobre otros. A la inversa, Lua tiene mucho soporte para tecnologías basadas en filtros, como Wireshark, mod-security y snort (PCRE también se encuentra con mucha frecuencia en estas tecnologías).
En resumen, si va a modificar cualquier código de los proyectos de seguridad de la red, es más probable que esté lanzando un programa de C, pero llamando a una biblioteca o extensión de marco de trabajo escrita en Ruby, Python o Lua. Si se enfoca en enviar tráfico (especialmente HTTP o exploits), Ruby es la mejor opción, pero si se enfoca en recibir tráfico (especialmente IDS o captura de paquetes), entonces Lua es la mejor opción. Para el aprendizaje general, he visto a dpkt en Python hacer cosas increíbles muy rápidamente durante una fase de creación de prototipos.
Consulte el libro, Codificación para probadores de penetración para obtener más información de referencia.