Capture traffic untuk aplikasi spesifik

14

Saya memiliki aplikasi yang berkomunikasi dengan beberapa server. Saya ingin tahu apa IP server ini. Bagaimana saya bisa menangkap semua lalu lintas dari aplikasi tertentu dan bukan hanya semua lalu lintas seperti yang dilakukan Wireshark?

manusia melco
sumber
Sistem operasi apa yang Anda gunakan? Berapa banyak yang Anda ketahui tentang aplikasi ini? Apakah Anda tahu jika menggunakan port tertentu?
James Polley
Windows Server 2008 R2 / Windows 7 Saya tidak tahu apa-apa tentang nomor port. Ini adalah lalu lintas IP (TCP / UDP).
melco-man
1
Jadi, untuk memperjelas. Anda ingin melihat ID Proses setidaknya. Tetapi sesuatu seperti netstat -aon tidak akan melakukannya karena Anda ingin melihat upaya koneksi yang gagal juga. (Saya tidak tahu apa-apa, dan Anda akan beruntung jika seseorang melakukannya, tetapi dapatkah Anda mengklarifikasi apa yang Anda inginkan?)
barlop
Apakah Anda tahu ke mana aplikasi akan mencoba terhubung? Saya pikir Anda bisa menggunakan wireshark dan menggunakan filter untuk menelusuri host tujuan / IP?
emtunc
Juga, tergantung pada jenis aplikasi itu, Anda bisa memaksanya untuk pergi melalui proxy dan menggunakan sesuatu seperti fiddler untuk menangkap lalu lintas aplikasi itu. Tidak pernah mencobanya tetapi tidak dapat melihat mengapa itu tidak berhasil. Mungkin sesederhana mengubah pengaturan proxy IE ke proxy fiddler (port 8888 secara default) atau sesulit kompilasi ulang aplikasi untuk menggunakan proxy atau entah bagaimana memaksa aplikasi untuk menggunakan proxy - saya yakin ada aplikasi di luar sana itu bisa melakukan itu.
emtunc

Jawaban:

4

Dimungkinkan untuk menangkap semua lalu lintas jaringan untuk aplikasi yang diberikan dengan mencegat panggilan Windows Sockets API. Ini adalah alat yang dapat membantu.

  1. Proxocket ditulis oleh Luigi Auriemma. Ini memotong panggilan API dan menyimpan lalu lintas yang ditangkap sebagai file .cap Wireshark-ready dalam format tcpdump. Tidak ada yang lebih jelas daripada gambar yang disediakan oleh Luigi sendiri:Tangkapan layar

  2. NirSoft memiliki aplikasi SocketSniff yang memungkinkan seseorang untuk menangkap lalu lintas dari proses tertentu. Sebuah gambar juga bernilai ribuan kata:Tangkapan layar

Sayangnya, alat yang disebutkan kemungkinan tidak mendukung aplikasi 64-bit. Namun dimungkinkan untuk menulis interseptor khusus menggunakan mhook library yang mendukung API 32-bit dan 64-bit.

PF4Public
sumber
+1 untuk alat freeware NirSoft yang sangat bagus, dan biasanya portabel (single .exe) dan kecil (<500 KB). Pengembang sangat berbakat di sana!
Basj
Bagaimana dengan Linux?
Aaron Franke
@ AaronFranke stracemungkin membantu. Lihat di sini: askubuntu.com/a/12465/505090
PF4Public
2

Microsoft Network Monitor memungkinkan Anda untuk mengatakan "tangkap hanya paket yang dikirim ke dan dari aplikasi ini".


sumber
-1 untuk jawaban yang tidak jelas dan sebagian besar menebak.
Silindris
Bagaimana dengan Linux?
Aaron Franke
1

Yang paling mudah digunakan adalah Fiddler 2. Ini adalah debugger yang memungkinkan Anda melihat permintaan HTTP, HTTPS, dan FTP (keduanya jika dikonfigurasi) dengan aplikasi apa pun di PC Anda.

Setelah Anda menginstalnya, untuk menargetkan aplikasi tertentu cukup klik dan tahan item menu " Proses Apa Pun " lalu seret kursor ke jendela yang terbuka dan lepaskan. Itu hanya akan menunjukkan aplikasi yang ditargetkan itu sampai Anda mengklik kanan pada item menu yang sekarang membaca proses yang ditargetkan dalam teks merah untuk melepaskannya.

http://fiddler2.com/

cbabb
sumber
Bagaimana cara menggunakan Fiddler untuk permintaan non HTTP / FTP?
Pacerier
0

Pada windows, TCPView harus melakukan apa yang Anda butuhkan: ia dapat menunjukkan kepada Anda semua koneksi TCP dan UDP yang telah dibuka oleh program tertentu.

Namun, saya pikir ini hanya akan membantu jika program membuka koneksi dan membiarkannya terbuka; mereka tidak akan menunjukkan kepada Anda semua lalu lintas jaringan oleh program tertentu. Mungkin saja, misalnya, ia membuat panggilan telepon-rumah yang sangat singkat saat dimuat, tetapi sambungannya hilang saat Anda menjalankan TCPView.

Monitor Proses mungkin membantu untuk mendapatkan lebih banyak detail, tetapi saya belum menggunakannya jadi saya tidak yakin berapa banyak menangkap tentang soket jaringan.

James Polley
sumber
4
TCPView hanya akan membantu dengan koneksi yang ada. Saya perlu melihat upaya koneksi TCP yang gagal.
melco-man
1
Kalau begitu, saya kehabisan ide. Mungkin layak menambahkan itu ke pertanyaan.
James Polley