Wireshark vs Firebug vs Fiddler - ข้อดีข้อเสีย? [ปิด]


93

เมื่อเร็ว ๆ นี้ฉันพบปัญหาที่แอปพลิเคชัน CGI ไม่ตอบสนอง อาการคือ Firefox แสดง:

กำลังโอนข้อมูลจาก localhost ...

แต่สิ่งนี้คือฉันไม่เห็นการเข้าชมใด ๆ จากแผง Net ของ Firebug และเบราว์เซอร์จะอยู่บนเวทีเดียวกันตลอดไป

ฉันกำลังคิดเกี่ยวกับวิธีการดีบักแอปพลิเคชันนี้ แต่ฉันไม่เห็นซอร์สโค้ดหรือส่วนประกอบ Java / C ++ ใด ๆ ที่คอมไพล์แล้วดังนั้นฉันจึงคิดว่าการวินิจฉัยระดับเครือข่าย HTTP เป็นการเริ่มต้นที่ดี

ฉันมีประสบการณ์เล็กน้อยใน Fiddler และ Wireshark เพียงแค่สงสัยว่าพวกเขาจะได้รับข้อเสนอแนะ / สถิติที่ดีขึ้นในระดับเครือข่าย HTTP หรือไม่ ฉันได้ยินมาว่า Wireshark เป็นขั้นสูง แต่อาจมีปริมาณการใช้งานจำนวนมากดังนั้นผู้ดูแลระบบจึงไม่ชอบมันมากนัก ในเวลานี้ฉันคิดว่า Firebug แสดงข้อมูลไม่เพียงพอ

ฉันต้องการรวบรวมข้อมูลเพื่อที่จะได้ส่งต่อให้ลูกค้าเพื่อเป็นหลักฐาน


3
ฉันไม่อยากแนะนำCharlesเพราะมีนักพัฒนาเพียงคนเดียวที่ใช้งานได้ จะเกิดอะไรขึ้นถ้าเขาหยุดทำงานบนแอพหรือถูกรถบัสชน? ยิ่งไปกว่านั้นดูเหมือนว่าเขาจะไม่ตอบสนองต่อการร้องขอการสนับสนุน ฉันจะใช้จ่าย $ 50 ที่อื่น สำหรับFiddlerการสนับสนุนจะดีกว่าเล็กน้อย แต่สามารถใช้เวลาของตัวเองได้เนื่องจากเป็นเครื่องมือฟรี ฉันจะเหลืออะไร น่าจะเป็น Wireshark หรือพร็อกซี mitm
MasterJoe

1
@ testerjoe2 mitm proxy ช้าเหมือน f * ck และไม่ใกล้เคียงกับ fiddler
baburao

คำตอบ:


82

Wireshark, Firebug, Fiddler ต่างก็ทำสิ่งที่คล้ายกัน - ดักจับการรับส่งข้อมูลเครือข่าย

  • Wireshark จับแพ็คเก็ตเครือข่ายทุกชนิด สามารถจับรายละเอียดแพ็คเก็ตด้านล่าง TCP / IP (HTTP อยู่ด้านบน) มีตัวกรองเพื่อลดเสียงรบกวนที่จับได้

  • Firebug ติดตามคำขอแต่ละรายการที่หน้าเบราว์เซอร์สร้างและบันทึกส่วนหัวที่เกี่ยวข้องและเวลาที่ใช้สำหรับแต่ละขั้นตอนของคำขอ ( DNS, การรับ, การส่ง, ... )

  • Fiddler ทำงานเป็นพร็อกซี HTTP / HTTPS รวบรวมทุกคำขอ HTTP ที่คอมพิวเตอร์สร้างและบันทึกทุกอย่างที่เกี่ยวข้อง อนุญาตให้ทำสิ่งต่างๆเช่นการแปลงตัวแปรโพสต์เป็นรูปแบบตารางและแก้ไข / เล่นซ้ำคำขอ โดยค่าเริ่มต้นจะไม่จับการรับส่งข้อมูล localhost ใน IE โปรดดูคำถามที่พบบ่อยสำหรับวิธีแก้ปัญหา


42

ประโยชน์ของ WireShark คืออาจแสดงข้อผิดพลาดในระดับที่ต่ำกว่าโปรโตคอล HTTP Fiddler จะแสดงข้อผิดพลาดในโปรโตคอล HTTP

