risposta-alla-domanda-sullo-sviluppo-web-bd.com

Comandi non trovati: netstat, nmap su CentOS 7

Sto usando il seguente CentOS:

$ cat /etc/centos-release 
CentOS Linux release 7.0.1406 (Core) 

I comandi nmap, netstat e lsof non si trovano su CentOS7. Perché?

$ type -a nmap
bash: type: nmap: not found

$ type -a netstat
bash: type: netstat: not found

$ type -a lsof   
bash: type: lsof: not found

Cosa devo fare per farli funzionare?

68
calmatery

basta fare:

yum install net-tools
34
alex

Ogni volta che non riesci a trovare eseguibili su una distribuzione basata su Red Hat e conosci i loro nomi, dovresti fare 1 delle seguenti 2 cose.

Usa repoquery

È possibile cercare nei repository YUM disponibili per il proprio sistema utilizzando il comando repoquery. Se non è installato, esegui un yum install yum-utils.

$ repoquery -qf */nmap
nmap-2:6.40-4.el7.x86_64

Da qui puoi vedere quali pacchetti hanno un eseguibile con quei nomi. Eccoli tutti in una volta.

$ repoquery -qf */netstat */lsof */nmap
net-tools-0:2.0-0.17.20131004git.el7.x86_64
ctdb-tests-0:2.5.1-2.el7.x86_64
lsof-0:4.87-4.el7.x86_64
nmap-2:6.40-4.el7.x86_64
ctdb-tests-0:2.5.1-2.el7.x86_64

Ora fai solo un Sudo yum install lsof o Sudo yum install nmap per installare questi pacchetti mancanti.

Usa la ricerca di yum

Puoi anche effettuare una ricerca simile usando yum search <executable>.

$ yum search netstat     
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.advancedhosters.com
 * extras: mirror.cisp.com
 * updates: centos-mirror.jchost.net
================================================================== Matched: netstat ==================================================================
dstat.noarch : Versatile resource statistics tool
net-snmp.x86_64 : A collection of SNMP protocol tools and libraries
net-tools.x86_64 : Basic networking tools

Con questo approccio dovrai scavare un po 'per confermare che i pacchetti risultanti includono l'eseguibile che stai cercando. Di solito cerco file di ciò che voglio, ma per questo dovrai usare repoquery.

$ repoquery -ql net-tools.x86_64  | grep netstat
/bin/netstat
/usr/share/man/de/man8/netstat.8.gz
/usr/share/man/fr/man8/netstat.8.gz
/usr/share/man/man8/netstat.8.gz
/usr/share/man/pt/man8/netstat.8.gz

Quindi usare il mio primo approccio ti fa risparmiare i passaggi extra.

deprecazione di netstat

Apparentemente in CentOS 7 netstat, che fa parte del pacchetto net-tools è stato ufficialmente deprecato, quindi dovresti usare ss (parte del pacchetto iproute2), andando avanti.

12
slm

Ho migliorato la risposta di slm, rendendo più semplice la ricerca delle informazioni che ho usato. Volevo fare:

netstat -nlp | grep httpd

Invece, su CentOS 7 ho appena fatto:

ss -nlp | grep httpd

Che funziona, non è nemmeno necessario installarlo su CentOS 7 minimal.

Fai "man ss" per i dettagli di utilizzo.

4
Nagev

Sembra che semplicemente non hai questi strumenti installati. Su CentOS, dovresti essere in grado di installarli facilmente con yum. Prova questo:

$ yum install nmap netstat
2
KidElephant