HTTP ve HTTPS tarayıcı trafiğini günlüğe kaydederek ikincisinin şifresini çözme


14

Bilgisayarımdaki dosyalara tüm HTTP ve HTTPS tarayıcı iletişimini (istek, yanıt, tam üstbilgiler ve gövde dahil) kaydedebilmemin bir yolu var mı?

HTTPS iletişimlerinin şifresi çözülmüş olarak kaydedilmelidir.

İdeal olarak, Firefox veya Google Chrome için bir uzantı gibi bir şey arıyordum.

Linux üzerinde çalışması gerekir.

Yanıtlar:


4

HAR , HTTP Arşivi'dir ve tam olarak kaydetmek istediğiniz şeydir (şifrelenmemiş HTTPS'yi içerir).

Neyse ki bu şimdi tüm büyük tarayıcının temel bir özelliğidir (soruyu sorduğunuzda değildi). Artık üçüncü taraf uzantılarına gerek yok.

Firefox'ta (v41 +):

  • Firefox Developer Tools'u Ağ modunda başlatın (Sağ üst menü> Geliştirici> Ağ veya ctrl-shift-Q)
  • Hedef senaryoyu yeniden oluşturma
  • Izgarayı sağ tıklayıp "Tümünü HAR olarak kaydet" i seçerek yakalamayı kaydedin.
  • Yakalamayı HAR dosyasına aktarma

Diğer tarayıcı:

Tüm tarayıcının son sürümünde HAR'i kolayca kaydedebilirsiniz:

https://toolbox.googleapps.com/apps/har_analyzer/


6

HTTPFox , işi yapacak bir Firefox eklentisidir.

=== DÜZENLEME ===

İstek panelini sağ tıklayın ve "Tüm satırları kopyala" yı tıklayın. Ardından istediğiniz düzenleyiciye kaydedebilirsiniz - örneğin Openoffice e-tablosu. Lütfen verdiğim resme bakın.

Cevap


Ben öyle düşünmüyorum. HttpFox 0.8.9'u yeni yükledim ve kaydedilen tüm trafiği dosyalara kaydetmenin herhangi bir yolunu göremiyorum. Binlerce HTTP (S) isteğim olduğunu ve bunların tümünü kaydetmek için binlerce kez tıklamak istemediğimizi lütfen unutmayın. Lütfen HttpFox'u kullanarak tüm verileri nasıl kaydedeceğinizi açıklayın.
pts

Ben öyle düşünüyorum, şef. Cevabımın düzenlemesine bakın.
slotishtype

1
@slotistype: Açıklama görüntüsü için teşekkür ederim. Daha önce tüm satırları kopyala hakkında bilmiyordum , bu yüzden önerdiğin gibi denedim. Sağladığınız resmi kullanarak bulmak çok kolaydı. Ne yazık ki HTTP isteğini ve yanıt gövdesini kopyalamıyor, bu yüzden soruma bir çözüm değil.
Puan

@ pts benim kötü. Sadece fark ettim. Firefox dışında bir şey eklemediğiniz sürece başka bir araç bilmiyorum. İyi şanslar
slotishtype

FYI HttpFox, yanıt gövdesini görüntüleyebileceğim bir İçerik sekmesine sahiptir - söylediği bazı istekler dışında Error loading content (NS_ERROR_DOCUMENT_NOT_CACHED). Ama ben HttpFox bu soruna bir çözüm olamaz, tüm isteklerin yanıt gövdesine ihtiyacım var.
pts

3

Fiddler kesinlikle bir uzantı değil, ayrı bir uygulama olsa bile dikkate almanız gereken bir şeydir.


1
Üzgünüm, Fiddler benim için çalışmıyor. çünkü Microsoft Windows gerektirir. Ubuntu var. Önceden sorduğum gibi, bir tarayıcı uzantısı muhtemelen birden çok işletim sisteminde çalışır.
pts

3

Bu cevabı yapmak istediğimi buldum ve buradaki cevapların hiçbiri bana uygun değildi, çünkü OP gibi HTTPS yanıt organlarını dökmem gerekiyordu. Yani, benim gibi buraya inenler için, bulduğum şey bu.

Sonunda bir Firefox uzantısı olmayan mitmproxy'ye indim , ancak tüm Firefox trafiğini kaydetme hedefini gerçekleştirdim. Hepsi Python, bu yüzden kurdum pip install mitmproxy- isterseniz bir paket yöneticisi kullanın.

