J'ai une situation étrange avec un port réseau ouvert. Ma principale question est, pourquoi n'y aurait-il pas un programme associé à un port TCP ouvert:
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 spécifique, il est supposé qu'un démon nrpe (installation opsview) écoute sur le port 5666, mais aucun démon nrpe n'est en cours d'exécution. Si j'essaye de le démarrer, il se ferme immédiatement.
lsof -i :5666
n'affiche aucune sortie non plus. Il n'y a pas (x) inetd en cours d'exécution sur mon système.
MISE À JOUR
Oui, j'exécutais ces commandes en tant que root. Telnet le pourrait, mais il n'y a jamais eu de réponse.
Après une enquête plus approfondie, j'ai trouvé une erreur de noyau dans dmesg
: il s'agissait d'une instance EC2 (en fait plusieurs d'entre eux) exécutant un noyau plus ancien (2.6.16 est apparemment instable). Le correctif pour arrêter le crash était de mettre à niveau les noyaux .
Il semble que la façon dont le noyau s'est écrasé a fait disparaître le processus et laissé le port ouvert.
Réponses:
Les ports ouverts par le noyau n'apparaîtront pas avec le nom du programme. Certains trucs NFS et OCFS me viennent à l'esprit. C'est peut-être quelque chose comme ça?
Ou cela pourrait être un bug du noyau. Vérifiez les journaux du noyau pour OOPS et BUG.
la source
Avez-vous exécuté netstat et lsof en tant que root ou avec sudo? Remarquez la dernière colonne:
Depuis la page de manuel netstat:
Comment savez-vous qu'il n'y en a pas un en cours d'exécution? Si le port est utilisé, il est logique qu'il se ferme immédiatement avec une erreur «socket in use». que se passe-t-il lorsque vous vous connectez telnet au port?
la source
exécutez 'netstat --tcp --udp --listening --program' en tant qu'utilisateur root . sinon vous ne donnerez pas le PID / Nom du programme
puis utilisez la commande kill -9 PID
la source
J'ai en fait écrit un petit script shell pour aider à identifier ces questions occasionnelles:
enregistrer sous / usr / local / bin / tracer; sortie:
Vous aurez besoin des privilèges root pour l'utiliser
la source
J'ai pu suivre le processus en obtenant son inode via netstat, puis en utilisant cet inode avec lsof. Voir ma réponse plus détaillée dans /server//a/847910/94376 .
la source
Parfois, les programmes liés à nfs n'apparaissent pas dans la liste des programmes.
De plus, les modules pam LDAP et les connexions ouvertes libnss_ldap aux serveurs LDAP, mais aucun processus réel ne maintient la connexion ouverte, donc netstat -tnp affiche une connexion active sans processus.
la source