หากคุณคิดว่าปัญหาเกิดขึ้นในคำขอ HTTP ที่ออกโดยเบราว์เซอร์หรือคุณกำลังมองหาข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่เซิร์ฟเวอร์ตอบสนองหรือใช้เวลานานเพียงใดในการตอบกลับ Fiddler ควรทำ

หากคุณสงสัยว่ามีบางอย่างผิดปกติในโปรโตคอล TCP / IP ที่เบราว์เซอร์และเซิร์ฟเวอร์ของคุณใช้ (หรือในเลเยอร์อื่น ๆ ที่อยู่ด้านล่าง) ให้ไปที่ WireShark


2
แท้จริงแล้ว Wireshark สามารถเปิดเผยปัญหาพร็อกซีและเซิร์ฟเวอร์ nat ได้นอกจากนี้ยังสามารถใช้ได้กับทั้งไคลเอนต์ที่คุณเชื่อมต่อจากบนเซิร์ฟเวอร์
Glenner003

34

ไม่มีข้อใดข้างต้นหากคุณใช้ Mac ใช้Charles Proxyชาร์ลส์พร็อกซี่เป็นผู้รวบรวมข้อมูลเครือข่าย / คำขอที่ดีที่สุดที่ฉันเคยพบมา คุณสามารถดูและแก้ไขคำขอที่ส่งออกทั้งหมดและดูการตอบกลับจากคำขอเหล่านั้นได้หลายรูปแบบขึ้นอยู่กับประเภทของการตอบกลับ มีค่าใช้จ่าย 50 ดอลลาร์สำหรับใบอนุญาต แต่คุณสามารถดาวน์โหลดเวอร์ชันทดลองใช้และดูว่าคุณคิดอย่างไร

ถ้าคุณใช้ Windows ฉันก็จะอยู่กับ Fiddler


15
เป็นไปได้ไหมที่คุณจะอธิบายรายละเอียดว่า Charles แตกต่างจาก Fiddler อย่างไร? สิ่งที่คุณได้กล่าวมาข้างต้นดูเหมือนมือไม่พายมาก ตอนนี้ฉันใช้มือเล่นซอ แต่ยินดีที่จะใช้สิ่งที่ดีกว่าถ้าฉันได้รับสิ่งที่ดีกว่านี้
Jagmag

28
Charles และ Fiddler มีลักษณะทางสถาปัตยกรรมค่อนข้างคล้ายกัน Charles ทำงานบน Mac; Fiddler จะไม่ Charles เขียนด้วยภาษา Java และมีค่าใช้จ่าย Fiddler เขียนด้วยภาษา C # ฟรีและขยายได้ง่ายใน. NET
EricLaw

7
ใช้งานได้จริงบน Windows, Mac OSX และ Linux
Casebash

11
ทำไมถึงดีกว่า Wirehark?
Goles

3
ฉันตอบคำถามเกือบทุกข้อใน Google Group ของ Fiddler ภายในหนึ่งวัน แต่นี่ไม่ใช่สถานที่ที่เหมาะสมในการสนทนาเกี่ยวกับเรื่องนี้
EricLaw

15

Fiddler เป็นผู้ชนะทุกครั้งเมื่อเปรียบเทียบกับ Charles

คุณลักษณะ "ปรับแต่งกฎ" ของ fiddler นั้นไม่มีใครเทียบได้ในโปรแกรมดีบั๊ก http ความสามารถในการเขียนโค้ดเพื่อจัดการกับคำขอ http และการตอบกลับแบบทันทีนั้นมีค่าสำหรับฉันและงานที่ฉันทำในการพัฒนาเว็บ

มีคุณสมบัติมากมายสำหรับนักเล่นซอที่ชาร์ลไม่มีและไม่น่าจะมี Fiddler อยู่ข้างหน้าหลายปีแสง


