Commandes non trouvées: netstat, nmap sur CentOS 7

66

J'utilise les CentOS suivants:

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

Les commandes nmap, netstatet lsofne se trouvent pas sur CentOS7. Pourquoi?

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

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

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

Que dois-je faire pour les faire fonctionner?

calmaterie
la source

Réponses:

61

Le paquet a net-toolsété déconseillé dans CentOS7 au profit de la iproute2suite. Vous pouvez l'installer manuellement ou consulter cet article de blog pour des commandes de remplacement:

MODIFIER

Voici l'URL de Bugzilla pour RHEL7 de Red Hat qui couvre la dépréciation de netstatplus en détail: https://bugzilla.redhat.com/show_bug.cgi?id=1119297

Extrait

Comme indiqué précédemment, les outils réseau sont obsolètes et ne doivent donc pas être utilisés à moins que cela ne soit nécessaire. Le comportement dans RHEL 7 est identique à celui de Fedora - net-tools est absent de l'installation minimale, mais se trouve dans @base (~ = @standard dans Fedora), qui est installé dans toutes les configurations non minimales.

Il existe également d'autres tickets traitant de ce problème, tels que les identifiants 682308 et 687920. Notez qu'ils sont affectés au projet Fedora et qu'ils sont assez anciens.

Dan Keder
la source
3
lsof ne figure pas dans votre lien de substitution
mist
Il serait beaucoup plus utile de mettre la substitution de lsofdirectement dans votre réponse
ericn
3
Je ne pense pas que cela a lsofété déconseillé. Ce n'est tout simplement pas installé par défaut. Vous pouvez l'obtenir avec yum install lsof.
Dan Keder
32

il suffit de faire:

yum install net-tools
alex
la source
10
Il ne m'a fallu que quelques minutes pour déterminer ce qui a netstat -plntété remplacé en ss -plntutilisant ce lien de la réponse de @ DanKeder ci-dessus. Je pense que nous devrions d'abord essayer de faire fonctionner les solutions recommandées de la distribution au lieu de revenir à des approches obsolètes.
CodeMed
12

Chaque fois que vous ne pouvez pas trouver d’exécutable sur une distribution Red Hat et que vous connaissez leur nom, vous devez effectuer l’une des deux tâches suivantes.

Utiliser la repoquerie

Vous pouvez rechercher les référentiels YUM disponibles sur votre système à l'aide de la commande repoquery. Si ce n'est pas installé, alors faites un yum install yum-utils.

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

De là, vous pouvez voir quels paquets ont un exécutable avec ces noms. Voici tous à la fois.

$ 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

Maintenant, faites simplement un sudo yum install lsofou sudo yum install nmappour installer ces paquets manquants.

Utilisez yum search

Vous pouvez également faire une recherche similaire en utilisant 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

Avec cette approche, vous devrez creuser un peu pour vérifier que les packages résultants incluent le fichier exécutable que vous recherchez. En général, je cherche des fichiers pour trouver ce que je veux, mais vous devrez utiliser pour cela 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

Donc, en utilisant ma première approche, vous enregistrez les étapes supplémentaires.

dépréciation de netstat

Apparemment, dans CentOS 7 netstat, qui fait partie du paquet net-toolsa été officiellement déconseillé, vous devriez donc utiliser ss(une partie du paquet iproute2) à l’avenir.

slm
la source
1
+1 pour les commandes repoqueryet yum search.
fduff
4

Réponse votée de slm, facilitant simplement la recherche des informations que j'ai utilisées. Je voulais faire:

netstat -nlp | grep httpd

Au lieu de cela, sur CentOS 7 je viens de faire:

ss -nlp | grep httpd

Ce qui fonctionne, n'a même pas eu à l'installer sur CentOS 7 minimal.

Faites "man ss" pour les détails d'utilisation.

Nagev
la source
2

Il semble que ces outils ne soient tout simplement pas installés. Sur CentOS, vous devriez pouvoir les installer facilement avec yum. Essaye ça:

$ yum install nmap netstat
KidElephant
la source
1
En fait, cela semble être une réponse assez valable. Mais, pour mémoire, cela ne prend pas beaucoup de temps ni de travail pour avoir 50 reps; si vous pensez vraiment que quelque chose doit être posté en tant que commentaire, attendez simplement de pouvoir le poster en tant que tel. (ça ne prendra pas longtemps)
HalosGhost
9
Notez également, netstata été déconseillé en faveur de ss. Je doute que ça s'en aille de si tôt, mais juste pour fyi. Je parie que ssc'est déjà installé.
Patrick
@HalosGhost: Cela peut prendre beaucoup plus de temps que cela, et vous devez également poser des questions ou répondre à certaines questions.
Guido van Steen
1
NetSTat n'est pas un paquet valide dans cette distribution.
David Newcomb