ค้นหา HTTP การดีบักพร็อกซี HTTP สำหรับ Mac ที่คล้ายกับ Fiddler บน Windows [ปิด]


240

ในงานก่อนหน้านี้เมื่อฉันทำงานบนเครื่อง Windows ฉันใช้Fiddlerเพื่อดูธุรกรรม HTTP และการดีบัก

ฉันกำลังมองหาการติดตามธุรกรรม HTTP สำหรับไซต์ ajax โดยเฉพาะฉันกำลังทำงานเพื่อตรวจสอบว่าไซต์ทำในสิ่งที่ฉันคาดหวัง การเขียนใหม่ HTTP (ตามที่มีให้โดย Fiddler) เป็นสิ่งที่ดีที่มี แต่ไม่จำเป็น

ใครช่วยแนะนำสิ่งที่คล้ายกันสำหรับการใช้งานบน Mac หรือไม่?


4
สิ่งนี้ถูกปิด แต่ยังคงมีอยู่ดังนั้นจำเป็นต้องเพิ่ม: Fiddler อยู่ในอัลฟ่าสำหรับ mac os
boomhauer

1
ฉันไม่รู้ว่าทำไมสิ่งนี้จึงถูกปิด มันมี 113 upvotes มันไม่ใช่แบบนี้เมื่อถามถึงการล้นสแต็ก
genxgeek

อ่านเหตุผลโดยตรงเหนือความคิดเห็นเหล่านี้ - "คำถามที่กำลังมองหาคำแนะนำผลิตภัณฑ์บริการหรือการเรียนรู้วัสดุปิดหัวข้อ"
ดั๊กแฮร์ริส

Fireup Fiddler บนเครื่อง Windows ใกล้เคียงและกำหนดค่า MAC ของคุณให้เป็นพร็อกซีบนเครื่อง Windows และ voila! ทุกอย่างบน Mac ของคุณจะเห็นได้บน Windows :)
Korayem

2
FYI สำหรับผู้ที่ตื่นเต้นกับการอ่านความคิดเห็นของ @boomhauer: Fiddler สำหรับ OSX ยังคงอยู่ในอัลฟ่าซึ่งได้รับการสัมผัสครั้งสุดท้ายในเดือนกรกฎาคม 2013 มันต้องใช้กรอบงานโมโน (ดังนั้นโดยทั่วไปแล้วมันเป็นเพียงแผ่นหุ้มสำหรับรุ่น Windows เท่านั้น re-factored สำหรับ Cocoa) และรีลีสมีหมายเหตุ: "Mac Note: WinForms framework บน Mac นั้นแทบจะผิดปกติไปได้วิธีที่ดีที่สุดของคุณคือการใช้ Fiddler ภายใน Linux หรือ Windows Virtual Machine และชี้การตั้งค่าพร็อกซีของ Mac ที่ ."
Anthony

คำตอบ:


130

ใช้ Chrome และไปที่ chrome: // net-internals /

จะช่วยให้การวิเคราะห์รายละเอียดและทิ้ง


1
ดี มีความคิดใดบ้างที่ถูกเพิ่มเข้ากับ Chrome
Doug Harris

2
ไม่ขอโทษ ฉันเคยทำงานกับ Fiddler บน Windows แต่ย้ายไปที่ Mac ฉันสะดุดกับ net-internals ในขณะที่มองหาคุณสมบัติโครเมี่ยมที่ซ่อนอยู่
brains_at_work

5
เครื่องมือนี้ดูเหมือนว่า "เรียบร้อย" แต่คุณจะสามารถดูเพย์โหลดคำขอทั้งหมดได้อย่างไร (เช่น GET ร้องขอส่วนหัว?)
Genxgeek

AFAIK สิ่งนี้ไม่ได้เสนอวิธีในการปรับเปลี่ยนข้อมูลระหว่างทางเช่น Fiddler ใช้ร่วมกับ FiddlerScript, ระบบตอบกลับอัตโนมัติและเบรกพอยต์ เครื่องมือที่ดี แต่สำหรับวัตถุประสงค์ที่แตกต่าง
iX3