mitmproxyİlk kurulum / hata ayıklama için başlatıldı ve sonra mitmdumpçalışıp rafine ettikten sonra akışı dökmek için kullanılır .

Firefox'u 127.0.0.1:8080proxy sunucusu olarak kullanacak şekilde ayarladım (8080 mitmproxy'nin varsayılan bağlantı noktası) ve tüm Firefox trafiğimin mitmproxy'den geldiğini gördüm. HTTPS trafiğini etkinleştirmek için, mitmproxy'nin oluşturduğu sertifikayı kabul etmeniz gerekir - proxy ayarlandığında, Firefox'ta http://mitm.it "sihirli adresine" gidin, "Diğer" düğmesini tıklayın, kutuları işaretleyin Sertifikaya güvenmek için Tamam'ı tıklayın.

Şifrelenmemiş yanıt gövdesini boşaltmak için çok basit bir satır içi komut dosyası kullanmak zorunda kaldım :

from libmproxy.model import decoded

def response(context, flow):
    with decoded(flow.response):  # automatically decode gzipped responses.
        with open("body.txt","ab") as f:
            f.write(flow.response.content)

Buraya yazın - olarak indirin save_response.pyve ile kullanın mitmdump -s save_response.py. Müdahale organları birikmeye başlayacak body.txt.

mitmproxy ayrıca yararlı bir numarası vardır filtreler sen belirtebildiklerinden mitmdump için sadece neye ihtiyacınız kapmak için.


2

httpFox, httpScoop (yalnızca Mac) ve httpWatch (IE, Firefox, yalnızca pencereler) bunu yapmak için kullandığım araçlardır. Ek olarak Fiddler'i de (daha önce önerildiği gibi) deneyebilirsiniz ve ayrıca bir Mac kullanıyorsanız Charles Proxy'yi deneyebilirsiniz. Benim kişisel favorim httpWatch (başlıklara, içeriğe, URL'ye vb. Kolayca filtre uygulayabilirsiniz), ancak bu pahalıdır, bu yüzden bir seçenek olmayabilir.

HAR projesine de bakmak isteyebilirsiniz (HAR HTTP Arşivi anlamına gelir) ve http işlemlerini, başlıkları, içeriği vb. Kaydetmek için standartlara dayalı bir yaklaşımdır. HAR Görüntüleyici (Firebug'daki şelale özelliğine bakarsanız aşina olacaksınız). Aslında, NetExport'u kullanarak bu dosyaları / günlükleri oluşturmak için Firebug'u kullanabilirsiniz.

FWIW httpScoop bir kablosuz ağda HTTP trafiğini hata ayıklamak / izlemek için iyi bir yöntemdir, bunu bir süre önce yapmakla ilgili bir makale yazdım: http://blog.adtools.co.uk/trace-debug-mobile-application-http- istekleri kullanan-MacOS /


Bahsettiğiniz araçlardan hangisi, günlüğe kaydedilen tüm iletişimin bir dökümünü diske kaydedebilir? httpFox yapamaz. httpScoop yalnızca Mac'tir ve bir Linux çözümü istiyordum. httpWatch yalnızca Windows ve ben bir Linux çözümü istiyordum. Fiddler sadece Windows ve ben bir Linux çözümü istiyordum. Charles Proxy sadece Mac ve ben bir Linux çözümü istiyordum. Potansiyel olarak çalışabilecek Firebug + NetExport'tan bahsettiğiniz için teşekkür ederiz.
pts

Firebug + NetExport, Linux'ta benim için bir cazibe gibi çalışıyor. SSL trafiğini şifrelenmemiş olarak dışa aktarırlar (tıpkı istediğim gibi). Cevabınızı kabul etmekten memnuniyet duyarız, ancak lütfen önce diğer tüm önerileri kaldırın (veya ayrı bir cevaba taşıyın).
pts

1

Wireshark , http protokolü katmanı da dahil olmak üzere ağ paketlerini yakalamak ve bunları bilgisayarınıza kaydetmek için kullanılabilir. Ayrıca https bilgilerini de alabilir, ancak herhangi bir şeyin şifresini çözmek için yapılandırabileceğinizden şüpheliyim.


1
Wireshark'ı önerdiğiniz için teşekkür ederim, ancak sorumun cevabı olarak işe yaramaz çünkü HTTPS akışının şifresini çözmez.
pts

2
Wireshark , özel sunucu sertifikanız varsa son sürümlerden birinden beri SSL trafiğinin şifresini çözebilir .
cweiske

1
Özel sunucu sertifikam yok.
Puan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.