Bagaimana cara menyimpan "potongan" dari respons http?

0

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: chunkedmelayani potongan 1-N, dan Content-Length:XXXmengirim satu tanggapan. Dan menyimpannya ke file tidak perlu, kurasa. Jika itu jelas dicatat dalam satu file apa masing-masing potongan, itu bagus!

Taman Brad
sumber
Jika Transfer-Encoding tidak diatur ke "chunked", maka tidak ada potongan ...
grawity
Ya itulah yang saya harapkan - saya hanya ingin "melihatnya" secara harfiah. yaitu dapat menjalankan skrip terhadap titik akhir yang memiliki Transfer-Encoding: chunkeddan mendapatkan beberapa potongan, dan terhadap titik akhir yang memiliki Content-Length:XXXdan mendapatkan satu potongan.
Taman Brad
Anda mungkin ingin melakukan beberapa pengkodean untuk ini. Bahasa apa yang Anda kenal?
jdwolf
Sepertinya saya harus ada beberapa alat di luar sana yang sudah melakukan ini, lebih disukai alat baris perintah. Saya kira saya dapat mengkodekannya jika perlu, tapi saya pikir curl akan dapat melakukannya, meskipun saya mencoba beberapa switch, --rawdan -Nitu terdengar relevan, tetapi mereka tidak berhasil.
Brad Parks
Mungkin bermanfaat: unix.stackexchange.com/questions/29402/…
rahuldottech

Jawaban:

3

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.AAAport 80yang melewati en0. Anda dapat menghilangkan -i en0antarmuka 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 curldi 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 .

0xACE
sumber
-1

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:

Protokol jaringan sering perlu untuk mengangkut potongan besar data yang lengkap dalam dirinya sendiri, misalnya saat mentransfer file. Protokol yang mendasarinya mungkin tidak dapat menangani ukuran chunk tersebut (misalnya batasan ukuran paket jaringan), atau berbasis aliran seperti TCP, yang sama sekali tidak mengetahui potongan data.

Dalam hal itu protokol jaringan harus menangani batas chunk itu sendiri dan (jika perlu) menyebar data melalui beberapa paket. Itu jelas juga membutuhkan mekanisme untuk menentukan batas chunk di sisi penerima.

Wireshark menyebut mekanisme ini reassembly, meskipun spesifikasi protokol tertentu mungkin menggunakan istilah yang berbeda untuk ini (misalnya desegmentasi, defragmentasi, dll).

Reassembly mungkin terjadi di beberapa lapisan protokol, jadi ada kemungkinan beberapa tab di panel "Packet Bytes" muncul.

Setelah Anda melihat bongkahannya, Anda juga dapat mengekspornya.

Berikut adalah contoh panel "Paket Bytes" dengan tab yang disusun kembali:

gambar

harrymc
sumber
Mengapa ada orang yang downvote utilitas canggih seperti Wireshark. lebih suka melakukan byte-dump mentah oleh tcpdump yang membutuhkan mengetahui poin-poin yang sangat baik dari protokol untuk mengekstrak potongan? Sosok pergi.
harrymc