web-dev-qa-db-fra.com

Port de réseau ouvert, mais aucun processus attaché?

J'ai une situation étrange avec un port réseau ouvert. Ma principale question est que savoir pourquoi n'aurait-il pas un programme associé à un fichier Open TCP:

netstat -ln --program
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      -  

Pour mon cas particulier, il est censé être un daemon NRPE (opsview install) à l'écoute du port 5666, mais il n'y a pas de démon NRPE en cours d'exécution. Si j'essaie de commencer, il sort immédiatement.

lsof -i :5666 ne montre aucune sortie non plus. Il n'y a pas de (x) inetd exécutant sur mon système.

[~ # ~ ~] Mise à jour [~ # ~]

Oui, je courais ces commandes en tant que root. Telnet pourrait, mais il n'y avait jamais de réponse.

Après une enquête supplémentaire, j'ai trouvé une erreur de noyau dans dmesg: il s'agissait d'une instance EC2 (en fait plusieurs d'entre eux) d'un noyau plus âgé (2.6.16 est apparemment instable). La solution pour arrêter l'accident était de moderniser les noyaux .

Cela ressemble à la façon dont le noyau s'est écrasé causé le processus de disparaître et de laisser le port ouvert.

22
Gary Richardson

Les ports ouverts par le noyau ne s'affichent pas avec le nom du programme. Certaines choses NFS et OCFS viennent à l'esprit. Peut-être que c'est quelque chose comme ça?

Ou cela pourrait être un bug de noyau. Vérifiez les journaux du noyau pour Oops et Bug.

6
Thomas

Avez-vous couru netstat et lsof en tant que root ou avec sudo? Notez la dernière colonne:

netstat -ln --program
tcp        0      0 192.168.21.1:53         0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -

Sudo netstat -ln --program
tcp        0      0 192.168.21.1:53         0.0.0.0:*               LISTEN      2566/named      
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      2566/named      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3125/sshd

De NetStat Manpage:

Vous aurez également besoin de privilèges superutilisateurs pour voir ces informations sur les sockets que vous ne possédez pas.

Comment savez-vous qu'il n'y a pas une course? Si le port est utilisé, il est logique que cela sortait immédiatement avec une erreur "prise d'utilisation". Que se passe-t-il lorsque vous avez Telnet au port?

telnet localhost 5666
24
Kyle Brandt

exécuter 'NetStat --TCP --UDP --LISTENDANT --PROGRAME' AS TILISATEUR ROOTD. autre sage vous, il ne donnera pas Nom PID/Programme

ensuite, utilisez la commande kill -9 pid

4
tomcat user

J'ai pu suivre le processus en obtenant son inode via NetStat, puis en utilisant cette inode avec LSOF. Voir ma réponse plus détaillée dans https://serverfault.com/a/847910/94376 .

3
studgeek

En fait, j'ai écrit un petit script shell pour aider à identifier ces questions occulatrices:

#! /bin/bash
([ "$1" = "" ] || [ "$2" = "" ]) && echo "Usage: tracer <space> <port>" && exit 0
for i in `fuser -n $1 $2`
 do
  ps aux | grep $i | grep -v 'grep'
 done

enregistrer sous/USR/local/bin/traceur; sortir:

root@mo-log:/usr/flows# tracer tcp 80
80/tcp:             
root     27904  0.0  0.0 111668  3292 ?        Ss   Aug04   0:03 /usr/sbin/Apache2 -k start
www-data 32324  0.0  0.0 335332  3560 ?        Sl   Aug05   0:00 /usr/sbin/Apache2 -k start
www-data 32327  0.0  0.0 335324  3560 ?        Sl   Aug05   0:00 /usr/sbin/Apache2 -k start

Vous aurez besoin de privilèges root pour l'utiliser

3
Greeblesnort

Parfois, les programmes liés à NFS ne peuvent être observés sur la liste des programmes.

De plus, LDAP PAM MODULES ET LIBNSSS_LDAP Ouvrir les connexions à des serveurs LDAP, mais il n'y a pas de processus réel qui maintient la connexion ouverte, de sorte que NetStat -TNP montre une connexion active sans processus.

2
hayalci