Untuk keperluan debugging, saya ingin memonitor permintaan http pada antarmuka jaringan.
Menggunakan tcpdump
baris perintah naif saya mendapatkan terlalu banyak informasi tingkat rendah dan informasi yang saya butuhkan tidak terwakili dengan jelas.
Membuang lalu lintas melalui tcpdump
ke file dan kemudian menggunakan wireshark
memiliki kelemahan bahwa itu tidak on-the-fly.
Saya membayangkan penggunaan alat seperti ini:
$ monitorhttp -ieth0 --only-get --just-urls
2011-01-23 20:00:01 GET http://foo.example.org/blah.js
2011-01-23 20:03:01 GET http://foo.example.org/bar.html
...
Saya menggunakan Linux.
networking
monitoring
http-logging
maxschlepzig
sumber
sumber
Jawaban:
Coba
tcpflow
:Outputnya seperti ini:
Anda jelas dapat menambahkan metode HTTP tambahan ke pernyataan grep, dan gunakan
sed
untuk menggabungkan dua baris menjadi URL lengkap.sumber
tcpflow
adalah sudah tersedia di repositori default di Ubuntu 10.04 (justsniffer, httpry tidak). Info paket menyatakan bahwa fragmen IP tidak direkam dengan benar - tidak tahu, jika ini penting untuk kasus penggunaan ini - mungkin justsniffer dapat menanganinya dengan lebih baik.Anda dapat menggunakan httpry atau Justniffer untuk melakukannya.
httpry
tersedia misalnya melalui repositori paket Fedora.Contoh panggilan:
(di mana
em1
menunjukkan nama antarmuka jaringan)Contoh output:
(output sedikit disingkat)
sumber
Saya sedang mencari sesuatu yang serupa, dengan persyaratan tambahan yang harusnya berfungsi untuk https juga.
Alat berbasis pcap seperti
tcpflow
httpry
urlsnarf
dan kung fu tcpdump lainnya berfungsi dengan baik untuk http, tetapi untuk permintaan aman Anda kurang beruntung.Saya datang dengan urldump , yang merupakan pembungkus kecil di sekitar mitmproxy .
iptables
digunakan untuk mengarahkan lalu lintas ke proxy, sehingga berfungsi secara transparan.Lihat README untuk info lebih lanjut.
sumber
Saya pikir Wireshark mampu melakukan apa yang Anda inginkan
Di sisi positifnya, ini sangat kuat, Anda dapat menginstalnya melalui apt-get, dan dilengkapi dengan GUI.
Namun, sistem filternya rumit - tetapi ada tutorial yang bagus di dalamnya, dan itu akan memberi Anda gambaran langsung atau mulai / berhenti lalu lintas.
Mengetikkan kata 'http' ke dalam filter mungkin akan memberi Anda apa yang Anda cari (yaitu lalu lintas utama yang dihasilkan oleh pengguna).
sumber
Pilihan lain yang bagus adalah nethogs
Pada fedora tersedia di antara paket inti, dan pada centos Anda bisa mendapatkannya melalui repo epel.
sumber
Ada juga program command line
urlsnarf
yang merupakan bagian dari paket dsniff (yang juga dikemas dengan misalnya Fedora 19).Contoh:
(saat browsing pertama ke SE dan kemudian ke spiegel.de)
Keterbatasan: dsnarf tidak mendukung IPv6 . Saya dapat mereproduksi laporan bug ini dengan 0,17 pada Fedora 19. Tampaknya juga rusak di bawah atm terpercaya Ubuntu (berfungsi dengan baik di bawah jelas).
sumber