33
เครื่องมือนี้ดูเหมือนจะดึงดูดปริมาณการเข้าชมของ Chrome เท่านั้น มีวิธีใดบ้างที่จะใช้เครื่องมือนี้เพื่อจับภาพการรับส่งข้อมูล http จาก / ถึงกระบวนการเฉพาะ?
morpheus

71

ผมพบว่าชาร์ลส์พร็อกซี่ มันใกล้กับฟังก์ชันการทำงานของ Fiddler มากขึ้น มันไม่ฟรี แต่มันอาจคุ้มค่ากับราคา


แค่อยากรู้อยากเห็น: ใครที่นี่เคยใช้หรือไม่
Arjan

ฉันใช้มันเป็นเวลาหนึ่งหรือสองชั่วโมงหลังจากที่ฉันพบมัน รุ่นทดลองมีหน้าจอจู้จี้และข้อ จำกัด 30 นาที แต่ฉันไม่คิดว่าไม่มีเหตุผล ฉันกำลังมองหาส่วนหัวเฉพาะในการตอบสนอง HTTP และฉันสามารถดูสิ่งเหล่านี้ได้อย่างง่ายดาย
Doug Harris

1
สิ่งที่ดีเกี่ยวกับ Charles คือมีให้สำหรับทั้ง OSX และ Windows ดังนั้นหากคุณไปมาบ่อยๆมันเป็นเครื่องมือที่ใช้กันทั่วไป
Justin Ohms

5
ฟังก์ชั่นที่สำคัญที่ charles (และพู้ทำเล่นและอาจจะเป็น webscarab) ก็คือความสามารถในการสกัดกั้นและแก้ไขคำขอรวมถึงการถอดรหัส https
urban_raccoons

1
ฉันใช้ Charles เพื่อถอดรหัสคำขอ Instagram, Facebook และแอปมือถืออื่น ๆ เพียงชี้ iPhone Proxy ไปที่ Charles และฉันสามารถดูได้ว่าพวกเขาส่งข้อมูลและข้อมูลอะไรที่พวกเขาส่ง!
Mário Carvalho

35

ฉันใช้mitmproxyเพื่อสกัดกั้นการรับส่งข้อมูล HTTP มันเป็นเครื่องมือที่ยอดเยี่ยมและคุณสามารถใช้สำหรับการดีบักอุปกรณ์มือถือเช่นกันหรือระบบปฏิบัติการใด ๆ สำหรับเรื่องนั้น


ห่วงเรื่องนี้! ในกรณีที่สคริปต์ kiddies ทั้งหมดในกรณีที่คุณเขียนโค้ดในสิ่งอื่นที่ไม่ใช่ JS นั่งอยู่ในเบราว์เซอร์สิ่งนี้คือตั๋ว
เชน

30

แอพ Mac ที่ฉันโปรดปรานสำหรับการตรวจสอบปริมาณการใช้งานคือHTTPScoopฉันให้รายละเอียดและใช้ tcpdump จาก commandline ในโพสต์นี้ที่ฉันบล็อกเมื่อปีที่แล้ว


หากคุณรู้จัก Wireshark (หรือ Cocoa Packet Analyzer ที่มีประสิทธิภาพน้อยกว่า): คุณสามารถเปรียบเทียบ HTTPScoop กับมันได้หรือไม่?
Arjan

