Est-il un moyen de surveiller ce processus envoie des paquets UDP (source/dest IP et port) dans Windows?

J'ai découvert presque par hasard que ma machine était en train d'envoyer et de recevoir des paquets UDP vers une machine en Pologne. Pas que je n'ai aucun problème avec la Pologne, je ne sais pas pourquoi mon ordinateur portable a besoin de communiquer avec un serveur. Reverse DNS montre juste le FAI de fournir l'adresse de certains de l'utilisateur final. À l'aide de Wireshark, je peux surveiller les messages, qui étaient indéchiffrables comme ils ont probablement été chiffré. Tous les paquets envoyés à partir de ma machine avait le même port source, donc clairement, l'application qui les a envoyés ouvert ce socket UDP à utiliser. Je suis à la recherche de moyens pour:

1) énumérer tous les sockets actuels ouvrir dans le système, y compris le processus qui l'a créé et, pour TCP et UDP, les ports et les adresses qu'ils sont lié actuel.

2) parce que les applications peuvent ouvrir ces supports, les utiliser, et de les fermer tout de suite, j'aimerais trouver (ou peut-être même écrire) un programme qui une fois démarré, serait en quelque sorte recevez une notification à chaque fois qu'une socket est créé, ou vraiment surtout quand il est lié à une source et/ou l'adresse de destination et le port. Pour UDP, j'aimerais aussi être en mesure de surveiller, de garder une trace de la destination, les adresses IP et les ports qui socket a envoyé des messages.

Je ne veux pas de surveiller le trafic lui-même, j'ai Wireshark si je veux afficher le trafic. Je veux être en mesure pour traverser ensuite de référence pour découvrir ce que l'application est de générer les paquets. Je veux savoir si c'est à partir d'un processus en qui j'ai confiance, ou si c'est quelque chose que j'ai besoin d'étudier davantage.

Quelqu'un sait de toutes les applications (pour la plateforme Windows qui peuvent le faire? Si non, toutes les idées sur un .NET ou de l'API Windows qui fournit cette fonctionnalité, devrais-je envie d'écrire moi-même?

Modifier:
Après de plus amples recherches - ressemble à l'Api à utiliser sont GetExtendedUdpTable et GetExtendedTcpTable, CodeProject.com a certains échantillons d'emballage .NET (voir http://www.codeproject.com/Articles/14423/Getting-the-active-TCP-UDP-connections-using-the-G). Donc une combinaison de cette API et certains sniffer de code serait nécessaire de surveiller et de garder trace de ce que les hôtes quels sont les ports à l'aide de ce protocole, application sur votre machine est en train de parler. Si jamais je reçois un peu de temps libre, je vais envisager la création de ce, si vous connaissez une application qui fait tout cela, s'il vous plaît laissez-moi savoir.

tcpdump? éthérée? aurez besoin de winpcap bibliothèque pour eux.
ethereal est l'ancien nom de Wireshark vous permet de voir les paquets, y compris la source et dest adresses et ports - mais aucun processus d'identification à tous. Je peux voir les paquets, je veux savoir quel est le processus d'envoi/de réception.
Quelle version de Windows? Retour dans la journée, j'ai utilisé Kerio Personal Firewall, qui a très bien montré tous les sockets avec processus propriétaire, et même vous permettent d'écrire des règles sur le trafic sortant. Mais je ne pense pas que cela fonctionne sur Vista/Win7. Également être mis en garde, ils ont sorti un nouveau produit est un morceau de poubelle sous le même nom, se faisant passer pour une nouvelle version.
+1 pour l'utilisation d'un pare-feu personnel (j'ai utilisé ZoneAlarm me suis de retour dans mes jours plus tôt, maintenant, je compte sur pare-feu matériels dans mes routeurs). Laissez un rapport détaillé à vous, plutôt que d'essayer de trouver manuellement.
Bien sûr, un routeur pare-feu n'ont pas accès à des informations de processus, vous besoin de quelque chose qui tourne en local sur le poste de travail pour que.

OriginalL'auteur Brian B | 2012-02-06