Tshark, Wireshark en línea de comandos. (IV Parte.) Usando el lenguaje Lua.

Seguimos con Tshark. Ahora vamos a ver de forma básica como podemos usar Tshark con el lenguaje de programación de script Lua invocándolo mediante la opción -X como una extensión. No trataremos aquí como programa on Lua, más bien como usar este lenguaje con Tshark.

La sintaxis sería -Xlua_script:nombrefichero.lua

Pero antes que nada. ¿ Que es Lua ?.

Lua para tshark, wireshark y snort

Lua es un lenguage de programación extensible diseñado para una programación procedimental general con utilidades para la descripción de datos. También ofrece un buen soporte para la programación orientada a objetos, programación funcional y programación orientada a datos. Se pretende que Lua sea usado como un lenguaje de script potente y ligero para cualquier programa que lo necesite. Es un lenguaje embebido en una aplicación. A parte de Tshark y Wireshark, también lo usará Snort en la proxima generación de este IDS, la V 3.0 de la que hablaremos en otro post.

Es decir, que a la ya potente herramienta de captura y análisis de paquetes Tshark podemos añadir la todo el potencial de un lenguaje de programación para extraer todos los datos que necesitemos.

Comenzando con Lua

Antes que nada, para usar Lua tenemos que editar el fichero lua.ini que se encuentra en:

C:\Archivos de programa\Wireshark

En este archivo se encuentra la siguiente línea:

disable_lua = true; do return end;
y la cambiamos por:
disable_lua = false; do return end; 
Salvamos y listo.

Como ya hemos dicho, la sintáxis para usar un script de Lua es:

-Xlua_script:nombrefichero.lua

Vamos entonces a crear nuestreo primer ejemplo.

-- Hola.lua -- Mi primer  ejemplo programa con Lua
    print("Hola mundo!")
Lo llamaremos hola.lua y lo invocamos desde Tshark:
tshatk y Lua
Otro ejemplo. Un contador de paquetes atendiendo a un determinado host.
Lo llamaremos contador.lua.

do

packets = 0;
local function init_listener()

local tap = Listener.new(“frame”,”ip.addr == 192.168.1.30″)
function tap.reset()

packets = 0;

end
function tap.packet(pinfo,tvb,ip)

packets = packets + 1

end
function tap.draw()

print(“Paquetes desde/hacia 192.168.1.30”,packets)

end
end

init_listener()

end

Cambiamos o personalizamos la IP y salvamos y ejecutamos:

Tshark y Lua

Con Lua podemos complicar todo lo que queramos y crear programas completos.

Información sobre el API Wireshark para Lua:

http://www.wireshark.org/docs/wsug_html_chunked/wsluarm_modules.html

Esta entrada fue publicada en Seguridad y redes, Wireshark . Tshark y etiquetada , , , , , , , , , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s