Я пытаюсь установить
я пытался следовать инструкциям в nmap сайте путем выполнения этого:
bzip2 -cd nmap-6.40.tar.bz2 | tar xvf -
cd nmap-6.40
./configure
make
su root
make install
и все это работает хорошо, непока я не ввожу, делают, и я, кажется, получаю что-то, что является ошибкой
/nmap-6.40$ make
Compiling liblua
make[1]: Entering directory `/home/qayin/nmap-6.40/liblua'
make[1]: `liblua.a' is up to date.
make[1]: Leaving directory `/home/qayin/nmap-6.40/liblua'
Compiling liblinear
make[1]: Entering directory `/home/qayin/nmap-6.40/liblinear'
make[1]: `liblinear.a' is up to date.
make[1]: Leaving directory `/home/qayin/nmap-6.40/liblinear'
Compiling libpcap
make[1]: Entering directory `/home/qayin/nmap-6.40/libpcap'
VER=`cat ./VERSION`; \
MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' ./VERSION`; \
gcc -shared -Wl,-soname,libpcap.so.$MAJOR_VER \
-o libpcap.so.$VER pcap-linux.o pcap-usb-linux.o pcap-can-linux.o pcap-netfilter-linux.o fad-getad.o pcap.o inet.o gencode.o optimize.o nametoaddr.o etherent.o savefile.o sf-pcap.o sf-pcap-ng.o pcap-common.o bpf_image.o bpf_dump.o scanner.o grammar.o bpf_filter.o version.o
/usr/bin/ld: cannot open output file libpcap.so.1.2.1: Permission denied
collect2: ld returned 1 exit status
make[1]: *** [libpcap.so] Error 1
make[1]: Leaving directory `/home/qayin/nmap-6.40/libpcap'
make: *** [pcap_build] Error 2
qayin@kraken-PC:~/nmap-6.40$ sudo make
Compiling liblua
make[1]: Entering directory `/home/qayin/nmap-6.40/liblua'
make[1]: `liblua.a' is up to date.
make[1]: Leaving directory `/home/qayin/nmap-6.40/liblua'
Compiling liblinear
make[1]: Entering directory `/home/qayin/nmap-6.40/liblinear'
make[1]: `liblinear.a' is up to date.
make[1]: Leaving directory `/home/qayin/nmap-6.40/liblinear'
Compiling libpcap
make[1]: Entering directory `/home/qayin/nmap-6.40/libpcap'
VER=`cat ./VERSION`; \
MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' ./VERSION`; \
gcc -shared -Wl,-soname,libpcap.so.$MAJOR_VER \
-o libpcap.so.$VER pcap-linux.o pcap-usb-linux.o pcap-can-linux.o pcap-netfilter-linux.o fad-getad.o pcap.o inet.o gencode.o optimize.o nametoaddr.o etherent.o savefile.o sf-pcap.o sf-pcap-ng.o pcap-common.o bpf_image.o bpf_dump.o scanner.o grammar.o bpf_filter.o version.o
./config.status --file=pcap-config.tmp:./pcap-config.in
config.status: creating pcap-config.tmp
mv pcap-config.tmp pcap-config
chmod a+x pcap-config
make[1]: Leaving directory `/home/qayin/nmap-6.40/libpcap'
Compiling libpcre
make[1]: Entering directory `/home/qayin/nmap-6.40/libpcre'
make all-am
make[2]: Entering directory `/home/qayin/nmap-6.40/libpcre'
make[2]: Leaving directory `/home/qayin/nmap-6.40/libpcre'
make[1]: Leaving directory `/home/qayin/nmap-6.40/libpcre'
Compiling libdnet
make[1]: Entering directory `/home/qayin/nmap-6.40/libdnet-stripped'
Making all in include
make[2]: Entering directory `/home/qayin/nmap-6.40/libdnet-stripped/include'
make all-recursive
make[3]: Entering directory `/home/qayin/nmap-6.40/libdnet-stripped/include'
Making all in dnet
make[4]: Entering directory `/home/qayin/nmap-6.40/libdnet-stripped/include/dnet'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/qayin/nmap-6.40/libdnet-stripped/include/dnet'
make[4]: Entering directory `/home/qayin/nmap-6.40/libdnet-stripped/include'
make[4]: Leaving directory `/home/qayin/nmap-6.40/libdnet-stripped/include'
make[3]: Leaving directory `/home/qayin/nmap-6.40/libdnet-stripped/include'
make[2]: Leaving directory `/home/qayin/nmap-6.40/libdnet-stripped/include'
Making all in src
make[2]: Entering directory `/home/qayin/nmap-6.40/libdnet-stripped/src'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/qayin/nmap-6.40/libdnet-stripped/src'
make[2]: Entering directory `/home/qayin/nmap-6.40/libdnet-stripped'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/qayin/nmap-6.40/libdnet-stripped'
make[1]: Leaving directory `/home/qayin/nmap-6.40/libdnet-stripped'
Compiling libnbase
cd nbase && make
make[1]: Entering directory `/home/qayin/nmap-6.40/nbase'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/qayin/nmap-6.40/nbase'
Compiling libnsock
cd nsock/src && make
make[1]: Entering directory `/home/qayin/nmap-6.40/nsock/src'
cd ../../nbase && make
make[2]: Entering directory `/home/qayin/nmap-6.40/nbase'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/qayin/nmap-6.40/nbase'
make[1]: Leaving directory `/home/qayin/nmap-6.40/nsock/src'
cd ncat && make
make[1]: Entering directory `/home/qayin/nmap-6.40/ncat'
Compiling liblua
make[2]: Entering directory `/home/qayin/nmap-6.40/liblua'
make[2]: `liblua.a' is up to date.
make[2]: Leaving directory `/home/qayin/nmap-6.40/liblua'
Compiling libnsock
cd ../nsock/src && make
make[2]: Entering directory `/home/qayin/nmap-6.40/nsock/src'
cd ../../nbase && make
make[3]: Entering directory `/home/qayin/nmap-6.40/nbase'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/qayin/nmap-6.40/nbase'
make[2]: Leaving directory `/home/qayin/nmap-6.40/nsock/src'
gcc -o test/addrset -g -O2 -Wall -L../libpcap test/addrset.o ncat_core.o sys_wrap.o util.o ncat_lua.o -ldl -ldl ../nsock/src/libnsock.a ../nbase/libnbase.a -lpcap ./../liblua/liblua.a -lm
./../liblua/liblua.a(loadlib.o): In function `ll_sym':
/home/qayin/nmap-6.40/liblua/loadlib.c:142: undefined reference to `dlsym'
./../liblua/liblua.a(loadlib.o): In function `ll_load':
/home/qayin/nmap-6.40/liblua/loadlib.c:135: undefined reference to `dlopen'
./../liblua/liblua.a(loadlib.o): In function `ll_sym':
/home/qayin/nmap-6.40/liblua/loadlib.c:143: undefined reference to `dlerror'
./../liblua/liblua.a(loadlib.o): In function `ll_load':
/home/qayin/nmap-6.40/liblua/loadlib.c:136: undefined reference to `dlerror'
./../liblua/liblua.a(loadlib.o): In function `ll_unloadlib':
/home/qayin/nmap-6.40/liblua/loadlib.c:130: undefined reference to `dlclose'
collect2: ld returned 1 exit status
make[1]: *** [test/addrset] Error 1
make[1]: Leaving directory `/home/qayin/nmap-6.40/ncat'
make: *** [ncat_build] Error 2
во всяком случае я пытаюсь продолжить и su root
и я получаю ошибку аутентификации по некоторым причинам, таким образом, я сделал sudo su
вместо этого, и затем это говорит, что я - корень, но make install
не работает, давая мне воспроизведение: make: *** No rule to make target
libnetutil/libnetutil.a', необходимый nmap Stop.
ty
Я не пробовал собирать эту версию nmap, но, исходя из моего предыдущего опыта, есть проблема с Makefile для подкомпонента ncat, не соблюдающего требования порядка следования ссылок библиотеки gcc относительно libdl
Если вам нужен только сам nmap, то самый простой обходной путь - это просто сконфигурировать сборку без компонента ncat, то есть запустить
./configure --without-ncat
и затем снова выполнить шаги make
и make install
. Поскольку вы использовали sudo
для шага создания в прошлый раз, вам, вероятно, потребуется сделать это снова, так как любые объектные файлы будут созданы с правами root-владельца, однако было бы предпочтительнее исправить исходную проблему владения / прав доступа.
Если вам нужно собрать компонент ncat, вам, вероятно, придется отредактировать соответствующий Makefile, как описано здесь, на ubuntuforums.org
. о порядке ссылки библиотеки в документации gcc или см., например, порядок компоновщика - GCC в stackoverflow
Просто скачайте rpm и запустите следующий скрипт:
alien nmap-6.47-1.x86_64.rpm
, тогда у вас будет файл deb для установки через
dpkg -i nmap_6.47-2_amd64.deb