Câu hỏi Tìm proxy gỡ lỗi HTTP cho Mac tương tự Fiddler trên Windows [đã đóng]


Trong các công việc trước đây khi tôi làm việc trên máy Windows, tôi đã sử dụng Fiddler để xem các giao dịch và gỡ lỗi HTTP.

Tôi đặc biệt tìm cách giám sát các giao dịch HTTP cho một trang web ajax mà tôi đang làm việc để xác minh rằng trang web đang làm những gì tôi mong đợi. Viết lại HTTP (như được cung cấp bởi Fiddler) là một điều tốt đẹp, nhưng không cần thiết.

Ai có thể giới thiệu một cái gì đó tương tự để sử dụng trên máy Mac?


229


gốc


Điều này đã bị đóng, nhưng vẫn tồn tại, vì vậy cần phải có thêm: Fiddler bây giờ là alpha cho os mac. - boomhauer
tôi không biết tại sao điều này sẽ bị đóng? nó có 113 upvotes. nó không phải như thế này là một yêu cầu trên tràn ngăn xếp. - JaJ
Đọc lý do trực tiếp phía trên các nhận xét này - "Các câu hỏi tìm kiếm các đề xuất về sản phẩm, dịch vụ hoặc tài liệu học tập là ngoài chủ đề" - Doug Harris
Fireup Fiddler trên máy Windows gần đó và cấu hình MAC của bạn thành proxy trên máy Windows và thì đấy! mọi thứ trên MAC của bạn sẽ được nhìn thấy trên Windows :) - Korayem
FYI, đối với những người đã thực sự vui mừng đọc bình luận của @boomhauer: Fiddler cho OSX là vẫn trong Alpha, lần cuối được xúc động vào tháng 7 năm 2013, nó đòi hỏi khung Mono (vì vậy về cơ bản nó chỉ là một trình bao bọc cho phiên bản Windows, không thực sự tái xuất hiện cho Cocoa), và bản phát hành có ghi chú: "Mac Note: The WinForms framework trên Mac hầu như không có gì đáng ngạc nhiên. Đặt cược tốt nhất của bạn là chạy Fiddler bên trong Linux hoặc Windows Virtual Machine và chỉ định cài đặt proxy của Mac tại đó. " - Anthony


Các câu trả lời:


Sử dụng Chrome và điều hướng đến chrome: // net-internals /

Nó cho phép phân tích chi tiết và bãi chứa.


127



Tốt đẹp. Bất kỳ ý tưởng nào khi được thêm vào chrome? - Doug Harris
Không, xin lỗi. Tôi đã từng làm việc với Fiddler trên Windows, nhưng chuyển sang một máy Mac, tôi đã tình cờ tìm kiếm các net-internals trong khi tìm kiếm các tính năng chrome ẩn. - brains_at_work
Điều này thật tuyệt! Cảm ơn!!! - w00t
công cụ này có vẻ "gọn gàng" nhưng làm cách nào bạn có thể thấy toàn bộ tải trọng yêu cầu (tức là GET tiêu đề yêu cầu?) - JaJ
công cụ này dường như chỉ ghi lại lưu lượng truy cập chrome. Có cách nào để sử dụng công cụ này để nắm bắt lưu lượng truy cập http từ / đến một quy trình cụ thể không? - morpheus


tôi đã tìm thấy Charles Proxy. Nó gần gũi hơn với chức năng của Fiddler. Nó không miễn phí, nhưng nó có thể đáng giá.


68



Chỉ tò mò: có ai ở đây từng sử dụng nó không? - Arjan
Tôi đã sử dụng nó trong một hoặc hai giờ sau khi tôi tìm thấy nó. Phiên bản dùng thử có một số màn hình nag và giới hạn 30 phút, nhưng tôi không nghĩ rằng đó là không hợp lý. Tôi đã tìm kiếm các tiêu đề cụ thể trong phản hồi HTTP và tôi đã có thể dễ dàng thấy các tiêu đề này. - Doug Harris
Điều tốt đẹp về Charles là nó có sẵn cho cả OSX và Windows vì vậy nếu bạn đi lại thường xuyên thì đó là một công cụ phổ biến. - Justin Ohms
Một chức năng quan trọng mà charles (và fiddler và có thể webscarab) cung cấp là khả năng chặn và sửa đổi các yêu cầu, bao gồm giải mã https. - urban_raccoons
Tôi sử dụng Charles để giải mã Instagram, Facebook và các yêu cầu https ứng dụng di động khác. Chỉ cần điểm iPhone Proxy để Charles và tôi có thể xem cách họ gửi dữ liệu và dữ liệu nào họ gửi! - Mário Carvalho