1
ยกเว้นว่ามือไม่พายไม่มีประโยชน์เมื่อคุณไม่ได้ทำงานใต้หน้าต่าง นอกจากนี้คุณยังสามารถใส่พร็อกซีระหว่างนั้นจากนั้นคุณสามารถทำสิ่งนั้นด้วยตัวเอง (ใน C #) ยกตัวอย่างเช่นmentalis.org/soft/projects/proxy ไม่จำเป็นต้องมี Fiddler ฉันไม่มีระบบ windows ที่บ้านอีกต่อไป - มีเพียง Linuces ที่ใช้ ARM เท่านั้น และฉันมีความสุขมากกับเรื่องนั้น
Stefan Steiger

คุณได้กล่าวถึงคุณสมบัติมากมายของนักเล่นซอที่ชาร์ลไม่มี คุณสมบัติเหล่านี้คืออะไร?
MasterJoe

5

ฉันใช้ทั้ง Charles Proxy และ Fiddler สำหรับการดีบักระดับ HTTP / HTTPS

ข้อดีของ Charles Proxy:

  1. จัดการ HTTPS ได้ดีขึ้น (คุณจะได้รับใบรับรอง Charles ซึ่งคุณใส่ไว้ในรายการ 'Trusted Authorities')
  2. มีคุณสมบัติเพิ่มเติมเช่น Load / Save Session (โดยเฉพาะอย่างยิ่งมีประโยชน์เมื่อทำการดีบักหลาย ๆ หน้า), Mirror เว็บไซต์ (มีประโยชน์ในการแคชเนื้อหาและทำให้การดีบักเร็วขึ้น) เป็นต้น
  3. ดังที่กล่าวไว้โดย jburgess จัดการ AMF
  4. แสดง JSON, XML และการตอบสนองประเภทอื่น ๆ ในโครงสร้างแบบทรีทำให้อ่านง่ายขึ้น แสดงรูปภาพในการตอบสนองของรูปภาพแทนข้อมูลไบนารี

จุดด้อยของ Charles Proxy:

  1. ค่าใช้จ่าย :-)

9
Fiddler เสนอความไว้วางใจ HTTPS ที่ง่ายกว่า Charles มีชุดบันทึก / โหลดที่สมบูรณ์ยิ่งขึ้นและแสดง JSON / XML และรูปแบบอื่น ๆ โดยใช้โครงสร้างแบบต้นไม้ เป็นฟรีแวร์และมีตัวตรวจสอบ AMF แม้ว่าฉันจะไม่ได้ใช้ก็ตาม
EricLaw

1
@EricLaw: ใช่ แต่ "ฟรีแวร์" ของคุณ (ภายใต้ข้อ จำกัด ในการส่งออกของอเมริกา - หรือที่เรียกว่าการเข้ารหัสที่ไม่ปลอดภัย) จะไม่ทำงานบน Linux (Chromebook Linux ที่ใช้โปรเซสเซอร์ ARM ของฉันพร้อม Debian)
Stefan Steiger

4

หากคุณกำลังพัฒนาแอปพลิเคชันที่ถ่ายโอนข้อมูลโดยใช้AMF (พบได้บ่อยในชุดของGIS web API ที่ฉันใช้เป็นประจำ) ปัจจุบัน Fiddler ยังไม่มีตัวถอดรหัส AMF ที่จะช่วยให้คุณดูข้อมูลไบนารีได้อย่างง่ายดาย รูปแบบที่อ่านได้ Charles มีฟังก์ชันนี้


3

เพื่อเสริมรายการโปรดทราบhttp://mitmproxy.org/


อะไรที่ทำให้ตัวเลือกนี้ควรค่าแก่การพิจารณา

1
@JonofAllTrades สิ่งนี้ทำงานจากบรรทัดคำสั่ง แต่ละทางเลือกให้การใช้งานที่แตกต่างกันดังนั้นความหลากหลายในกรณีนี้จึงมีจุดประสงค์
Maxim Veksler

Maxim - Mitm เป็นเครื่องมือที่ใช้ commandline การไม่มี GUI เป็นปัญหาสำหรับผู้ใช้เช่นฉัน คุณช่วยบอกเราได้ไหมว่าเมื่อใดควรใช้เครื่องมือ commandline และเมื่อใดควรใช้ gui
MasterJoe

เมื่อคุณ SSH เข้าสู่เซิร์ฟเวอร์และคุณต้องการพร็อกซีบางที mitmproxy อาจเป็นตัวช่วยชีวิต (เว้นแต่คุณพร้อมที่จะมีสภาพแวดล้อมแยกต่างหากพร้อม GUI เพื่อพร็อกซี)
arithma

มี UI สำหรับ mitmproxy, docs.mitmproxy.org/stable/tools-mitmweb
yeradis
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.