1
Cocoa Packet Analyzer นั้นค่อนข้างง่ายเช่นกัน อย่างไรก็ตามฉันไม่เคยคิดวิธีกรองพอร์ตเฉพาะหรือที่อยู่ IP ของเซิร์ฟเวอร์แล้วดูทั้งคำขอและคำตอบ ... ทำอย่างง่ายดายใน Wireshark (เพียงแค่พิมพ์smtpเป็นตัวกรองการแสดงผลเพื่อดูการจราจรทั้งหมดที่ใช้โปรโตคอลของ SMTP หรือ. tcp.port == 25ที่จะได้รับการเข้าชมทั้งหมด 25 พอร์ตและการตอบสนองหรือ. http and ip.addr == xxxได้รับการจราจร HTTP ทั้งหมดและจากเซิร์ฟเวอร์บาง.)
Arjan

1
httpscoop ดูมีแนวโน้มโชคไม่ดีที่ดูเหมือนว่ามันจะถูกทิ้งร้างและฉันไม่สามารถจับภาพการจราจรในพื้นที่บน 10.9.2 การเปิดตัวครั้งล่าสุดวันที่กลับไปปี 2009 และเว็บไซต์ touts ans ที่กำลังจะมา v2.0 ซึ่งดูเหมือนจะไม่เตรียมพร้อม: /
Jean

1
ฉันพยายามที่จะใช้แอพนี้มันน่ากลัวเมื่อเทียบกับไวโอลิน ฉันต้องการรวบรวมทราฟฟิกทั้งหมดและพอร์ตทั้งหมดอินเตอร์เฟสทั้งหมดไม่ใช่พอร์ต 80 บนโลคัลโฮสต์ ฉันพยายามที่จะเพิ่มพอร์ตที่ฉันต้องการผ่านการตั้งค่า สิ่งนี้ไม่ได้ช่วยฉันเพราะสิ่งที่ฉันต้องการตรวจสอบอยู่ในอินเทอร์เฟซสองแบบที่แตกต่างกันเช่น lo / en0
KnuturO