Ứng dụng mac yêu thích của tôi để theo dõi lưu lượng truy cập là HTTPScoop, Tôi chi tiết điều đó cũng như sử dụng tcpdump từ dòng lệnh trong bài đăng này tôi đã viết blog năm ngoái.


30



Nếu bạn tình cờ biết Wireshark (hoặc Trình phân tích gói Cocoa ít mạnh mẽ hơn): bạn có thể so sánh HTTPScoop với điều đó không? - Arjan
Nó khá đơn giản hơn một chút, nhưng dễ sử dụng hơn nhiều so với IMO wireshark. Rất dễ dàng để kích hoạt và giám sát lưu lượng truy cập http với, nhưng ít chuyên nghiệp hơn khi theo dõi các loại lưu lượng truy cập khác. Tôi không quen với máy phân tích gói cacao. - Ted Naleid
Phân tích gói Cocoa cũng khá đơn giản. Tuy nhiên, tôi chưa bao giờ tìm ra cách lọc một số địa chỉ IP của cổng hoặc máy chủ cụ thể và sau đó xem cả hai yêu cầu và trả lời ... Điều đó dễ thực hiện trong Wireshark. (Chỉ loại smtp làm bộ lọc hiển thị để xem tất cả lưu lượng truy cập sử dụng giao thức SMTP. Hoặc là tcp.port == 25 để có được tất cả lưu lượng truy cập đến cổng 25, và phản ứng của nó. Hoặc là http and ip.addr == xxx để nhận tất cả lưu lượng truy cập HTTP đến và từ một số máy chủ.) - Arjan
httpscoop trông đầy hứa hẹn, rất tiếc là nó dường như bị bỏ rơi và tôi không thể chụp lưu lượng truy cập localhost trên 10.9.2. Bản phát hành cuối cùng bắt đầu từ năm 2009 và trang web sẽ phát hành phiên bản v2.0 sắp tới mà dường như không sắp tới: / - Jean
không làm việc cho tôi - János


Tôi đã sử dụng mitmproxy để chặn lưu lượng truy cập HTTP. Đó là một công cụ tuyệt vời và bạn có thể sử dụng nó để gỡ lỗi thiết bị di động cũng như bất kỳ hệ điều hành nào cho vấn đề đó.


26



LOOVE NÀY! Ngẫu nhiên, đối với tất cả các kịch bản kiddies, trong trường hợp bạn viết mã trong một cái gì đó khác hơn là JS ngồi trong trình duyệt, điều này là THE vé. - Shane


Không phải những gì bạn đã hỏi, nhưng trong Firefox Tiêu đề HTTP trực tiếp add-on là tất cả những gì tôi cần nếu tôi muốn chỉnh sửa và phát lại các yêu cầu, bao gồm thay đổi URL và phương thức HTTP.

Live HTTP Headers

Trong Firebug, Giám sát mạng hiển thị tất cả các yêu cầu và phản hồi. Tương tự như vậy, trong Safari Ngăn tài nguyên của Trình kiểm tra Web tích hợp bao gồm hầu hết các nhu cầu của tôi. (Bật Trình kiểm tra web thông qua các tùy chọn: Hiển thị menu Develop trong thanh menu.) Chrome và Firefox có các công cụ tương tự.

Khi mọi thứ trở nên phức tạp hơn, tôi sẽ đốt cháy Wireshark Lính bắn tỉa. Tuy nhiên, không giống như Fiddler, Wireshark không cho phép bạn thay đổi các dữ liệu, và không hỗ trợ những thứ như phản ứng tự động, như Fiddler dường như không.

Đối với Wireshark, xem Giao thức truyền siêu văn bản (HTTP) cho một số thông tin thu thập HTTP chung và Gói HTTP Chụp để gỡ lỗi Apache, ví dụ trưng bày bộ lọc. (Bạn có thể muốn đặt chụp lọc đến "port 80", để hiển thị tất cả yêu cầu đến cổng đó và phản hồi từ cổng đó. Hoặc, để giới hạn một số máy chủ, hãy sử dụng chụp bộ lọc "port 80 and host www.google.com".) Như:

# Chỉ hiển thị 404: không tìm thấy trang
http.response.code == 404

