mengisolasi aplikasi dan memeriksa paket apa yang dikirim melalui internet

18

Saya tidak yakin pertanyaan semacam ini cocok di sini, jadi maafkan saya jika saya salah.

Berikut ini masalahnya: Saya ingin melihat program apa yang dikirim ke internet, tetapi masalahnya di komputer ada banyak aplikasi dan layanan yang menggunakan internet. Jadi tidak mungkin untuk mengetahui paket mana yang dikirim oleh aplikasi yang saya minati.

Salah satu caranya adalah dengan mencoba menutup semua aplikasi lain, tetapi ini tidak mungkin.

Jadi apakah ada cara untuk mengisolasi aplikasi tertentu? Saya bekerja di windows7 dan mengambil paket dengan wireshark

Salvador Dali
sumber

Jawaban:

13

Karena Anda menggunakan Wireshark, nomor port Anda tidak secara otomatis diselesaikan ke nama aplikasi, jadi Anda perlu melakukan sedikit lebih banyak untuk memperbaiki informasi yang Anda cari. Setiap aplikasi yang menggunakan TCP / IP untuk berkomunikasi melalui jaringan akan menggunakan port, sehingga tumpukan jaringan tahu ke mana harus mengirimkan segmen (saya suka menyebutnya alamat aplikasi).

Klien yang terhubung ke aplikasi server pada port tertentu akan secara dinamis dialokasikan nomor port dari rentang dinamis. Jadi, pertama-tama Anda perlu mencari tahu koneksi TCP / UDP yang telah dibuka aplikasi Anda:

netstat -b

pada baris perintah akan memberi Anda daftar koneksi dengan nama yang dapat dieksekusi yang membuat koneksi. Setiap executable memiliki satu atau lebih koneksi yang terdaftar sebagai 127.0.0.1:xxxxx, di mana X adalah nomor port lokal untuk koneksi tersebut.

Sekarang di wireshark, Anda harus memberitahukannya untuk menampilkan paket-paket yang berasal dari atau ditakdirkan untuk port itu dengan menggunakan satu atau lebih dari filter ini:

tcp.port == xxxxx atau udp.port == xxxxx

Tambahkan tambahan or tcp.port == xxxxxuntuk setiap koneksi yang ingin Anda tampilkan.

Ini akan memungkinkan Anda untuk melihat semua lalu lintas untuk koneksi yang telah dibuka aplikasi Anda dan Wireshark tidak akan menyertakan hanya segmen TCP / UDP yang mentah tetapi akan mencakup berbagai protokol lapisan aplikasi (mis. HTTP) yang menggunakan nomor port juga.

Jika aplikasi Anda tampaknya berkomunikasi dengan hanya satu server, Anda bisa menggunakan alamat IP server itu untuk memfilter berdasarkan:

ip.addr == x.x.x.x
john
sumber
Masalah terbesar dengan soket (menggunakan port unreserved) adalah soket yang dibuka dan ditutup oleh aplikasi sangat dinamis. Ketika Anda menjalankan perintah netstat -b, itu akan memberi Anda hasil yang berbeda untuk setiap aplikasi yang terdaftar bahkan jika Anda menjalankannya dalam interval 5 detik. Jadi sangat sulit untuk memperhatikan semua nomor port yang dialokasikan untuk aplikasi saya. Saya mengamati hal yang sama untuk aplikasi saya di "TCPView" tool (sysInternals suite). Saya melihat bahwa dalam kurun waktu 10 detik, kira-kira 15 koneksi soket TCP dibuka oleh aplikasi saya dan banyak dari mereka terbunuh juga
RBT
1
Di sinilah Microsoft Network Monitor berguna, karena dapat melacak proses yang berasal dari komunikasi jaringan dan mengelompokkannya di bawah proses itu. Namun, sejak ini ditulis, versi utama baru Wireshark telah dirilis. Mungkin pengelompokan seperti itu juga dimungkinkan menggunakan Wireshark, tapi saya belum menggunakannya dalam beberapa saat.
john
7

Jika Anda menggunakan Monitor Proses dari Microsoft , Anda dapat mengubah filter untuk hanya menampilkan komunikasi jaringan dari proses tertentu. Itu tidak memberi Anda isi dari paket, tetapi itu menunjukkan host apa aplikasi berbicara dengan.

leher panjang
sumber
1
? Dia ingin melihat paket-paket itu.
Pacerier
1

Microsoft Network Monitor akan menunjukkan kepada Anda proses yang bertanggung jawab atas arus lalu lintas.

joeqwerty
sumber
1

Saya menemukan Microsoft Message Analyzer sangat berguna untuk tujuan yang sama persis. Ini memungkinkan untuk menangkap lalu lintas jaringan dan menggabungkannya dengan pohon proses.

YaoLen
sumber
0

Gunakan Monitor Proses Internal Sistem untuk mendapatkan nomor proses aplikasi dan lihat alat Internal Sistem lainnya di:

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

Buka cmd.exe dan jalankan, tampilkan opsi baris perintah netstat, netstat /? .

Sekarang coba netstat -bo 1 >> c: /test.log. Ini akan memungkinkan Anda menemukan data koneksi jaringan aplikasi spesifik Anda dalam file yang terus diperbarui.

Ingat, Anda harus menghentikan netstat -bo >> c: /test.log dari menulis ke log dengan memasukkan ctl-C di jendela cmd.

Jef Mar
sumber
-2

Ganti saja My_Applicationdengan aplikasi Anda PNAMEatauPID

netstat --programs | grep "My_Application"

Saya tidak mengujinya di windows 7. tetapi bekerja di Linux.

Mostafa Lavaei
sumber