Tìm kiếm proxy gỡ lỗi HTTP cho Mac tương tự như Fiddler trên Windows [đã đóng]


240

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 HTTP và gỡ lỗi.

Tôi đặc biệt mong muốn theo dõi các giao dịch HTTP cho một trang web ajax 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 công cụ tốt, nhưng không cần thiết.

Bất cứ ai cũng có thể đề nghị một cái gì đó tương tự để sử dụng trên máy Mac?


4
Điều này đã bị đóng, nhưng vẫn còn tồn tại, vì vậy cần phải thêm: Fiddler hiện đang ở trạng thái alpha cho hệ điều hành mac.
boomhauer

1
tôi không biết tại sao điều này sẽ bị đóng cửa? Nó có 113 upvote. Nó không giống như đây là một câu hỏi về stack overflow.
genxgeek

Đọc lý do trực tiếp trên các ý kiến ​​này - "Câu hỏi tìm kiếm sản phẩm, dịch vụ hoặc đề xuất tài liệu học tập không có chủ đề"
Doug Harris

Fireup Fiddler trên máy Windows gần đó và định cấu hình MAC của bạn thành proxy trên máy Windows và voila! mọi thứ trên MAC của bạn sẽ được nhìn thấy trên Windows :)
Korayem

2
FYI, đối với những người thực sự hào hứng khi đọc bình luận của @boomhauer: Fiddler cho OSX vẫn ở Alpha, đã được chạm vào lần cuối vào tháng 7 năm 2013, nó yêu cầu khung Mono (về cơ bản nó chỉ là một trình bao bọc cho phiên bản Windows, chứ không thực sự là tái xác nhận cho ca cao) và bản phát hành có ghi chú: "Mac Note: Khung WinForms trên Mac gần như không có lỗi. Cách tốt nhất của bạn là chạy Fiddler bên trong Linux hoặc Windows Virtual Machine và chỉ ra các cài đặt proxy của Mac . "
Anthony

Câu trả lời:


130

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.


1
Đẹp. Bất cứ ý tưởng khi điều đó đã được thêm vào chrome?
Doug Harris

2
Không, xin lỗi. Tôi đã từng làm việc với Fiddler trên Windows, nhưng khi chuyển sang máy Mac, tôi tình cờ phát hiện ra các mạng nội bộ trong khi tìm kiếm các tính năng chrome ẩn.
brains_at_work

5
công cụ này có vẻ "gọn gàng" nhưng làm thế nào bạn có thể thấy toàn bộ tải trọng yêu cầu (tức là NHẬN tiêu đề yêu cầu?)
genxgeek

AFAIK, điều này không cung cấp cách sửa đổi dữ liệu trong quá trình, chẳng hạn như Fiddler thực hiện với FiddlerScript, AutoResponder và các điểm dừng. Công cụ tốt nhưng cho các mục đích khác nhau.
iX3

33
công cụ này dường như chỉ thu được lưu lượng 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 quá trình cụ thể không?
morpheus

71

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á.


Chỉ tò mò: có ai ở đây đã từng sử dụng nó?
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 mè nheo và giới hạn 30 phút, nhưng tôi không nghĩ chúng 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ể thấy những tiêu đề này một cách dễ dàng.
Doug Harris

1
Điều thú vị ở Charles là nó có sẵn cho cả OSX và Windows, vì vậy nếu bạn thường xuyên qua lại thì đó là một công cụ phổ biến tuyệt vời.
Justin Ohms

