Linux / Unix Compilarea și instalarea de la codul sursă

Configurare noua (How To)

Situatie

Scanare în rețea Nmap

Linux / Unix Compilarea și instalarea de la codul sursă

Obținerea, compilarea, instalarea și eliminarea Nmap

Solutie

În timp ce pachetele binare (discutate în secțiunile ulterioare) sunt disponibile pentru majoritatea platformelor.
Compilarea și instalarea de la codul sursă reprezintă cea mai tradițională și cea mai puternică modalitate de a instala Nmap.
Aceasta asigură disponibilitatea celei mai recente versiuni și permite Nmap să se adapteze la disponibilitatea bibliotecii și la structura directorului sistemului dvs.
De exemplu, Nmap folosește bibliotecile de criptografie OpenSSL pentru detectarea versiunilor când sunt disponibile, dar majoritatea pachetelor binare nu includ această funcție.
Pe de altă parte, pachetele binare sunt, în general, mai rapide și mai ușor de instalat și permit gestionarea consistentă (instalarea, eliminarea, actualizarea etc.) a tuturor software-urilor ambalate în sistem.

Sursa de instalare este, de obicei, un proces fără durere – sistemul de construire este conceput pentru a detecta automat cât mai mult posibil. Iată pașii necesari pentru o instalare implicită:

Descărcați cea mai recentă versiune a formării Nmap în formatul .tar.bz2 (compresie bzip2) sau .tgz (compresie gzip) din https://nmap.org/download.html.

Decomprimați tarballul descărcat cu o comandă, cum ar fi:

bzip2 -cd nmap- <VERSION> .tar.bz2 | tar xvf –

Cu GNU tar, comanda mai simplă tar xvjf nmap- <VERSION> .tar.bz2 face trucul. Dacă ați descărcat versiunea .tgz, înlocuiți bzip2 cu gzip în comanda de decompresie.

Schimbați în directorul nou creat: cd nmap- <VERSION>

Configurați sistemul de construcție: ./configure

Dacă configurația reușește, un dragon de artă ASCII pare să vă felicite pentru o configurație de succes și vă avertizează să fiți atent, așa cum se arată în Exemplul de mai jos:

Ex: Ecran de configurare cu succes

flog~/nmap> ./configure
checking build system type… x86_64-unknown-linux-gnu
[hundreds of lines cut]
configure: creating ./config.status
config.status: creating Makefile
config.status: creating nsock_config.h
config.status: nsock_config.h is unchanged

