Wireshark vs Firebug vs Fiddler - ưu và nhược điểm? [đóng cửa]


89

Gần đây, tôi đã gặp sự cố trong đó ứng dụng CGI không phản hồi. Hiện tượng Firefox hiển thị:

Chuyển dữ liệu từ localhost ...

Nhưng vấn đề là tôi không thể thấy bất kỳ lưu lượng truy cập nào từ bảng điều khiển Net của Firebug và trình duyệt chỉ ở trên cùng một giai đoạn mãi mãi.

Tôi đang suy nghĩ về các cách để gỡ lỗi ứng dụng này nhưng tôi không thể thấy mã nguồn hoặc bất kỳ thành phần Java / C ++ đã biên dịch nào của nó, do đó, tôi cho rằng mức chẩn đoán mạng HTTP là một khởi đầu tốt.

Tôi có ít kinh nghiệm về Fiddler và Wireshark, chỉ tự hỏi liệu họ có nhận được phản hồi / thống kê tốt hơn ở cấp độ mạng HTTP không? Tôi đã nghe nói Wireshark là tiên tiến nhưng có thể giới thiệu một lượng lớn lưu lượng truy cập nên quản trị viên hệ thống không thích nó lắm. Tại thời điểm này, tôi nghĩ Firebug không thực sự hiển thị đủ thông tin cho tôi.

Tôi cần thu thập thông tin để có thể chuyển tiếp cho khách hàng làm bằng chứng.


3
Tôi không giới thiệu Charles vì chỉ có một nhà phát triển làm việc trên đó. Điều gì sẽ xảy ra nếu anh ấy ngừng hoạt động trên ứng dụng hoặc bị xe buýt đâm? Hơn nữa, có vẻ như anh ấy không đáp ứng các yêu cầu hỗ trợ. Tôi sẽ tiêu 50 đô la của mình ở một nơi khác. Về phần Fiddler thì hỗ trợ tốt hơn một chút nhưng họ có thể tự mất thời gian vì nó là công cụ miễn phí. Tôi còn lại gì? Có thể là wirehark hoặc mitm proxy.
MasterJoe

1
@ testerjoe2 mitm proxy chậm như f * ck và không tốt bằng fiddler.
baburao, 14/07/18

Câu trả lời:


79

Wireshark, Firebug, Fiddler đều làm những việc tương tự - nắm bắt lưu lượng mạng.

  • Wireshark bắt bất kỳ loại gói mạng nào. Nó có thể nắm bắt chi tiết gói bên dưới TCP / IP (HTTP ở trên cùng). Nó có bộ lọc để giảm nhiễu mà nó thu được.

  • Firebug theo dõi từng yêu cầu mà trang trình duyệt đưa ra và nắm bắt các tiêu đề liên quan và thời gian thực hiện cho từng giai đoạn của yêu cầu ( DNS, nhận, gửi, ... ).

  • Fiddler hoạt động như một proxy HTTP / HTTPS. Nó nắm bắt mọi yêu cầu HTTP mà máy tính thực hiện và ghi lại mọi thứ liên quan đến nó. Nó cho phép những thứ như chuyển đổi các biến bài đăng thành biểu mẫu bảng và chỉnh sửa / phát lại các yêu cầu. Theo mặc định, nó không nắm bắt được lưu lượng máy chủ cục bộ trong IE, hãy xem Câu hỏi thường gặp để biết cách giải quyết.


38

Lợi ích của WireShark là nó có thể hiển thị cho bạn lỗi ở các cấp bên dưới giao thức HTTP. Fiddler sẽ hiển thị cho bạn các lỗi trong giao thức HTTP.

Nếu bạn cho rằng vấn đề nằm ở đâu đó trong yêu cầu HTTP do trình duyệt đưa ra hoặc bạn chỉ đang tìm kiếm thêm thông tin liên quan đến những gì máy chủ đang phản hồi hoặc mất bao lâu để phản hồi, Fiddler nên làm.

Nếu bạn nghi ngờ có điều gì đó không ổn trong giao thức TCP / IP được sử dụng bởi trình duyệt và máy chủ của bạn (hoặc trong các lớp khác bên dưới), hãy truy cập WireShark.


2
Thật vậy, Wireshark có thể phát hiện ra các vấn đề về proxy và máy chủ nat, nó cũng có thể được sử dụng trên cả máy khách mà bạn đang kết nối cũng như trên máy chủ.
Glenner003

33

Không có tùy chọn nào ở trên, nếu bạn đang sử dụng máy Mac. Sử dụng Charles Proxy . Đó là công cụ thu thập thông tin yêu cầu / mạng tốt nhất mà tôi từng gặp. Bạn có thể xem và chỉnh sửa tất cả các yêu cầu gửi đi cũng như xem phản hồi từ các yêu cầu đó ở một số biểu mẫu, tùy thuộc vào loại phản hồi. Tốn 50 đô la cho một giấy phép, nhưng bạn có thể tải xuống phiên bản dùng thử và xem những gì bạn nghĩ.

Nếu của bạn trên Windows, thì tôi sẽ chỉ ở lại với Fiddler.


