Penangkapan lalu lintas localhost Wireshark [ditutup]

117

Saya menulis aplikasi server sederhana di C yang berjalan di localhost. Bagaimana cara menangkap lalu lintas localhost menggunakan Wireshark?

Udara SS Liyanage
sumber
3
Saat tua, saya masih memilih untuk membuka kembali karena alasan konsistensi. Ini adalah pertanyaan yang valid, dan IMHO cukup sempit (masalah spesifiknya adalah "localhost")
Marcel

Jawaban:

69

Jika Anda menggunakan Windows, itu tidak memungkinkan - baca di bawah. Anda dapat menggunakan alamat lokal mesin Anda dan kemudian Anda akan dapat menangkap barang. Lihat CaptureSetup / Loopback .

Ringkasan: Anda dapat menangkap antarmuka loopback di Linux, di berbagai BSD termasuk Mac OS X, dan di Digital / Tru64 UNIX, dan Anda mungkin dapat melakukannya di Irix dan AIX, tetapi Anda pasti tidak dapat melakukannya di Solaris, HP -UX ... .

Meskipun halaman menyebutkan bahwa ini tidak mungkin dilakukan di Windows hanya menggunakan Wireshark, Anda sebenarnya dapat merekamnya menggunakan solusi seperti yang disebutkan dalam jawaban berbeda .


EDIT: Sekitar 3 tahun kemudian, jawaban ini tidak lagi sepenuhnya benar. Halaman tertaut berisi instruksi untuk menangkap pada antarmuka loopback .

cnicutar
sumber
Jawaban feuGene sebenarnya berhasil.
GWLlosa
@GWLosa Yup. Anda dapat menggunakan alamat lokal mesin Anda .
cnicutar
7
Saya merasa itu tidak cukup hanya dengan meletakkan IP Anda sendiri di wireshark daripada loopback; menambahkan rute itu diperlukan agar berfungsi dalam situasi saya.
GWLlosa
1
Terima kasih. Di OS X, antarmuka loopback adalah lo0. Memilih en1 atau apa pun default Anda tidak akan berfungsi, tampaknya.
sudo
Untuk menyiapkan adaptor loopback, saya menemukan video youtube ini berguna. youtube.com/watch?v=KsWICPPO_N8
developer747
51

Untuk beberapa alasan, tidak ada jawaban sebelumnya yang berhasil dalam kasus saya, jadi saya akan memposting sesuatu yang berhasil. Ada permata kecil bernama RawCap yang dapat menangkap lalu lintas localhost di Windows. Keuntungan:

  • hanya 17 kB!
  • tidak diperlukan perpustakaan eksternal
  • sangat mudah digunakan (cukup mulai, pilih antarmuka loopback dan file tujuan dan itu saja)

Setelah lalu lintas ditangkap, Anda dapat membukanya dan memeriksa di Wireshark secara normal. Satu-satunya kelemahan yang saya temukan adalah Anda tidak dapat mengatur filter, yaitu Anda harus menangkap semua lalu lintas localhost yang bisa jadi berat. Ada juga satu bug terkait Windows XP SP 3.

Beberapa saran lagi:

Miljen Mikic
sumber
1
tidak diperlukan pengaturan dan cukup sederhana.
vibhu
Dan Anda dapat meminta Wireshark membaca keluaran RawCap secara instan, memberi Anda pengambilan gambar secara langsung. Lihat jawaban saya untuk detailnya.
Richard Kiefer
48

Pada platform Windows, Anda juga dapat menangkap lalu lintas localhost menggunakan Wireshark. Yang perlu Anda lakukan adalah menginstal adaptor loopback Microsoft , dan kemudian mengendusnya.

ciphor
sumber
ciphor, apakah kamu berhasil melakukan ini? ini bertentangan langsung dengan jawaban cnicutar.
feuGene
ya, saya berhasil melakukannya.
ciphor
Dan bagaimana? Tidak berhasil.
schlamar
18
Saya mendapatkan ini untuk bekerja sama pada Win 7. Device Manager -> Add Legacy Hardware -> Saya akan memilih -> Networking -> Microsoft -> Loopback adapter. Setelah terinstal, konfigurasikan dengan alamat IP pilihan Anda. Kemudian: instal ulang wireshark sehingga ia akan menginstal ulang driver tangkap pada antarmuka baru - ini harus dilakukan setiap kali Anda menambahkan antarmuka baru ke windows, loopback, atau real.
antiduh
4
Mengikuti instruksi @antiduh di Win 7 dan sementara saya melihat beberapa pertanyaan netbios, saya tidak melihat lalu lintas HTTP di localhost.
Carlos Rendon
26

Saya belum benar-benar mencoba ini, tetapi jawaban dari web ini terdengar menjanjikan:

Wireshark tidak dapat benar-benar menangkap paket lokal di windows XP karena sifat tumpukan TCP windows. Ketika paket dikirim dan diterima pada mesin yang sama, mereka tampaknya tidak melewati batas jaringan yang dipantau oleh wireshark.

Namun ada cara untuk mengatasinya, Anda dapat merutekan lalu lintas lokal keluar melalui gateway jaringan (router) Anda dengan menyiapkan rute statis (sementara) di mesin windows XP Anda.