( ) / _ (
| ( ( .( ) _____
` ` ) ( ___ / _
(_` + . x ( . / ____———–/ (o) _
– .- + ; ( O ____
(__ +- .( -‘.- <. _____________ ` /
(_____ ._._: <_ – <- _- _ VVVVVVV VV V /
. /./.+- . .- / +– – . (–_AAAAAAA__A_/ |
(__ ‘ /x / x _/ ( ______________//_ _______
, x / ( ‘ . / . / ___’ /
/ / _/ / + | /
‘ (__/ / /
/
NMAP IS A POWERFUL TOOL — USE CAREFULLY AND RESPONSIBLY
Configuration complete. Type make (or gmake on some *BSD machines) to compile

 

Construiți Nmap (și GUI Zenmap dacă cerințele sale sunt îndeplinite): make

Rețineți că este necesar să creați GNU. Pe sistemele Unix derivate din BSD, acest lucru este adesea instalat ca gmake.
Deci, dacă se întoarce o mulțime de erori, cum ar fi “Makefile, linia 1: Aveți nevoie de un operator”, încercați să rulați gmake în schimb.

Deveniți un utilizator privilegiat pentru instalarea la nivel de sistem: root root

Acest pas poate fi ignorat dacă aveți doar un cont de shell neprivilat în sistem. În acest caz, va trebui probabil să treceți opțiunea –prefix pentru a configura în pasul patru așa cum este descris în secțiunea următoare.

Instalați Nmap, fișiere de suport, docs, etc .: faceți instalare

Felicitări! Nmap este acum instalat ca / ​​usr / local / bin / nmap! Rulați-l fără argumente pentru un ecran de ajutor rapid.

După cum puteți vedea mai sus, o compilație și o instalare simplă a sursei constă din puțin mai mult decât executarea ./configure;make;make install as root.
Cu toate acestea, există o serie de opțiuni disponibile pentru configurare care afectează modul în care este construit Nmap.

Configurați directivele
Majoritatea opțiunilor de construire Unix sunt controlate de scriptul de configurare, așa cum este utilizat în pasul patru de mai sus.
Există zeci de parametri de linie de comandă și variabile de mediu care afectează modul în care este construit Nmap.
Rulați ./configure –help pentru o listă uriașă cu descrieri scurte. Acestea nu sunt aplicabile pentru construirea Nmap pe Windows. Iată opțiunile care sunt specifice pentru Nmap sau sunt deosebit de importante:

–prefix = <directoryname>
Această opțiune, care este standard pentru script-urile de configurare ale majorității software-urilor, determină locul în care Nmap și componentele sale sunt instalate.
Implicit, prefixul este / usr / local, ceea ce înseamnă că nmap este instalat în / usr / local / bin, pagina man (nmap.1) este instalată în / usr / local / man / man1, -os-db, nmap-services, nmap-service-probes etc.)
sunt instalate sub / usr / local / share / nmap. Dacă doriți doar să schimbați calea anumitor componente, utilizați opțiunile –bindir, –datadir și / sau –mandir.
O exemplu de utilizare a –prefix ar fi să instalați Nmap în contul meu ca utilizator neprivilat. Aș rula ./configure –prefix = </ home / fyodor>.
Nmap creează subdirectoare ca / ​​home / fyodor / man / man1 în stadiul de instalare dacă acestea nu există deja.

–without-zenmap
Această opțiune împiedică instalarea interfeței grafice Zenmap. În mod normal, sistemul de construire verifică sistemul dvs.
Pentru cerințe precum limbajul de scripting Python și apoi instalează Zenmap dacă acestea sunt toate disponibile.

–with-openssl = <directoryname>
Sistemul de detectare a versiunii și Nmap Scripting Engine sunt capabili să analizeze serviciile criptate prin SSL utilizând librăriile libere OpenSSL.
În mod normal, sistemul de construcție Nmap caută aceste biblioteci în sistemul dvs și include această capacitate dacă acestea sunt găsite.
Dacă acestea se află într-o locație în care compilatorul nu caută în mod implicit, dar totuși doriți ca acestea să fie utilizate, specificați –with-openssl = <directorname>.
Nmap va arăta apoi <directoryname> / libs pentru librăriile OpenSSL și <directoryname> / include pentru fișierele antet necesare. Specificați -without-openssl pentru a dezactiva în întregime SSL.

Unele distribuții sunt livrate cu biblioteci OpenSSL utilizator care permit programe în execuție, dar nu și fișierele dezvoltatorului necesare pentru a le compila.
Fără aceste pachete de dezvoltatori, Nmap nu va avea suport OpenSSL. Pe sistemele bazate pe Debian, instalați pachetul libssl-dev. Pe sistemele Red Hat, instalați openssl-devel.

–with-libpcap = <directoryname>
Nmap utilizează librăria Libpcap pentru captarea pachetelor IP brute. Nmap caută în mod normal o copie existentă de Libpcap pe sistemul dvs și o folosește dacă numărul și platforma versiunii sunt adecvate.
În caz contrar, Nmap include propria copie recentă a Libpcap (cu unele modificări locale descrise în libpcap / NMAP_MODIFICATIONS din directorul sursă Nmap).
Dacă doriți să forțați Nmap să se conecteze cu propriul dvs. Libpcap, treceți opțiunea –with-libpcap = <directorname> pentru configurare.
Nmap se așteaptă ca biblioteca Libpcap să se afle în <directoryname> /lib/libpcap.a și fișierele de includere să fie în <directoryname> / include.
Nmap va folosi întotdeauna versiunea de Libpcap inclusă în tarball-ul său dacă specificați –with-libpcap = inclus.

–with-libpcre = <directoryname>
PCRE este o bibliotecă de expresie regulată compatibilă cu Perl, disponibilă de la http://www.pcre.org.
Nmap caută în mod normal o copie pe sistemul dvs. și apoi cade înapoi la propria copie dacă nu reușește. Dacă biblioteca PCRE nu se află în calea de căutare standard a compilatorului, probabil Nmap nu o va găsi.
În acest caz, puteți să-i spuneți lui Nmap unde poate fi găsit specificând opțiunea –with-libpcre = <directorname> pentru configurare.
Nmap se așteaptă apoi ca fișierele de bibliotecă să fie în directorul <directoryname> / lib și ca fișierele să fie incluse în <directoryname> / include.
În unele cazuri, vă recomandăm să utilizați bibliotecile PCRE incluse în Nmap, preferând cele deja existente în sistemul dumneavoastră. În acest caz, specificați –with-libpcre = inclus.

–with-libdnet = <directoryname>
Libdnet este o bibliotecă de rețea excelentă pe care Nmap o folosește pentru a trimite cadre de rețea ethernet.
Versiunea din arborele Nmap este puternic modificată (în special codul Windows), deci implicit este utilizarea versiunii incluse.
Dacă doriți să utilizați o versiune deja instalată în sistemul dvs., specificați –with-libdnet = <nume-director>.
Nmap se așteaptă apoi ca fișierele de bibliotecă să fie în directorul <directoryname> / lib și ca fișierele să fie incluse în <directoryname> / include.

–with-localdirs
Această opțiune simplă îi spune lui Nmap să se uite în / usr / local / lib și / usr / local / include pentru fișiere importante din bibliotecă și antet.
Acest lucru nu ar trebui niciodată necesar, cu excepția faptului că unii oameni pun astfel de biblioteci în / usr / local fără a-și configura configuratorul pentru a le găsi.
Dacă sunteți unul dintre acești oameni, utilizați această opțiune.

variabile de mediu
Scriptul de configurare este sensibil la mai multe variabile de mediu. Acestea sunt unele dintre aceste variabile și efectele acestora.

CFLAGS, CXXFLAGS, LDFLAGS
Opțiuni suplimentare pentru trecerea la compilatorul C, compilatorul C ++ și, respectiv, linkerul.
Deoarece părți din Nmap sunt scrise în C și altele în C ++, este mai bine să utilizați atât CFLAGS, cât și CXXFLAGS dacă vreți să utilizați una dintre ele.

LINGUAS
În mod implicit, make install va instala toate traducerile disponibile ale paginii manuale Nmap în plus față de cea engleză. Variabila de mediu LINGUAS poate controla care traduceri sunt instalate.
Valoarea sa ar trebui să fie o listă de coduri de limbă ISO separate de spațiu. De exemplu, pentru a instala numai traducerile franceze și germane, este posibil să rulați LINGUAS = “fr de” make install.
Pentru a dezactiva instalarea tuturor traducerilor, executați configurarea cu opțiunea –disable-nls sau setați LINGUAS la șirul gol.

Tip solutie

Permanent

Article Attachments

Voteaza

(4 din 25 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?