# Chỉ hiển thị một số phương thức HTTP nhất định
http.request.method == "POST" || http.request.method == "PUT"

# Chỉ hiển thị javascript
http.content_type chứa "javascript"

Lưu ý rằng Wireshark có thể giải nén gzip hoặc làm lệch hướng những thứ được mã hóa (nén) khi đang di chuyển cho bạn. Điều đó giúp mọi thứ trở nên dễ đọc hơn vì hầu hết các máy chủ web sẽ nén dữ liệu mà chúng gửi tới trình duyệt.

(Đối với người trả lời tự động: tuyệt vời JS Bin có một đoạn video ngắn về cách sử dụng nó để gỡ lỗi các yêu cầu Ajax. Nếu bạn không biết JS Bin, thì trước tiên hãy xem video giới thiệu.)


19



1 cho Firebug - Tôi thích công cụ giám sát mạng của họ - Josh
Tôi đã thử nó nhưng tôi không thể thực hiện một yêu cầu mới đến một url khác nhau (trong cùng một tên miền) và không thể tìm thấy cách (từ một GET đến một POST ví dụ). - Purefan
@Purefan, không có nhiều chi tiết hơn, chúng tôi không thể trợ giúp; nó hoạt động cho tôi, xem ảnh chụp màn hình tôi vừa thêm vào. Bạn có thể gặp phải mozdev.org/bugs/show_bug.cgi?id=25831 - Arjan


Ngoài Charles (đã đề cập), tôi cũng thích HttpFox add-on cho Mozilla Firefox. Giống như Charles, bạn có thể sử dụng nó trên cả Mac và Windows. Đó là trọng lượng nhẹ hơn so với Charles bởi vì nó sống trong trình duyệt, hữu ích cho xử lý sự cố nhanh chóng. Dưới đây là một số thông tin từ trang HttpFox:

HttpFox giám sát và phân tích tất cả lưu lượng truy cập HTTP đến và đi   giữa trình duyệt và máy chủ web.

Nó nhằm mục đích mang lại cho các chức năng được biết đến từ các công cụ như HttpWatch hoặc   IEInspector cho trình duyệt Firefox.

Thông tin có sẵn theo yêu cầu bao gồm:

  • Tiêu đề yêu cầu và phản hồi
  • Cookie đã gửi và đã nhận
  • Tham số chuỗi truy vấn
  • Tham số POST
  • Cơ thể phản hồi

Và, ảnh chụp màn hình:

Screenshot of HttpFox add-on for Mozilla Firefox


7



Điều này không tương thích với các phiên bản Firefox mới hơn (Firedox 57 và Firedex Deveolper Edition 57) - Promather


Không phải là proxy nhưng nó giúp gỡ lỗi HTTP:

Đơn giản chỉ cần bắt đầu quét trên giao diện bạn sẽ có lưu lượng HTTP trên, thực hiện lưu lượng và sau đó ngừng quét và nhập "HTTP" làm chuỗi bộ lọc. Sau đó, bạn sẽ có thể kiểm tra tất cả các gói của cuộc hội thoại HTTP. Với khung nhìn Packet Detail mở, bạn có thể mở phần HTTP và nó sẽ vẫn mở giữa các gói.

Đó là một công cụ tuyệt vời để có và nó không yêu cầu bạn thay đổi proxy trình duyệt. Mặt khác, nó không thể giúp lưu lượng HTTPS kể từ khi được mã hóa. (Mặc dù nó có thể giải mã các kết nối SSL sử dụng RSA)


6



Chỉ là một cập nhật: Wireshark là đau trên OS X. Nó đòi hỏi X11, mà không còn bao gồm trong OS X, vì vậy bạn sẽ sử dụng một số 200MB đĩa tất cả cùng nhau. - Marko Bonaci
Chỉ cần cập nhật về cập nhật @MarkoBonaci, Wireshark 2.x hiện đang chạy rất tốt trên OSX đã bỏ qua sự cần thiết cho X11. - stedotmartin
@stemartin cảm ơn thông tin. - Marko Bonaci
@MarkoBonaci - bạn chỉ nên cài đặt với qt thay thế. - arcseldon


Tôi trễ nhưng - tôi sử dụng Proxy Paros. Đó là trong Java, vì vậy, đa nền tảng. Mặc dù nếu bạn muốn cho nó được đóng gói như một ứng dụng, có một đây ở phía dưới.


5