15
Bạn có thể nói rõ hơn về việc Charles khác với Fiddler như thế nào không? Những gì bạn đã đề cập ở trên có vẻ như rất giống với người chơi. Tôi hiện đang sử dụng fiddler nhưng sẽ rất vui khi sử dụng thứ gì đó tốt hơn nếu tôi nhận được nhiều thứ hơn từ nó.
Jagmag

27
Charles và Fiddler có kiến ​​trúc khá giống nhau. Charles chạy trên máy Mac; Fiddler sẽ không. Charles được viết bằng Java và tốn tiền. Fiddler được viết bằng C #, miễn phí và có thể mở rộng dễ dàng trong .NET.
EricLaw

7
Nó thực sự hoạt động trên Windows, Mac OSX và Linux
Casebash

10
Tại sao nó tốt hơn Wirehark?
Goles

3
Tôi trả lời hầu hết mọi câu hỏi trong Nhóm Google của Fiddler trong vòng một ngày. Nhưng đây không phải là nơi thích hợp để trò chuyện về điều này.
EricLaw

15

Fiddler là người chiến thắng mọi lúc khi so sánh với Charles.

Tính năng "quy tắc tùy chỉnh" của fiddler là vô song trong bất kỳ trình gỡ lỗi http nào. Khả năng viết mã để thao tác các yêu cầu và phản hồi http một cách nhanh chóng là vô giá đối với tôi và công việc của tôi trong phát triển web.

Có rất nhiều tính năng để điều khiển mà charles không có và có thể sẽ không bao giờ có. Fiddler đang ở phía trước nhiều năm ánh sáng.


1
Ngoại trừ cái ổ đĩa đó không có ích gì khi bạn không làm việc dưới cửa sổ. Bạn cũng có thể đặt một proxy ở giữa, sau đó bạn có thể tự làm điều đó (trong C #). Ví dụ: mindis.org/soft/projects/proxy . Không cần Fiddler. Tôi không có hệ thống cửa sổ ở nhà nữa - chỉ có Linuces dựa trên ARM. Và tôi rất vui vì điều đó.
Stefan Steiger

Bạn đã đề cập đến nhiều tính năng của fiddler mà charles không có. Những tính năng này là gì?
MasterJoe

4

Nếu bạn đang phát triển một ứng dụng truyền dữ liệu bằng AMF (khá phổ biến trong một bộ API web GIS cụ thể mà tôi sử dụng thường xuyên), Fiddler hiện không cung cấp bộ giải mã AMF cho phép bạn dễ dàng xem dữ liệu nhị phân một cách dễ dàng- định dạng có thể đọc được. Charles cung cấp chức năng này.


4

Tôi sử dụng cả Charles Proxy và Fiddler để gỡ lỗi cấp độ HTTP / HTTPS của mình.

Ưu điểm của Charles Proxy:

  1. Xử lý HTTPS tốt hơn (bạn nhận được Chứng chỉ Charles mà bạn đã đưa vào danh sách 'Tổ chức đáng tin cậy')
  2. Có nhiều tính năng hơn như Tải / Lưu phiên (đặc biệt hữu ích khi gỡ lỗi nhiều trang), Phản chiếu trang web (hữu ích trong việc lưu vào bộ nhớ đệm và do đó gỡ lỗi nhanh hơn), v.v.
  3. Như đã đề cập bởi jburgess, xử lý AMF.
  4. Hiển thị JSON, XML và các loại phản hồi khác trong cấu trúc cây, giúp dễ đọc hơn. Hiển thị hình ảnh trong phản hồi hình ảnh thay vì dữ liệu nhị phân.

Nhược điểm của Charles Proxy:

  1. Giá cả :-)

9
Fiddler cung cấp độ tin cậy HTTPS đơn giản hơn Charles, cung cấp bộ Lưu / Tải phong phú hơn và hiển thị JSON / XML và các định dạng khác bằng cách sử dụng cấu trúc cây. Đó là phần mềm miễn phí và có sẵn các thanh tra AMF, mặc dù tôi chưa sử dụng chúng.
EricLaw

1
@EricLaw: Có, nhưng "phần mềm miễn phí" của bạn (tuân theo hạn chế xuất khẩu của Mỹ - hay còn gọi là mật mã không an toàn) không chạy trên Linux (Chromebook Linux có bộ xử lý ARM của tôi với Debian).
Stefan Steiger

3

Để bổ sung cho danh sách, hãy lưu ý đến http://mitmproxy.org/


Điều gì sẽ làm cho lựa chọn này đáng xem xét?

1
@JonofAllTrades điều này chạy từ dòng lệnh. Mỗi giải pháp thay thế cung cấp một cách triển khai khác nhau, vì vậy sự đa dạng trong trường hợp này phục vụ một mục đích.
Maxim Veksler

Maxim - Mitm là một công cụ dựa trên dòng lệnh. Việc thiếu GUI là một vấn đề đối với những người dùng như tôi. Bạn có thể cho chúng tôi biết khi nào sử dụng công cụ dòng lệnh và khi nào sử dụng gui?
MasterJoe

Khi bạn sshing vào một máy chủ và bạn cần một proxy, có lẽ mitmproxy sẽ là một cuộc sống tiết kiệm (trừ khi bạn đã sẵn sàng để có một môi trường riêng biệt với một GUI để proxy để.)
arithma

có giao diện người dùng cho mitmproxy, docs.mitmproxy.org/stable/tools-mitmweb
yeradis
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.