ฉันพยายามตรวจสอบการโทรจากแอปไปยังเซิร์ฟเวอร์ของฉันเหมือนกับที่ Firebug ทำ ฉันไม่พบวิธีที่จะเห็นสิ่งนั้นใน iOS Simulator หรือใน xCode
มีวิธีทำได้โดยไม่ต้องดมกลิ่นจราจรทั้งหมดหรือไม่? ถ้าไม่คุณจะแนะนำเครื่องมืออะไร
ฉันพยายามตรวจสอบการโทรจากแอปไปยังเซิร์ฟเวอร์ของฉันเหมือนกับที่ Firebug ทำ ฉันไม่พบวิธีที่จะเห็นสิ่งนั้นใน iOS Simulator หรือใน xCode
มีวิธีทำได้โดยไม่ต้องดมกลิ่นจราจรทั้งหมดหรือไม่? ถ้าไม่คุณจะแนะนำเครื่องมืออะไร
คำตอบ:
ส่วนตัวผมใช้Charlesสำหรับของแบบนั้น
เมื่อเปิดใช้งานจะตรวจสอบทุกคำขอเครือข่ายแสดงรายละเอียดคำขอเพิ่มเติมรวมถึงการสนับสนุน SSL และรูปแบบคำขอ / การตอบกลับต่างๆเช่น JSON ฯลฯ ...
นอกจากนี้คุณยังสามารถกำหนดค่าให้สูดดมเฉพาะคำขอไปยังเซิร์ฟเวอร์เฉพาะเท่านั้นไม่ใช่การรับส่งข้อมูลทั้งหมด
เป็นซอฟต์แวร์เชิงพาณิชย์ แต่มีการทดลองใช้และ IMHO เป็นเครื่องมือที่ยอดเยี่ยมอย่างแน่นอน
man-in-the-middle proxy เช่นเดียวกับคำตอบอื่น ๆ ที่แนะนำเป็นทางออกที่ดีหากคุณต้องการดูการรับส่งข้อมูล HTTP / HTTPS เท่านั้น เรอสวีทสวยดี การกำหนดค่าอาจเป็นความเจ็บปวด ฉันไม่แน่ใจว่าคุณจะโน้มน้าวให้เครื่องจำลองคุยกับมันได้อย่างไร คุณอาจต้องตั้งค่าพร็อกซีบนเครื่อง Mac ของคุณให้เป็นอินสแตนซ์ของพร็อกซีเซิร์ฟเวอร์เพื่อให้มันดักจับได้เนื่องจากตัวจำลองจะใช้ประโยชน์จากสภาพแวดล้อมของ Mac ในเครื่องของคุณ
ทางออกที่ดีที่สุดสำหรับแพ็คเก็ตดม (แม้ว่ามันจะทำงานเฉพาะสำหรับจริงอุปกรณ์ iOS ไม่จำลอง) rvictl
ที่ฉันได้พบคือการใช้งาน โพสต์บล็อกนี้มีการเขียนที่ดี โดยทั่วไปคุณทำ:
rvictl -s <iphone-uid-from-xcode-organizer>
จากนั้นคุณสูดดมอินเทอร์เฟซที่สร้างขึ้นด้วย Wireshark (หรือเครื่องมือโปรดของคุณ) และเมื่อคุณปิดอินเทอร์เฟซเสร็จแล้วด้วย:
rvictl -x <iphone-uid-from-xcode-organizer>
นี่เป็นสิ่งที่ดีเพราะหากคุณต้องการแพ็คเก็ตสูดอากาศจำลองคุณจะต้องลุยกับการรับส่งข้อมูลไปยัง Mac ในพื้นที่ของคุณเช่นกัน แต่rvictl
สร้างอินเทอร์เฟซเสมือนที่แสดงปริมาณการใช้งานจากอุปกรณ์ iOS ที่คุณเสียบเข้ากับ USB ท่าเรือ.
เครื่องมือพร็อกซี่ฟรีและเปิดแหล่งที่วิ่งได้อย่างง่ายดายบน Mac เป็นmitmproxy
เว็บไซต์มีลิงก์ไปยัง Mac binary รวมถึงซอร์สโค้ดบน Github
เอกสารนี้มีคำแนะนำที่เป็นประโยชน์มากในการโหลดใบรับรองลงในอุปกรณ์ทดสอบของคุณเพื่อดูปริมาณการใช้งาน HTTPS
ไม่ค่อยมี GUI-tastic เหมือน Charles แต่ทำทุกอย่างที่ฉันต้องการและฟรีและบำรุงรักษา สิ่งที่ดีและค่อนข้างตรงไปตรงมาหากคุณเคยใช้เครื่องมือบรรทัดคำสั่งมาก่อน
อัปเดต: ฉันเพิ่งสังเกตบนเว็บไซต์ว่า mitmproxy พร้อมใช้งานในการติดตั้ง homebrew ไม่สามารถทำได้ง่ายกว่านี้
Xcode ให้ CFNetwork Diagnostic Logging เอกสาร Apple
หากต้องการเปิดใช้งานให้เพิ่มCFNETWORK_DIAGNOSTICS=3
ในส่วนตัวแปรสภาพแวดล้อม:
สิ่งนี้จะแสดงคำขอจากแอพพร้อมส่วนหัวและเนื้อหา โปรดทราบว่าOS_ACTIVITY_MODE
ต้องตั้งค่าenable
เป็นดังที่แสดง มิฉะนั้นเอาต์พุตจะไม่แสดงบนคอนโซล
เลือกอินเทอร์เฟซของคุณ
เพิ่มfilter
เริ่มcapture
คลิกที่การกระทำหรือปุ่มใด ๆ ที่จะทำให้เกิดคำขอ GET / POST / PUT / DELETE
คุณจะเห็นมันอยู่ในรายการ Wirehark
หากคุณต้องการทราบรายละเอียดเพิ่มเติมเกี่ยวกับแพ็คเก็ตหนึ่งที่เฉพาะเจาะจงเพียงแค่เลือกมันและติดตาม> HTTP สตรีม
หวังว่านี่จะช่วยคนอื่นได้ !!
หากคุณมีการเชื่อมต่อสายเคเบิลและ Mac มีวิธีที่ง่ายและมีประสิทธิภาพ:
ติดตั้ง Wireshark ฟรีตรวจสอบให้แน่ใจว่าสามารถจับภาพอุปกรณ์ด้วย (และคุณต้องทำสิ่งนี้หลังจากรีสตาร์ทคอมพิวเตอร์ทุกครั้ง !):
sudo chmod 644 / dev / bpf *
ตอนนี้แบ่งปันเครือข่ายของคุณด้วย wifi การตั้งค่าระบบ> การแชร์> การแชร์อินเทอร์เน็ต ตรวจสอบว่าคุณมี "แชร์การเชื่อมต่อจาก: อีเธอร์เน็ต" และใช้: Wi-Fi คุณอาจต้องการกำหนดค่าความปลอดภัย wifi บางอย่างด้วยโดยจะไม่รบกวนการตรวจสอบข้อมูลของคุณ
เชื่อมต่อโทรศัพท์ของคุณกับเครือข่ายที่สร้างขึ้นใหม่ ฉันต้องพยายามหลายครั้งที่นี่ หากโทรศัพท์ไม่ต้องการเชื่อมต่อให้เปิด wifi ของ Mac จากนั้นทำซ้ำขั้นตอนที่ 2 ด้านบนและอดทนรอ
เริ่ม Wireshark จับภาพอินเทอร์เฟซไร้สายของคุณด้วย Wireshark ซึ่งอาจเป็น "en1" กรองที่อยู่ IP และ / หรือพอร์ตที่คุณต้องการ เมื่อคุณพบแพ็คเกจที่น่าสนใจให้เลือกแล้วคลิกขวา (เมนูบริบท)> ติดตามสตรีม TCP และคุณจะเห็นการแสดงข้อความที่ดีของคำขอและคำตอบ
และอะไรคือสิ่งที่ดีที่สุด: เคล็ดลับเดียวกันนี้ใช้ได้กับ Android ด้วย!
Telerik Fiddler เป็นตัวเลือกที่ดี
http://www.telerik.com/blogs/using-fiddler-with-apple-ios-devices
ทางออกที่ดีหากคุณคุ้นเคยกับเครื่องมือตรวจสอบ Chrome คือ Pony debugger: https://github.com/square/PonyDebugger
การตั้งค่าเป็นเรื่องที่น่าปวดหัวพอสมควร แต่เมื่อคุณทำได้ดีแล้ว อย่าลืมใช้ Safari แทน Chrome เพื่อใช้งาน
ฉันใช้ netfox มันง่ายมากที่จะใช้และบูรณาการ คุณสามารถใช้บนโปรแกรมจำลองและอุปกรณ์ จะแสดงคำขอและการตอบกลับทั้งหมด รองรับ JSON, XML, HTML, รูปภาพและการตอบสนองประเภทอื่น ๆ คุณสามารถแชร์คำขอคำตอบและบันทึกแบบเต็มตามรูปแบบการแบ่งปันเริ่มต้นของ iOS (Gmail, WhatsApp, อีเมล, หย่อน, SMS ฯลฯ )
คุณสามารถตรวจสอบ GitHub: https://github.com/kasketis/netfox
Netfox ให้การตรวจสอบคำขอเครือข่ายทั้งหมดที่ดำเนินการโดยแอป iOS หรือ OSX ของคุณอย่างรวดเร็ว รับคำขอทั้งหมด - แน่นอนว่าเป็นของคุณคำขอจากห้องสมุดบุคคลที่สาม (เช่น AFNetworking, Alamofire หรืออื่น ๆ ), UIWebViews และอื่น ๆ