uygulamayı izole edin ve internet üzerinden hangi paketleri gönderdiğini kontrol edin


18

Bu tür bir sorunun burada uygun olduğundan emin değilim, bu yüzden yanılıyorsam beni affet.

İşte bir sorun: Belirli bir programın internete ne gönderdiğini görmek istiyorum, ama şey şu ki, bilgisayarda internet kullanan birçok uygulama ve hizmet var. Bu yüzden ilgilendiğim bir uygulama tarafından gönderilen paketleri anlamak mümkün değil.

Bir yol, diğer tüm uygulamaları kapatmaya çalışmaktır, ancak bu imkansızdır.

Belirli bir uygulamayı izole etmenin bir yolu var mı? Windows7 üzerinde çalışıyorum ve wireshark ile paketleri yakalıyorum

Yanıtlar:


13

Wireshark kullandığınız göz önüne alındığında, bağlantı noktası numaralarınız otomatik olarak bir uygulama adına çözümlenmediğinden, aradığınız bilgileri hassaslaştırmak için biraz daha yapmanız gerekecek. Bir ağ üzerinden iletişim kurmak için TCP / IP kullanan her uygulama portları kullanır, böylece ağ yığını nereye segment verileceğini bilir (Ben buna bir uygulama adresi demeyi seviyorum).

Belirli bir bağlantı noktasındaki sunucu uygulamasına bağlanan istemcilere dinamik aralıktan dinamik olarak bir bağlantı noktası numarası atanır. Bu nedenle, öncelikle uygulamanızın hangi TCP / UDP bağlantılarının açık olduğunu bulmanız gerekir:

netstat -b

komut satırında, bağlantıyı oluşturan yürütülebilir dosyanın adıyla bir bağlantı listesi verilir. Her yürütülebilir dosya 127.0.0.1:xxxxx olarak listelenen bir veya daha fazla bağlantıya sahiptir; burada X, bağlantının yerel bağlantı noktası numarasıdır.

Şimdi wireshark'ta, bu filtrelerden bir veya daha fazlasını kullanarak o bağlantı noktasından kaynaklanan veya bu bağlantı noktasına giden paketleri görüntülemesini söylemeniz gerekir:

tcp.port == xxxxx veya udp.port == xxxxx

or tcp.port == xxxxxGöstermek istediğiniz her bağlantı için bir ek ekleyin .

Bu, uygulamanızın açık olduğu bağlantılar için tüm trafiği görmenizi sağlar ve Wireshark yalnızca ham TCP / UDP segmentlerini içermez, aynı zamanda bu bağlantı noktası numaralarını da kullanan çeşitli uygulama katmanı protokollerini (örn. HTTP) içerecektir.

Uygulamanız yalnızca bir sunucuyla iletişim kuruyor gibi görünüyorsa, filtrelemek için o sunucunun IP adresini kullanabilirsiniz:

ip.addr == x.x.x.x

Soketlerle ilgili en büyük sorun (kaydedilmemiş portlar kullanarak), bir uygulama tarafından açılıp kapatılan bir soketin doğası gereği çok dinamik olmasıdır. Netstat -b komutunu çalıştırdığınızda, 5 saniyelik aralıklarla çalıştırsanız bile, listelenen her uygulama için farklı sonuçlar verir. Bu yüzden başvuruma tahsis edilen tüm port numaralarını fark etmek çok zor. Ben de benim uygulama için "TCPView" aracında (sysInternals suite) gözlemliyordum. 10 saniye içinde yaklaşık 15 TCP soket bağlantısının benim uygulama tarafından açıldığını ve birçoğunun da öldürüldüğünü gördüm
RBT

1
Bu, Microsoft Ağ İzleyicisi'nin kullanışlı olduğu yerdir, çünkü ağ iletişiminin kaynaklandığı süreci izleyebilir ve bu işlem altında gruplayabilir. Ancak, bu yazıldığından beri Wireshark'ın yeni bir ana sürümü yayınlandı. Böyle bir gruplamanın Wireshark kullanarak da mümkün olması muhtemeldir, ancak bir süredir kullanmadım.
john

7

Microsoft'tan Process Monitor'ü kullanıyorsanız , filtreleri yalnızca belirli işlemlerden gelen ağ iletişimini gösterecek şekilde değiştirebilirsiniz. Size paketlerin içeriğini vermez, ancak uygulamanın konuştuğu ana bilgisayarları gösterir.


1
? Paketleri görmek istedi.
Pacerier

1

Microsoft Ağ İzleyicisi, trafik akışından sorumlu işlemi gösterecektir.



0

Başvuru işlem numarasını almak için Sistem Dahili İşlem Süreci İzleyicisi'ni kullanın ve aşağıdaki sistem Dahili araçlarına bakın:

https://docs.microsoft.com/en-us/sysinternals/

Cmd.exe dosyasını açın ve çalıştırın, netstat komut satırı seçeneklerini gösterin, netstat /? .

Şimdi netstat -bo 1 >> c: /test.log dosyasını deneyin. Bu, belirli uygulamaların ağ bağlantısı verilerinizi sürekli güncellenen bir dosyada bulmanızı sağlar.

Cmd penceresine bir ctl-C girerek netstat -bo >> c: /test.log dosyasının günlüğe yazmasını durdurmanız gerektiğini unutmayın.


-2

Sadece My_Applicationuygulamanızın PNAMEveyaPID

netstat - programlar | grep "Uygulamam"

Windows 7'de test etmiyorum ama Linux üzerinde çalışıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.