Saya ingin menyimpan "potongan" dari respons http, lebih disukai menggunakan curl atau alat baris perintah gratis lainnya yang berfungsi pada mac atau linux, tetapi saya terbuka untuk semua jenis solusi.
Jadi misalnya, jika respons dikirim dalam 10 potongan, saya ingin menyimpan masing-masing potongan itu ke file terpisah, chunk1.txt
->chunk10.txt
Dan tentu saja jika suatu file sedang dikirim dalam satu chunk, maka file tersebut akan disimpan ke satu file.
Bagaimana saya bisa menyimpan potongan respons http menggunakan curl atau alat lain?
EDIT: Saya ingin "melihat" ini untuk memverifikasi yang Transfer-Encoding: chunked
melayani potongan 1-N, dan Content-Length:XXX
mengirim satu tanggapan. Dan menyimpannya ke file tidak perlu, kurasa. Jika itu jelas dicatat dalam satu file apa masing-masing potongan, itu bagus!
Transfer-Encoding: chunked
dan mendapatkan beberapa potongan, dan terhadap titik akhir yang memilikiContent-Length:XXX
dan mendapatkan satu potongan.--raw
dan-N
itu terdengar relevan, tetapi mereka tidak berhasil.Jawaban:
tcpdump mendasari Wireshark dan utilitas serupa lainnya dan memiliki antarmuka baris perintah yang dapat mencapai apa yang Anda inginkan. Perintah yang mirip dengan:
tcpdump -A -i en0 src XXX.YYY.ZZZ.AAA and port 80
Akan membuang ke konsol semua paket mentah dari
XXX.YYY.ZZZ.AAA
port80
yang melewatien0
. Anda dapat menghilangkan-i en0
antarmuka untuk apa saja dan ekspresi cukup dapat dikonfigurasi.Anda dapat menemukan beberapa contoh bagus tecmint.com dan danielmiessler.com .
Meskipun Anda dapat menyimpan seluruh tangkapan dengan solusi ini, itu tidak menyimpan potongan dalam file yang berbeda seperti yang Anda minta. Anda harus memposting proses dump file untuk mendapatkannya.
[Klarifikasi] Anda akan berjalan
curl
di terminal terpisah pada saat yang sama ketika Anda menangkap paket.[Tambahan] Ada juga diskusi tentang Wireshark dan http chunking yang mungkin berguna. Dan merakit kembali jejak pcap untuk memulihkan pertanyaan tingkat data http memiliki solusi yang diterima untuk mengurai ulang menangkap menggunakan Bro .
sumber
Anda dapat menggunakan utilitas seperti Wireshark , yang biasanya merupakan paket standar di Linux.
Wireshark memungkinkan pemeriksaan mendalam terhadap pesan dan protokol pada semua level protokol TCP / IP dan memasok banyak alat canggih.
Anda dapat dengan Wireshark menampilkan byte-stream pesan atau pergi ke tingkat protokol dan menampilkan tingkat abstraksi yang lebih tinggi.
Bagian yang Anda minati disebut Paket Reassembly , digambarkan sebagai:
Setelah Anda melihat bongkahannya, Anda juga dapat mengekspornya.
Berikut adalah contoh panel "Paket Bytes" dengan tab yang disusun kembali:
sumber