Ubuntu, lua, nmap e sqlite3 - módulo 'luasql.sqlite3' não encontrado

1

Eu preciso trabalhar com o nmap e o sqlite3 e instalei o lua 5.1 e o lua-sql-sqlite3 em uma máquina ubuntu:

sudo apt-get install lua5.1; sudo apt-get install lua-sql-sqlite3

Agora, quando estou fazendo isso:

$ lua
Lua 5.2.1  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> drv = require "luasql.sqlite3"
> print(drv._VERSION)
LuaSQL 2.3.0

Tudo está bem, mas quando estou tentando executar o nmap nse scrint com esta linha:

require "luasql.sqlite3"

Estou usando este script nse sqlite-output.nse para trabalhar com nmap e sqlite3.

Eu tenho o erro:

$ sudo nmap --script=sqlite-output.nse localhost
[sudo] password for alex: 

Starting Nmap 7.01 ( https://nmap.org ) at 2016-03-13 04:16 EET
NSE: Failed to load sqlite-output.nse:
sqlite-output.nse:7: module 'luasql.sqlite3' not found:
    NSE failed to find nselib/luasql/sqlite3.lua in search paths.
    no field package.preload['luasql.sqlite3']
    no file '/usr/local/share/lua/5.2/luasql/sqlite3.lua'
    no file '/usr/local/share/lua/5.2/luasql/sqlite3/init.lua'
    no file '/usr/local/lib/lua/5.2/luasql/sqlite3.lua'
    no file '/usr/local/lib/lua/5.2/luasql/sqlite3/init.lua'
    no file './luasql/sqlite3.lua'
    no file '/usr/local/lib/lua/5.2/luasql/sqlite3.so'
    no file '/usr/local/lib/lua/5.2/loadall.so'
    no file './luasql/sqlite3.so'
    no file '/usr/local/lib/lua/5.2/luasql.so'
    no file '/usr/local/lib/lua/5.2/loadall.so'
    no file './luasql.so'
stack traceback:
    [C]: in function 'require'
    sqlite-output.nse:7: in function <sqlite-output.nse:1>
NSE: failed to initialize the script engine:
/usr/local/bin/../share/nmap/nse_main.lua:600: could not load script
stack traceback:
    [C]: in function 'error'
    /usr/local/bin/../share/nmap/nse_main.lua:600: in function 'new'
    /usr/local/bin/../share/nmap/nse_main.lua:805: in function 'get_chosen_scripts'
    /usr/local/bin/../share/nmap/nse_main.lua:1249: in main chunk
    [C]: in ?
    
por Sebastian Rockefeller 13.03.2016 / 14:43

1 resposta

1

O Nmap usa Lua 5.2, não 5.1. As versões não são compatíveis.

EDIT: Só vi que você está realmente usando lua-sql-sqlite3 para o Lua 5.2. Mas o Nmap está procurando nos locais impressos em sua pergunta, no prefixo /usr/local . Pacotes do Ubuntu são instalados no prefixo /usr . Você provavelmente poderia fazer funcionar fazendo sudo ln -s /usr/lib/lua/5.2/luasql /usr/local/lib/lua/5.2/luasql

    
por 13.03.2016 / 20:30