5
Một chức năng quan trọng mà charles (và fiddler và có thể là 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

1
Tôi sử dụng Charles để giải mã các yêu cầu https, Instagram và các ứng dụng di động khác. Chỉ cần trỏ Proxy iPhone cho Charles và tôi có thể thấy cách họ gửi dữ liệu và dữ liệu họ gửi!
Mário Carvalho

35

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


BẤT NGỜ NÀY! Ngẫu nhiên, đối với tất cả các kiddies script, trong trường hợp bạn viết mã bằng một thứ gì đó không phải là JS đang ngồi trong trình duyệt, thì đây là vé.
Shane

30

Ứ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 rằng cũng như sử dụng tcpdump từ dòng lệnh trong bài đăng này tôi đã viết blog vào năm ngoái .


Nếu bạn tình cờ biết Wireshark (hoặc Trình phân tích gói Cacao ít mạnh hơn): bạn có thể so sánh HTTPScoop với điều đó không?
Arjan

1
Phân tích gói ca cao 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 máy chủ hoặc cổng cụ thể và sau đó xem cả yêu cầu và trả lời ... Điều đó dễ dàng thực hiện trong Wireshark. (Chỉ cần nhập smtpdưới dạng bộ lọc hiển thị để xem tất cả lưu lượng sử dụng giao thức SMTP. Hoặc tcp.port == 25để đưa tất cả lưu lượng truy cập đến cổng 25 phản hồi của nó. Hoặc http and ip.addr == xxxđể nhận tất cả lưu lượng HTTP đến và từ một số máy chủ.)
Arjan

1
httpscoop có vẻ đầy hứa hẹn, thật không may, nó dường như bị bỏ rơi và tôi không thể nắm bắt lưu lượng localhost vào ngày 10.9.2. Bản phát hành cuối cùng bắt đầu từ năm 2009 và trang web chào mời phiên bản v2.0 sắp ra mắt dường như sắp ra mắt: /
Jean

1
Tôi đã thử sử dụng ứng dụng này, nó thật kinh khủng so với fiddler. Tôi muốn nắm bắt tất cả lưu lượng truy cập và tất cả các cổng tất cả các giao diện không phải cổng 80 trên localhost. Tôi đã cố gắng thêm các cổng mà tôi muốn thông qua tùy chọn thông qua (với muỗng). Điều này không giúp tôi vì những điều tôi muốn theo dõi là trên hai giao diện khác nhau, ví dụ lo / en0
KnuturO

1
Liên kết đến blog không hoạt động :(
Reg

19

Không phải những gì bạn đã hỏi, nhưng trong Firefox, tiện ích bổ sung Live HTTP Headers 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.

Tiêu đề HTTP trực tiếp

Trong Fireorms, 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ự, trong Safari, ngăn Tài nguyên của Trình kiểm tra Web tích hợp cũng đáp ứng hầu hết các nhu cầu của tôi. (Kích hoạt Trình kiểm tra web thông qua các tùy chọn: Hiển thị menu Phát triển 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 kích hoạt gói snirfer của Wireshark . Tuy nhiên, không giống như Fiddler, Wireshark không cho phép bạn thay đổi dữ liệu và không hỗ trợ những thứ như phản hồi tự động, như Fiddler rõ ràng làm.

Đối với Wireshark, hãy xem Giao thức truyền văn bản Hyper (HTTP) để biết một số thông tin bắt HTTP chung và Chụp gói HTTP để gỡ lỗi Apache , đối với một số bộ lọc hiển thị ví dụ . (Bạn có thể muốn đặt bộ lọc chụp thành " port 80", để hiển thị tất cả các yêu cầu tới 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 bộ lọc chụp " port 80 and host www.google.com".) Giống như:

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

# Chỉ hiển thị các phương thức HTTP nhất định
http.request.method == "BÀI ĐĂNG" || 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 giảm phát các thứ được mã hóa (đã nén) khi bạn đang di chuyển. Điều đó làm cho mọi thứ dễ đọc hơn nhiều vì hầu hết các máy chủ web sẽ nén dữ liệu họ gửi đến trình duyệt.

(Đối với người trả lời tự động: Bin Bin xuất sắc 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 về Bin Bin, thì trước tiên hãy xem video giới thiệu.)


+1 cho Fireorms - Tôi yêu 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 (trong cùng một tên miền) và không thể tìm thấy cách nào (từ một GET đến POST chẳng hạn).
Purefan

@Purefan, không có thêm chi tiết, chúng tôi không thể giúp đỡ; nó hoạt động với tôi, xem ảnh chụp màn hình tôi vừa thêm. Bạn có thể đã chạy vào mozdev.org/bugs/show_orms.cgi?id=25831
Arjan

7

Ngoài Charles (đã được đề cập), tôi cũng thích tiện ích bổ sung HttpFox cho Mozilla Firefox. Giống như Charles, bạn có thể sử dụng nó trên cả Mac và Windows. Nó nhẹ hơn Charles vì ​​nó sống trong trình duyệt, hữu ích cho việc khắc phục 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 HTTP đến và đi giữa trình duyệt và máy chủ web.

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

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

  • Yêu cầu và trả lời tiêu đề
  • Đã gửi và nhận cookie
  • Tham số chuỗi truy vấn
  • Tham số POST
  • Cơ quan đáp ứng

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

Ảnh chụp màn hình của tiện ích httpFox cho Mozilla Firefox


Đây không phải là tương thích với các phiên bản mới hơn của Firefox (Firedox 57 và Firedex Deveolper bản 57)
Promather

6

Không phải là proxy, nhưng nó giúp ích trong việc gỡ lỗi HTTP:

Chỉ cần bắt đầu quét trên giao diện bạn sẽ có lưu lượng HTTP, thực hiện lưu lượng và sau đó dừ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 chế độ xem Chi tiết gói mở, bạn có thể mở phần HTTP và nó sẽ 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 vì được mã hóa. (Mặc dù nó có thể giải mã các kết nối SSL sử dụng RSA )


2
Chỉ là một bản cập nhật: Wireshark bị đau trên OS X. Nó yêu cầu X11, không còn được bao gồm trong OS X, vì vậy cuối cùng bạn sẽ sử dụng khoảng 200 MB đĩa.
Marko Bonaci

2
Chỉ là một bản cập nhật trên bản cập nhật @MarkoBonaci, Wireshark 2.x hiện đang chạy rất tốt trên OSX đã đáp ứng nhu cầu về X11.
0x7c0

@MarkoBonaci - bạn chỉ nên cài đặt với qt.
arcseldon

5

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



2

Có vẻ như GlimmerBlocker miễn phí có thể thực hiện một phần của mánh khóe.

Tất nhiên, nó có thể chặn tất cả các loại nội dung và chuyển đổi các phản hồi trước khi trình duyệt nhận được chúng. Nhưng nó có thể trên thực tế thay đổi cả hai yêu cầu và phản ứng . Và mặc dù không gỡ lỗi thực sự, nó cũng cung cấp đăng nhập. Vì vậy, nó có thể phù hợp với nhu cầu cơ bản :

Có 4 loại tập lệnh chạy bên trong GlimmerBlocker và một số đối tượng chỉ được xác định cho một số loại tập lệnh:

  • proxy toàn cầu: điều này đặt cài đặt proxy toàn cầu và có thể kiểm tra ví dụ như tên vị trí, mạng AirPort.
  • yêu cầu sửa đổi: điều này có thể thay đổi URL được yêu cầu, gửi lại phản hồi chuyển hướng đến trình duyệt hoặc gửi văn bản / html trở lại trình duyệt.
  • mở rộng từ khóa. [Chỉ dành cho Safari, AvB]
  • biến đổi: sửa đổi phản hồi mà máy chủ web nhận được trước khi gửi lại cho Safari [hoặc bất kỳ trình duyệt nào được thiết lập để sử dụng proxy được cung cấp bởi GlimmerBlocker, AvB].

(Người ta cũng có thể sử dụng nó để bao gồm các tập lệnh Greasemonkey khác nhau trong phản hồi nhận được, mà không cần sử dụng tiện ích bổ sung Greasemonkey, như chặn Flash mà không cần cài đặt bất kỳ tiện ích bổ sung nào.)


GlimmerBlocker là một công cụ thú vị, nhưng khác với những gì tôi đang tìm kiếm. Tôi đã chỉnh sửa lại mô tả ban đầu để xóa các ví dụ viết lại và làm rõ rằng tôi chỉ muốn theo dõi lưu lượng truy cập và không chuyển đổi nó.
Doug Harris

2

Bạn có thể dễ dàng định cấu hình Fiddler cho Mac bằng Parallels theo hướng dẫn trên trang web của họ.

Nhắc nhở duy nhất là bạn phải cấu hình thủ công các cài đặt Mạng của mình để trỏ đến địa chỉ IP của VM nhưng không thực sự là vấn đề lớn.


7
Tôi sẽ không gọi đó là "dễ dàng" - nó yêu cầu mua và cài đặt máy chủ vm và một hệ điều hành hoàn toàn khác.
James Moore

Tôi có 5 mục trong tooltip này và chỉ một trong số đó là định dạng IPv4. Tôi nên chọn cái nào? :)
Alex Sorokoletov

1
Bạn có thể sử dụng phần mềm ảo hóa miễn phí như VirtualBox của Oracle cùng với VM từ Modern.ie nếu bạn muốn chạy HĐH Windows (sau 90 ngày cần phải đặt lại) - không quá cao đối với người có kỹ năng cần thiết để chạy proxy gỡ lỗi web nâng cao
iX3

Nếu câu hỏi này được mở - ai đó nên đề cập đến Fiddler cho Mac - telerik.com/doad/fiddler bằng khung Mono ...
Mars Robertson

Và nó không hoạt động với tôi trong macOS
tom10271

1

jMeter cũng có thể hữu ích; nó được thiết kế để kiểm tra hiệu suất tải trên các máy chủ web, nhưng nó vẫn có thể làm những gì bạn cần. jMeter được viết bằng Java, vì vậy bạn có thể tải xuống tệp .jar sẽ chạy trên Mac, Windows hoặc Linux.


1

Phân tích gói ca cao là rất hữu ích.


4
Nó hữu ích như thế nào? Một phiên bản ghi chú trên vách đá sẽ rất hữu ích
Journeyman Geek

máy phân tích gói ca cao đã có thể chụp thành công HTTP, nhưng nó không thực hiện tái cấu trúc yêu cầu / phản hồi :(
Jean

1

Nếu bạn đang xử lý lưu lượng truy cập ứng dụng hoặc tích hợp API của bên thứ ba qua internet công cộng, bạn nên thử Runscope (trong đó, tiết lộ đầy đủ, tôi là người đồng sáng lập). Nó nắm bắt các yêu cầu HTTP đến bất kỳ URL nào, cung cấp cho bạn chế độ xem luồng tốt để gỡ lỗi và giúp dễ dàng chia sẻ các yêu cầu riêng lẻ với người khác.


0

Bạn cũng có thể thử APIK Kitchen . Nó giúp bạn gỡ lỗi và kiểm tra API HTTP và mọi yêu cầu nói chung. Nó cũng có phiên bản ngoại tuyến để thử nghiệm trong các mạng nội bộ của bạn. Không cần cài đặt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.