Comandos não encontrados: netstat, nmap no CentOS 7

60

Estou usando o seguinte CentOS:

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

Os comandos nmap , netstat e lsof não são encontrados no CentOS7. Por quê?

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

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

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

O que devo fazer para que funcionem?

    
por calmatery 23.07.2014 / 20:56

5 respostas

54

O pacote net-tools foi preterido no CentOS7 em favor da suite iproute2 . Você pode instalá-lo manualmente ou dar uma olhada neste post do blog para obter comandos de substituição:

EDITAR

Aqui está o URL para o Bugzilla da Red Hat para RHEL7 que cobre a depreciação de netstat em mais detalhes: link

Trecho

As stated before, net-tools are deprecated thus shouldn't be used unless necessary. Behaviour in RHEL 7 is the same as in Fedora - net-tools is missing from minimal install, but is in @base (~= @standard in Fedora) which is installed in all non-minimal configurations.

Existem também outros tickets que lidam com isso, como os IDs 682308 e 687920. Note que eles são atribuídos ao projeto Fedora e são bastante antigos.

    
por 17.09.2014 / 17:05
28

apenas faça:

yum install net-tools
    
por 15.09.2014 / 11:53
11

Sempre que você não puder encontrar executáveis em uma distro baseada no Red Hat e você souber seus nomes, você deve fazer 1 das 2 seguintes coisas.

Use repoquery

Você pode pesquisar os repositórios do YUM que estão disponíveis para o seu sistema usando o comando repoquery . Se não estiver instalado, faça um yum install yum-utils .

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

A partir daqui você pode ver quais pacotes têm um executável com esses nomes. Aqui estão todos de uma vez.

$ 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

Agora, basta fazer um sudo yum install lsof ou sudo yum install nmap para instalar esses pacotes ausentes.

Use yum search

Você também pode fazer uma pesquisa semelhante 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

Com essa abordagem, você precisará fazer um pouco de escavação para confirmar que os pacotes resultantes incluem o executável que você está procurando. Eu normalmente olho lá iluminado de arquivos para o que eu quero, mas para isso você terá que usar 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

Usar minha primeira abordagem economiza as etapas extras.

depreciação do netstat

Aparentemente, no CentOS, 7 netstat , que faz parte do pacote net-tools , foi oficialmente preterido, então você deve usar ss (parte do pacote iproute2), daqui para frente.

    
por 15.09.2014 / 14:45
2

Parece que você simplesmente não tem essas ferramentas instaladas. No CentOS, você deve poder instalá-los facilmente com yum . Tente isto:

$ yum install nmap netstat
    
por 23.07.2014 / 21:05
2

Resposta do slm votado, apenas facilitando a localização das informações que usei. Eu queria fazer:

netstat -nlp | grep httpd

Em vez disso, no CentOS 7 eu acabei de fazer:

ss -nlp | grep httpd

O que funciona, nem sequer tem que instalá-lo no mínimo do CentOS 7.

Faça "man ss" para detalhes de uso.

    
por 11.08.2017 / 16:14