1
เชื่อมโยงไปยังบล็อกไม่ทำงาน :(
เร็ก

19

ไม่ใช่สิ่งที่คุณถาม แต่ใน Firefox Add-on ส่วนหัวของLive HTTPเป็นสิ่งที่ฉันต้องการหากฉันต้องการแก้ไขและเล่นซ้ำคำขอรวมถึงการเปลี่ยน URL และวิธี HTTP

ส่วนหัว HTTP สด

ใน Firebug การตรวจสอบเครือข่ายแสดงคำขอและการตอบกลับทั้งหมด ในทำนองเดียวกันใน Safari บานหน้าต่าง Resourcesของ Web Inspector ในตัวจะครอบคลุมความต้องการส่วนใหญ่ของฉันเช่นกัน (เปิดใช้งานตัวตรวจสอบเว็บผ่านการตั้งค่า: แสดงเมนูพัฒนาในแถบเมนู ) Chrome และ Firefox มีเครื่องมือที่คล้ายกัน

เมื่อสิ่งต่าง ๆ มีความซับซ้อนมากขึ้นฉันจะยิงแพ็คเก็ตดมกลิ่นของWiresharkของฉัน อย่างไรก็ตามแตกต่างจาก Fiddler, Wireshark ไม่อนุญาตให้คุณเปลี่ยนข้อมูลและไม่สนับสนุนสิ่งต่าง ๆ เช่นเครื่องมือตอบกลับอัตโนมัติอย่างที่ Fiddler ทำ

สำหรับ Wireshark ดูHyper Text Transfer Protocol (HTTP)สำหรับข้อมูลการจับ HTTP ทั่วไปและHTTP Packet Capturing เพื่อดีบัก Apacheสำหรับตัวอย่างตัวกรองการแสดงผล (คุณอาจต้องการตั้งค่าตัวกรองการจับภาพเป็น " port 80" เพื่อแสดงคำขอทั้งหมดไปยังพอร์ตนั้นและการตอบสนองจากพอร์ตนั้นหรือหากต้องการ จำกัด เฉพาะเซิร์ฟเวอร์บางตัวให้ใช้ตัวกรองการจับ " port 80 and host www.google.com"):

# แสดงเฉพาะ 404: ไม่พบหน้า
http.response.code == 404

# แสดงวิธีการ HTTP ที่แน่นอนเท่านั้น
http.request.method == "POST" || http.request.method == "PUT"

# แสดงเฉพาะจาวาสคริปต์
http.content_type มี "javascript"

โปรดทราบว่า Wireshark สามารถคลายการบีบอัด gzip หรือยุบสิ่งที่เข้ารหัส (บีบอัด) ได้ทันทีสำหรับคุณ สิ่งนี้ทำให้การอ่านง่ายขึ้นเนื่องจากเว็บเซิร์ฟเวอร์ส่วนใหญ่จะบีบอัดข้อมูลที่ส่งไปยังเบราว์เซอร์

(สำหรับผู้ตอบกลับอัตโนมัติ: JS Bin ที่ยอดเยี่ยมมีวิดีโอสั้น ๆ เกี่ยวกับวิธีการใช้ในการดีบักคำขอ Ajax หากคุณไม่รู้จัก JS Bin ให้ดูวิดีโอแนะนำเบื้องต้นเสียก่อน)


+1 สำหรับ Firebug - ฉันรักเครื่องมือการตรวจสอบเครือข่ายของพวกเขา
จอช

ฉันลองแล้ว แต่ฉันไม่สามารถสร้างคำขอใหม่ไปยัง URL อื่น (ในโดเมนเดียวกัน) และไม่สามารถหาวิธีได้ (ตัวอย่างเช่น GET ไปยัง POST)
Purefan

@Purefan โดยไม่มีรายละเอียดเพิ่มเติมเราไม่สามารถช่วย; มันใช้งานได้สำหรับฉันดูภาพหน้าจอที่เพิ่งเพิ่ม คุณอาจพบmozdev.org/bugs/show_bug.cgi?id=25831
Arjan

7

นอกเหนือจากชาร์ลส์ (ที่กล่าวถึงแล้ว) ฉันยังชอบโปรแกรมเสริมHttpFoxสำหรับ Mozilla Firefox เช่นเดียวกับ Charles คุณสามารถใช้กับทั้ง Mac และ Windows น้ำหนักเบากว่า Charles เพราะอาศัยอยู่ในเบราว์เซอร์ซึ่งมีประโยชน์สำหรับการแก้ไขปัญหาอย่างรวดเร็ว นี่คือข้อมูลบางส่วนจากหน้า HttpFox:

HttpFox ตรวจสอบและวิเคราะห์ทราฟฟิก HTTP ขาเข้าและขาออกทั้งหมดระหว่างเบราว์เซอร์และเว็บเซิร์ฟเวอร์

มันมีจุดมุ่งหมายที่จะนำฟังก์ชั่นที่เป็นที่รู้จักจากเครื่องมือเช่น HttpWatch หรือ IEInspector มาสู่เบราว์เซอร์ Firefox

ข้อมูลที่มีอยู่ตามคำขอรวมถึง:

  • ส่วนหัวคำขอและตอบกลับ
  • ส่งและรับคุกกี้
  • พารามิเตอร์การสืบค้น
  • พารามิเตอร์ POST
  • ร่างกายตอบสนอง

และภาพหน้าจอ:

สกรีนช็อตของ HttpFox add-on สำหรับ Mozilla Firefox


สิ่งนี้ไม่สามารถใช้งานร่วมกับ Firefox รุ่นใหม่กว่า (Firedox 57 และ Firedex Deveolper Edition 57)
Promather

6

ไม่ใช่พร็อกซี แต่ช่วยในการดีบัก HTTP:

เพียงเริ่มการสแกนบนอินเทอร์เฟซที่คุณต้องการเปิดทราฟฟิก HTTP ดำเนินการทราฟฟิกแล้วหยุดสแกนและพิมพ์ "HTTP" เป็นสตริงตัวกรอง จากนั้นคุณจะสามารถตรวจสอบแพ็กเก็ตทั้งหมดของการสนทนา HTTP ได้ ด้วยมุมมอง Packet Detail open คุณสามารถเปิดส่วน HTTP และจะเปิดอยู่ระหว่างแพ็กเก็ต

มันเป็นเครื่องมือที่ยอดเยี่ยมที่มีและไม่ต้องการให้คุณเปลี่ยนพร็อกซีเบราว์เซอร์ ในทางกลับกันมันไม่สามารถช่วยได้กับปริมาณการใช้ HTTPS เนื่องจากมีการเข้ารหัส (แม้ว่าจะสามารถถอดรหัสการเชื่อมต่อ SSL ที่ใช้ RSA )


2
เพียงแค่การอัปเดต: Wireshark มีอาการเจ็บปวดใน OS X ต้องใช้ X11 ซึ่งไม่รวมอยู่ใน OS X อีกต่อไปดังนั้นคุณจึงต้องใช้ดิสก์ขนาด 200MB รวมกัน
Marko Bonaci

2
เพียงแค่อัปเดตเกี่ยวกับการอัปเดต @MarkoBonaci ตอนนี้ Wireshark 2.x ทำงานได้อย่างยอดเยี่ยมบน OSX โดยไม่จำเป็นต้องใช้ X11
0x7c0

@MarkoBonaci - คุณควรติดตั้งด้วย qt แทน
arcseldon

5

ฉันมาสาย แต่ - ผมใช้ปารอสพร็อกซี่ มันอยู่ใน Java ดังนั้นข้ามแพลตฟอร์ม แต่ถ้าคุณต้องการให้มันได้รับการบรรจุเป็น app มีหนึ่งที่นี่ที่ด้านล่าง



2

ดูเหมือนว่าGlimmerBlockerฟรีสามารถทำส่วนหนึ่งของเคล็ดลับ

แน่นอนว่ามันสามารถบล็อกเนื้อหาทุกประเภทและแปลงการตอบสนองก่อนที่เบราว์เซอร์จะได้รับ แต่ในความเป็นจริงการปรับเปลี่ยนทั้งการร้องขอและการตอบสนอง และถึงแม้ว่าจะไม่ใช่การดีบักจริง แต่ก็มีการบันทึกด้วย ดังนั้นอาจเหมาะกับความต้องการขั้นพื้นฐาน :

มีสคริปต์ 4 ประเภทที่กำลังทำงานอยู่ใน GlimmerBlocker และวัตถุบางอย่างถูกกำหนดไว้สำหรับสคริปต์บางประเภทเท่านั้น:

  • โกลบอลพร็อกซี่: นี่เป็นการตั้งค่าพร็อกซีส่วนกลางและสามารถทดสอบได้เช่นชื่อที่ตั้งเครือข่าย AirPort
  • ขอแก้ไข: สิ่งนี้สามารถเปลี่ยน URL ที่ร้องขอส่งการตอบกลับเปลี่ยนเส้นทางไปยังเบราว์เซอร์หรือส่งข้อความ / html กลับไปที่เบราว์เซอร์
  • การขยายคำหลัก [Safari เท่านั้น, AvB]
  • transform: แก้ไขการตอบกลับที่ได้รับจากเว็บเซิร์ฟเวอร์ก่อนที่จะถูกส่งกลับไปที่ Safari [หรือเบราว์เซอร์ใด ๆ ที่ตั้งค่าให้ใช้พรอกซีที่ได้รับจาก GlimmerBlocker, AvB]

(หนึ่งสามารถใช้เพื่อรวมสคริปต์ Greasemonkey ต่างๆในการตอบรับที่ได้รับโดยไม่ต้องใช้โปรแกรมเสริม Greasemonkey เช่นบล็อก Flashโดยไม่ต้องติดตั้งโปรแกรมเสริมใด ๆ )


GlimmerBlocker เป็นเครื่องมือที่น่าสนใจ แต่แตกต่างจากสิ่งที่ฉันกำลังมองหา ฉันได้แก้ไขคำอธิบายดั้งเดิมอีกครั้งเพื่อลบตัวอย่างที่เขียนซ้ำและชี้แจงว่าฉันแค่ต้องการตรวจสอบปริมาณการใช้งานและไม่เปลี่ยน
Doug Harris

2

คุณสามารถกำหนดค่าFiddler สำหรับ Macได้อย่างง่ายดายโดยใช้ Parallels ตามคำแนะนำในเว็บไซต์ของพวกเขา

ข้อแม้เดียวคือคุณต้องกำหนดการตั้งค่าเครือข่ายด้วยตนเองเพื่อชี้ไปยังที่อยู่ IP ของ VM แต่ไม่ใช่ข้อตกลงที่ยิ่งใหญ่จริงๆ


7
ฉันจะไม่เรียกว่า "ง่าย" - มันต้องซื้อและติดตั้งเซิร์ฟเวอร์ vm และระบบปฏิบัติการที่แตกต่างอย่างสิ้นเชิง
James Moore

ฉันมี 5 รายการในคำแนะนำเครื่องมือนี้และหนึ่งในนั้นคือรูปแบบ IPv4 ฉันควรเลือกอันไหน :)
อเล็กซ์ Sorokoletov

