Добрый день! Почему-то вдруг перестала запускаться утилита nmap на моей рабочей станции (HP dv6-3080er) с операционной системой Ubuntu 12.04.4 Desktop amd64.
Выдавало следующее при попытке просканировать удаленный ресурс:
keiz@dv6:~$ nmap -v -A 192.168.1.50
Starting Nmap 5.21 ( http://nmap.org ) at 2014-05-19 20:31 MSK
NSE: failed to initialize the script engine:
/usr/share/nmap/nse_main.lua:464: ‘version’ did not match a category, filename, or directory
stack traceback:
[C]: in function ‘error’
/usr/share/nmap/nse_main.lua:464: in function ‘get_chosen_scripts’
/usr/share/nmap/nse_main.lua:766: in main chunk
[C]: ?
QUITTING!
Дабы не тратить время на разбор что не так, решил сделать по простому, просто установить версию 6.40 из исходников в систему и соответственно пошагово разобрать все шаги от и до:
Удаляю установленное приложение nmap из системы:
keiz@dv6:~$ sudo apt-get remove nmap -y
keiz@dv6:~$ sudo rm -r /usr/share/nmap/
Скачиваю новую версию приложения nmap:
keiz@dv6:~$ wget http://nmap.org/dist/nmap-6.40.tar.bz2
keiz@dv6:~$ tar -jxvf nmap-6.40.tar.bz2
(на 04.07.2015 доступная версия: http://nmap.org/dist/nmap-6.47.tar.bz2)
keiz@dv6:~$ cd nmap-6.40/
keiz@dv6:~/nmap-6.40$ ./configure
NMAP IS A POWERFUL TOOL — USE CAREFULLY AND RESPONSIBLY
Configuration complete. Type make (or gmake on some *BSD machines) to compile.
keiz@dv6:~/nmap-6.40$ make "LUA_LIBS=../liblua/liblua.a -ldl -lm"
keiz@dv6:~/nmap-6.40$ sudo checkinstall
sudo: checkinstall: команда не найдена
keiz@dv6:~/nmap-6.40$ sudo apt-get install checkinstall
keiz@dv6:~/nmap-6.40$ sudo checkinstall
после выполнения данной выше команды в каталоге появится скомпонованный deb пакет:
/home/keiz/nmap-6.40/nmap_6.40-1_amd64.deb
Устанавливаем его:
keiz@dv6:~/nmap-6.40$ sudo dpkg -i nmap_6.40-1_amd64.deb
(Чтение базы данных … на данный момент установлено 529060 файлов и каталогов.)
Подготовка к замене пакета nmap 6.40-1 (используется файл nmap_6.40-1_amd64.deb) …
Распаковывается замена для пакета nmap …
Настраивается пакет nmap (6.40-1) …
Обрабатываются триггеры для man-db …
Проверяю версию приложения:
keiz@dv6:~/nmap-6.40$ nmap -version
Nmap version 6.40 ( http://nmap.org )
Отлично. Процесс разобран.
А это вот также процесс установки, но сделанные ранее на другой системе, здесь в ходе установки были выявлены другие ошибки, но все же установка прошла успешно и проблемы были разрешены:
ekzorchik@srv-mon:~$ wget http://nmap.org/dist/nmap-6.40.tar.bz2
ekzorchik@srv-mon:~$ tar -jxvf nmap-6.40.tar.bz2
ekzorchik@srv-mon:~$ cd nmap-6.40/
ekzorchik@srv-mon:~/nmap-6.40$ ./configure
ekzorchik@srv-mon:~/nmap-6.40$ make "LUA_LIBS=../liblua/liblua.a -ldl -lm"
/bin/sh: 1: g++: not found
make: *** [makefile.dep] Error 127
если у вас данная ошибка, то в систему нужно доустановить данный пакет столь необходимый при компиляции утилиты:
ekzorchik@srv-mon:~$ sudo apt-get install gcc g++ -y
ekzorchik@srv-mon:~/nmap-6.40$ ./configure
ekzorchik@srv-mon:~/nmap-6.40$ make "LUA_LIBS=../liblua/liblua.a -ldl -lm"
Nping compiled successfully!
make[3]: Leaving directory `/home/ekzorchik/nmap-6.40/nping’
make[2]: Leaving directory `/home/ekzorchik/nmap-6.40/nping’
make[1]: Leaving directory `/home/ekzorchik/nmap-6.40′
На этот раз компиляция проходит без проблем
Далее делаем:
ekzorchik@srv-mon:~/nmap-6.40$ sudo checkinstall
sudo: checkinstall: command not found
ekzorchik@srv-mon:~/nmap-6.40$ apt-cache search checkinstall
checkinstall – installation tracker
ekzorchik@srv-mon:~/nmap-6.40$ sudo apt-get install checkinstall -y
ekzorchik@srv-mon:~/nmap-6.40$ sudo checkinstall
Copying files to the temporary directory…
OK
Stripping ELF binaries and libraries…OK
Compressing man pages…OK
Building file list…OK
Building Debian package…OK
Installing Debian package…OK
Erasing temporary files…OK
Writing backup package…OK
OK
Deleting temp dir…OK
**********************************************************************
Done. The new package has been installed and saved to
/home/ekzorchik/nmap-6.40/nmap_6.40-1_amd64.deb
You can remove it from your system anytime using:
dpkg -r nmap
в итоге в каталоге будет сформирован deb файл под вашу архитектуру который уже в последствии можно легко установить в систему:
ekzorchik@srv-mon:~/nmap-6.40$ file nmap_6.40-1_amd64.deb
nmap_6.40-1_amd64.deb: Debian binary package (format 2.0)
ekzorchik@srv-mon:~/nmap-6.40$ sudo dpkg -i nmap_6.40-1_amd64.deb
(Reading database … 56245 files and directories currently installed.)
Preparing to replace nmap 6.40-1 (using nmap_6.40-1_amd64.deb) …
Unpacking replacement nmap …
Setting up nmap (6.40-1) …
Processing triggers for man-db …
Проверяем установленную версию пакета nmap:
ekzorchik@srv-mon:~$ nmap -V
Nmap version 6.40 ( http://nmap.org )
Platform: x86_64-unknown-linux-gnu
Compiled with: nmap-liblua-5.2.2 nmap-libpcre-7.6 nmap-libpcap-1.2.1 nmap-libdnet-1.12 ipv6
Compiled without: openssl
Available nsock engines: epoll poll select
Вот собственно и весь пошаговый процесс, на этом все, с уважением ekzorchik.