Katakanlah alamat IP XP Anda adalah 192.168.0.2 dan alamat gateway (router) Anda adalah 192.168.0.1, Anda dapat menjalankan perintah berikut dari baris perintah windows XP untuk memaksa semua lalu lintas lokal keluar dan kembali melintasi batas jaringan, sehingga wireshark kemudian dapat melacak data (perhatikan bahwa wireshark akan melaporkan paket dua kali dalam skenario ini, sekali ketika mereka meninggalkan pc Anda dan sekali ketika mereka kembali).

route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1

http://forums.whirlpool.net.au/archive/1037087 , baru saja diakses.

feuGene
sumber
6
Saya mencoba ini, dan ternyata berhasil dengan sangat baik.
GWLlosa
tidak bekerja pada win 7 32bit
vantrung -cuncon
11

Silakan coba Npcap: https://github.com/nmap/npcap , ini didasarkan pada WinPcap dan mendukung pengambilan lalu lintas loopback pada Windows. Npcap adalah subproyek dari Nmap ( http://nmap.org/ ), jadi harap laporkan masalah apa pun pada daftar pengembangan Nmap ( http://seclists.org/nmap-dev/ ).

Yang Luo
sumber
Opsi # 1 dari dokumentasi wiresharkStarting from Windows Vista: Npcap is an update of WinPcap using NDIS 6 Light-Weight Filter (LWF), done by Yang Luo for Nmap project during Google Summer of Code 2013 and 2015. Npcap has added many features compared to the legacy WinPcap.
KCD
Anda dapat mengunduh penginstal dari sini: nmap.org/npcap
Wayne Phipps
2
Baik untuk mengetahui bahwa NPcap memiliki beberapa batasan lisensi untuk digunakan dalam lingkungan bisnis.
Jan Smrčina
10

Anda dapat melihat lalu lintas loopback langsung di Wireshark dengan membuatnya membaca output RawCap secara instan. cmaynard menjelaskan pendekatan cerdik ini di forum Wireshark . Saya akan mengutipnya di sini:

[...] jika Anda ingin melihat lalu lintas langsung di Wireshark, Anda masih dapat melakukannya dengan menjalankan RawCap dari satu baris perintah dan menjalankan Wireshark dari baris lain. Dengan asumsi Anda memiliki ekor cygwin yang tersedia, ini dapat dilakukan dengan menggunakan sesuatu seperti ini:

cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap

cmd2: tail -c +0 -f dumpfile.pcap | Wireshark.exe -k -i -

Ini membutuhkan ekor cygwin, dan saya tidak dapat menemukan cara untuk melakukan ini dengan alat Windows out-of-the-box. Pendekatannya bekerja sangat baik bagi saya dan memungkinkan saya menggunakan semua kemampuan filter Wiresharks pada lalu lintas loopback yang ditangkap secara langsung.

Richard Kiefer
sumber
3
Bagi saya, bagian terpenting adalah memulai perintah cmd kedua dengan beberapa penundaan, jika tidak Wireshark tidak dapat membaca file .pcap. Agaknya, karena perlu ada lalu lintas yang tercatat di dalamnya untuk memulai.
Richard Kiefer
Ini harus menjadi jawaban yang diterima (ini cukup untuk menjalankan cmd2 dari git bash)
fider
4
Pembaruan : Netresec baru saja mengumumkan hari ini (30 Jan 2020) versi baru RawCap yang sekarang mendukung penulisan ke pipa atau ke stdout. Jadi untuk hari ini, solusi yang diberikan di atas dapat disederhanakan sebagai berikut, tanpa tailperlu: RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k Anda dapat membaca lebih lanjut tentang fitur RawCap baru di halaman pengumuman RawCap Redux di sini: netresec.com/?page=Blog&month=2020-01&post=RawCap -Redux
Christopher Maynard
8

Untuk Windows ,

Anda tidak dapat menangkap paket untuk Local Loopback di Wireshark. Namun, Anda dapat menggunakan program yang sangat kecil namun berguna yang disebut RawCap ;

RawCap

Jalankan RawCap pada command prompt dan pilih Loopback Pseudo-Interface (127.0.0.1) lalu tulis saja nama file packet capture ( .pcap )

Demo sederhana seperti di bawah ini;

C:\Users\Levent\Desktop\rawcap>rawcap
Interfaces:
 0.     169.254.125.51  Local Area Connection* 12       Wireless80211
 1.     192.168.2.254   Wi-Fi   Wireless80211
 2.     169.254.214.165 Ethernet        Ethernet
 3.     192.168.56.1    VirtualBox Host-Only Network    Ethernet
 4.     127.0.0.1       Loopback Pseudo-Interface 1     Loopback
Select interface to sniff [default '0']: 4
Output path or filename [default 'dumpfile.pcap']: test.pcap
Sniffing IP : 127.0.0.1
File        : test.pcap
Packets     : 48^C
Levent Divilioglu
sumber
6

Anda tidak dapat menangkap loopback di Solaris, HP-UX, atau Windows, namun Anda dapat dengan mudah mengatasi batasan ini dengan menggunakan alat seperti RawCap .

RawCap dapat menangkap paket mentah di semua ip termasuk 127.0.0.1(localhost / loopback). Rawcap juga dapat menghasilkan pcapfile. Anda dapat membuka dan menganalisis pcapfile dengan Wireshark .

Lihat di sini untuk detail lengkap tentang cara memantau localhost menggunakan RawCap dan Wireshark.

cmd
sumber
2

Ya, Anda dapat memantau lalu lintas localhost menggunakan Adaptor Loopback Npcap

melwinalm
sumber