2016-06-03 1 views
2

J'ai un serveur SQL fonctionnant sur le port 1433. Parfois (peut-être toujours) quand quelqu'un essaye de redémarrer l'instance, le port 1433 est détourné par un autre processus. Lorsque le serveur Windows est redémarré par l'utilisateur, SQLservr.exe peut à nouveau utiliser le port 1433. Parce que cela ne se produit que sporadiquement, l'utilisateur n'a signalé cela que maintenant. Ce serveur est un serveur de production, donc je ne voudrais pas empêcher l'instance de vérifier avec TCPView.Quel processus va pirater un port tcp?

Alors, existe-t-il un moyen de surveiller quel processus essaie d'ouvrir un port spécifique (le processus incriminé), mais échoue parce qu'il est déjà ouvert (par le serveur SQL)?

+0

Si vous voulez un outil qui peut prédire ce que les autres outils vont faire à l'avenir, vous ne disposez pas d'un problème de logiciel, mais un problème de mathématiques. Il n'y a pas de "processus qui veulent utiliser un port quand il devient libre", un port est utilisé ou libre. – CodeCaster

+0

Peut-être ETW pour ['AFD_EVENT_CREATE'] (https://msdn.microsoft.com/en-us/library/windows/desktop/hh448763 (v = vs.85) .aspx)? –

Répondre

0

Vous pouvez utiliser le Logger de Debugging Tools for Windows ou API Monitor, qui enregistre et affiche les appels de fonction et autres actions d'un programme.

API Monitor est beaucoup plus facile à utiliser. Activez d'abord Internet et le réseau à partir du filtre API. Vous pouvez surveiller les processus suspects et filtrer les résultats avec le numéro de port. Ci-dessous la capture d'écran est un exemple d'un processus python essayant d'écouter sur le port 8000 en appelant l'API.

A python process is trying to listen on port 8000

+0

Merci de fournir une réponse même si, apparemment, ma question est hors sujet. Bien que je puisse également voir cela d'un point de vue de programmation, qu'une application peut tester le port, et au lieu d'un message générique que le port est déjà utilisé (ou plus agaçant, arrêter silencieusement), que l'application pourrait découvrir quel autre L'application utilise déjà le port et le signale à l'utilisateur (ou au fichier journal). Je vais essayer API Monitor. – SuHwak