1
คุณสามารถใช้ซอฟต์แวร์การจำลองเสมือนฟรีเช่นVirtualBoxของ Oracle พร้อมกับ VM จากmodern.ieหากคุณต้องการเรียกใช้ Windows OS (หลังจาก 90 วันจะต้องรีเซ็ต) - ไม่สูงเกินไปสำหรับคนที่มีทักษะที่จำเป็น เพื่อเรียกใช้พร็อก
ซีดีบัก

หากคำถามนี้ถูกเปิด - ใครบางคนควรพูดถึง Fiddler สำหรับ Mac - telerik.com/download/fiddlerโดยใช้โมโนเฟรม ...
Mars Robertson

และมันไม่ทำงานสำหรับฉันใน macOS
tom10271

1

jMeter อาจช่วยได้เช่นกัน มันออกแบบมาสำหรับการทดสอบประสิทธิภาพการโหลดบนเว็บเซิร์ฟเวอร์ แต่อาจยังคงทำในสิ่งที่คุณต้องการ jMeter เขียนด้วยภาษา Java ดังนั้นคุณสามารถดาวน์โหลดไฟล์. jar ที่จะทำงานบน Mac, Windows หรือ Linux


1

Cocoa Packet Analyzerมีประโยชน์มาก


4
มันมีประโยชน์อย่างไร? หน้าผาบันทึกรุ่นที่จะเป็นประโยชน์อย่างมาก
Journeyman Geek

ตัววิเคราะห์แพคเก็ตโกโก้สามารถดักจับ Trafic HTTP ได้สำเร็จ แต่ไม่สามารถสร้างคำขอ / ตอบกลับใหม่ได้ :(
Jean

1

หากคุณกำลังจัดการกับปริมาณการใช้งานแอพหรือการรวม API ของบุคคลที่สามที่ข้ามอินเทอร์เน็ตสาธารณะคุณควรลองใช้ Runscope (ซึ่งการเปิดเผยแบบเต็มฉันเป็นผู้ร่วมก่อตั้ง) มันจับการร้องขอ HTTP ไปยัง URL ใด ๆ ให้มุมมองการสตรีมที่ดีสำหรับการแก้ไขข้อบกพร่องและทำให้ง่ายต่อการแบ่งปันแต่ละคำขอกับผู้อื่น


0

คุณสามารถลองAPIKitchenได้เช่นกัน ช่วยคุณในการดีบักและทดสอบ HTTP API และคำขอใด ๆ โดยทั่วไป นอกจากนี้ยังมีรุ่นออฟไลน์สำหรับการทดสอบในเครือข่ายภายในของคุณ ไม่จำเป็นต้องติดตั้ง

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