Cattura il traffico per un'applicazione specifica


14

Ho un'applicazione che comunica con alcuni server. Voglio sapere qual è l'IP di questo server. Come posso catturare tutto il traffico proveniente da un'applicazione specifica e non solo tutto il traffico come fa Wireshark?


Quale sistema operativo stai usando? Quanto ne sai dell'applicazione? Sai se utilizza porte specifiche?
James Polley,

Windows Server 2008 R2 / Windows 7 Non so nulla dei numeri di porta. È il traffico IP (TCP / UDP).
melco-man,

1
Quindi, per chiarire. Vuoi vedere almeno l'ID processo. Ma qualcosa come netstat -aon non lo farà perché vuoi vedere anche i tentativi di connessione falliti. (Non so nulla, e sarai fortunato se qualcuno lo fa, ma puoi chiarire che è quello che vuoi?)
barlop

Sapresti dove l'applicazione tenterà di connettersi? Sto pensando che potresti usare WireShark e utilizzare i filtri per eseguire il drill-down dell'host / IP di destinazione?
emtunc

Inoltre, a seconda del tipo di applicazione, è possibile forzarlo a passare attraverso un proxy e utilizzare qualcosa come il violinista per acquisire il traffico di tale applicazione. Non l'ho mai provato ma non riesco a capire perché non funzionerebbe. Potrebbe essere semplice come modificare le impostazioni del proxy IE in proxy per violinista (porta 8888 per impostazione predefinita) o difficile come ricompilare l'app per utilizzare il proxy o forzare in qualche modo l'app per utilizzare il proxy - Sono sicuro che ci sono app in circolazione quello può farlo.
emtunc

Risposte:


4

È possibile acquisire tutto il traffico di rete per una determinata applicazione intercettando le chiamate API di Windows Sockets. Questi sono gli strumenti che possono aiutare.

  1. Proxocket scritto da Luigi Auriemma. Intercetta le chiamate API e salva il traffico acquisito come file .cap pronto per Wireshark in formato tcpdump. Niente è più esplicativo di un'immagine fornita dallo stesso Luigi:Immagine dello schermo

  2. NirSoft ha un'applicazione SocketSniff che consente di acquisire un traffico di un processo specifico. Un'immagine vale anche più di mille parole:Immagine dello schermo

Purtroppo, gli strumenti citati probabilmente non supportano le applicazioni a 64 bit. Tuttavia è possibile scrivere un intercettore personalizzato utilizzando la libreria mhook che supporta API a 32 e 64 bit.


+1 per gli strumenti freeware NirSoft che sono incredibilmente buoni e generalmente portatili (singolo .exe) e piccoli (<500 KB). Sviluppatore di grande talento lì!
Basj,

Che dire di Linux?
Aaron Franke, il

@AaronFranke stracepotrebbe aiutare. Vedi qui: askubuntu.com/a/12465/505090
PF4 Pubblico il


1

Il più semplice da usare è Fiddler 2. È un debugger che ti consente di visualizzare le richieste HTTP, HTTPS e FTP (entrambe se configurate) con qualsiasi applicazione sul tuo PC.

Dopo averlo installato, per indirizzare un'applicazione specifica è sufficiente fare clic e tenere premuta la voce di menu " Qualsiasi processo ", quindi trascinare il cursore sulla finestra aperta e rilasciarlo. Mostrerà solo l'applicazione di destinazione fino a quando non fai clic con il pulsante destro del mouse sulla voce di menu che ora legge il processo di destinazione in testo rosso per rilasciarlo.

http://fiddler2.com/


Come usare Fiddler per richieste non HTTP / FTP?
Pacerier,

0

Su Windows, TCPView dovrebbe fare ciò di cui hai bisogno: può mostrarti tutte le connessioni TCP e UDP aperte da un determinato programma.

Tuttavia, penso che questo sarà utile solo se il programma sta aprendo una connessione e lasciandola aperta; non ti mostreranno tutto il traffico di rete di un determinato programma. Ad esempio, è possibile che esegua una breve telefonata a casa durante il caricamento, ma la connessione è terminata quando si esegue TCPView.

Process Monitor può aiutare a ottenere maggiori dettagli, ma non l'ho usato, quindi non sono sicuro di quanto acquisisca sui socket di rete.


4
TCPView aiuterà solo con le connessioni stabilite. Ho bisogno di vedere anche i tentativi di connessione TCP non riusciti.
melco-man,

1
In tal caso, sono senza idee. Probabilmente vale la pena aggiungere questo alla domanda però.
James Polley,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.