Capturez le trafic pour une application spécifique


14

J'ai une application qui communique avec un serveur. Je veux savoir quelle est l'IP de ce serveur. Comment puis-je capturer tout le trafic d'une application spécifique et pas seulement tout le trafic comme le fait Wireshark?


Quel système d'exploitation utilisez-vous? Que savez-vous de l'application? Savez-vous s'il utilise des ports spécifiques?
James Polley

Windows Server 2008 R2 / Windows 7 Je ne connais rien aux numéros de port. Il s'agit du trafic IP (TCP / UDP).
melco-man

1
Donc, pour clarifier. Vous voulez au moins voir l'ID de processus. Mais quelque chose comme netstat -aon ne le fera pas parce que vous voulez également voir les tentatives de connexion infructueuses. (Je ne sais rien, et vous aurez de la chance si quelqu'un le fait, mais pouvez-vous préciser que c'est ce que vous voulez?)
barlop

Savez-vous où l'application tentera de se connecter? Je pense que vous pourriez utiliser Wheelshark et utiliser des filtres pour accéder à l'hôte / IP de destination?
emtunc

En outre, selon le type d'application qu'il s'agit, vous pouvez le forcer à passer par un proxy et utiliser quelque chose comme un violon pour capturer le trafic de cette application. Je ne l'ai jamais essayé mais je ne vois pas pourquoi cela ne fonctionnerait pas. Cela peut être aussi simple que de changer les paramètres du proxy IE en proxy fiddler (port 8888 par défaut) ou aussi difficile que de recompiler l'application pour utiliser le proxy ou de forcer l'application à utiliser le proxy - je suis sûr qu'il existe des applications cela peut le faire.
emtunc

Réponses:


4

Il est possible de capturer tout le trafic réseau pour une application donnée en interceptant les appels de l'API Windows Sockets. Ce sont les outils qui peuvent vous aider.

  1. Proxocket écrit par Luigi Auriemma. Il intercepte les appels d'API et enregistre le trafic capturé en tant que fichier .cap prêt pour Wireshark au format tcpdump. Rien n'est plus explicatif qu'une image fournie par Luigi lui-même:Capture d'écran

  2. NirSoft a l' application SocketSniff qui permet de capturer le trafic d'un processus spécifique. Une image vaut aussi mille mots:Capture d'écran

Malheureusement, les outils mentionnés ne prendraient probablement pas en charge les applications 64 bits. Cependant, il est possible d'écrire un intercepteur personnalisé à l'aide de la bibliothèque mhook prenant en charge les API 32 bits et 64 bits.


+1 pour les outils gratuits NirSoft qui sont incroyablement bons, et généralement portables (single .exe) et petits (<500 Ko). Développeur très talentueux là-bas!
Basj

Et sous Linux?
Aaron Franke

@AaronFranke stracepourrait vous aider. Voir ici: askubuntu.com/a/12465/505090
PF4Public


1

Le plus simple à utiliser est Fiddler 2. Il s'agit d'un débogueur qui vous permet de visualiser les requêtes HTTP, HTTPS et FTP (les deux si elles sont configurées) avec n'importe quelle application sur votre PC.

Après l'avoir installé, pour cibler une application spécifique, cliquez simplement sur l'élément de menu " Tout processus " et maintenez-le enfoncé, puis faites glisser le curseur vers la fenêtre ouverte et relâchez-le. Il ne montrera que l'application ciblée jusqu'à ce que vous cliquiez avec le bouton droit sur l'élément de menu qui lit maintenant le processus ciblé en texte rouge pour le libérer.

http://fiddler2.com/


Comment utiliser Fiddler pour les requêtes non HTTP / FTP?
Pacerier

0

Sur Windows, TCPView devrait faire ce dont vous avez besoin: il peut vous montrer toutes les connexions TCP et UDP qu'un programme particulier a ouvertes.

Cependant, je pense que cela ne sera utile que si le programme ouvre une connexion et la laisse ouverte; ils ne vont pas vous montrer tout le trafic réseau par un programme particulier. Il est possible, par exemple, qu'il effectue un appel téléphonique très bref lors de son chargement, mais la connexion a disparu au moment où vous exécutez TCPView.

Process Monitor peut aider à obtenir plus de détails, mais je ne l'ai pas utilisé, donc je ne sais pas combien il capture sur les sockets réseau.


4
TCPView n'aidera qu'avec les connexions établies. J'ai besoin de voir même les tentatives de connexion TCP infructueuses.
melco-man

1
Dans ce cas, je suis à court d'idées. Cela vaut probablement la peine d'ajouter cela à la question.
James Polley

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.