Estoy tratando de monitorear las llamadas desde una aplicación a mi servidor como lo hace Firebug. No pude encontrar una manera de ver eso en iOS Simulator o en xCode.
¿Hay alguna manera de hacerlo sin olfatear todo el tráfico? Si no, ¿qué herramienta sugeriría?
xcode
networking
ios-simulator
network-monitoring
Mad Echet
fuente
fuente
Un proxy de intermediario, como lo sugieren otras respuestas, es una buena solución si solo desea ver el tráfico HTTP / HTTPS. Burp Suite es bastante bueno. Sin embargo, puede ser complicado configurarlo. No estoy seguro de cómo convencerías al simulador de que hablara con él. Es posible que deba configurar el proxy en su Mac local para su instancia de un servidor proxy para que pueda interceptar, ya que el simulador hará uso del entorno de su Mac local.
La mejor solución para la detección de paquetes (aunque solo funciona para dispositivos iOS reales , no para el simulador) que he encontrado es usar
rvictl
. Esta publicación de blog tiene una buena reseña. Básicamente lo haces:Luego, huele la interfaz que crea con Wireshark (o su herramienta favorita), y cuando haya terminado, apague la interfaz con:
Esto es bueno porque si desea rastrear paquetes del simulador, también tendrá que atravesar el tráfico hacia su Mac local, pero
rvictl
crea una interfaz virtual que solo le muestra el tráfico del dispositivo iOS que ha conectado a su USB Puerto.fuente
Una herramienta de proxy gratuita y de código abierto que se ejecuta fácilmente en una Mac es mitmproxy .
El sitio web incluye enlaces a un binario de Mac, así como el código fuente en Github.
Los documentos contienen una introducción muy útil para cargar un certificado en su dispositivo de prueba para ver el tráfico HTTPS.
No es tan GUI-tastic como Charles, pero hace todo lo que necesito y es gratis y mantenido. Cosas buenas y bastante sencillas si ya ha usado algunas herramientas de línea de comandos.
ACTUALIZACIÓN: Acabo de notar en el sitio web que mitmproxy está disponible como instalación casera. No podría ser más fácil.
fuente
Recientemente encontré un repositorio de git que lo hace fácil.
Puedes probarlo.
Esta es la captura de pantalla de una aplicación:
Atentamente.
fuente
Xcode proporciona registro de diagnóstico CFNetwork. Documento de Apple
Para habilitarlo, agregue
CFNETWORK_DIAGNOSTICS=3
en la sección Variable de entorno:Esto mostrará las solicitudes de la aplicación con sus encabezados y cuerpo. Tenga en cuenta que
OS_ACTIVITY_MODE
debe configurarseenable
como se muestra. De lo contrario, no se mostrará ningún resultado en la consola.fuente
Wireshark es
Seleccione su interfaz
Agregar
filter
iniciar elcapture
Pruebas
Haga clic en cualquier acción o botón que active una solicitud GET / POST / PUT / DELETE
Lo verá en la lista de Wireshark
Si desea conocer más detalles sobre un paquete específico, simplemente selecciónelo y siga> HTTP Stream .
espero que esto ayude a otros !!
fuente
Si tiene conexión por cable y Mac, existe un método simple y poderoso:
instale Wireshark gratis, asegúrese de que pueda capturar dispositivos con (¡y debe hacer esto después de cada reinicio de la computadora !):
sudo chmod 644 / dev / bpf *
Ahora comparte tu red con wifi. Preferencias del sistema> Compartir> Compartir Internet. Comprueba que tienes "Compartir tus conexiones desde: Ethernet" y que estás usando: Wi-Fi. Es posible que también desee configurar algo de seguridad wifi, ya que no interfiere con el monitoreo de sus datos.
Conecte su teléfono a su red recién creada. A menudo necesito varios intentos aquí. Si el teléfono no quiere conectarse, apague el wifi de Mac, luego repita el paso 2 anterior y sea paciente.
Inicie Wireshark y capture su interfaz inalámbrica con Wireshark, probablemente sea "en1". Filtre sus direcciones IP y / o puertos necesarios. Cuando encuentre un paquete que sea interesante, selecciónelo, haga clic con el botón derecho (menú contextual)> Seguir TCP Stream y verá una bonita representación de texto de las solicitudes y respuestas.
Y lo que es mejor: ¡exactamente el mismo truco funciona también para Android!
fuente
Telerik Fiddler es una buena opción
http://www.telerik.com/blogs/using-fiddler-with-apple-ios-devices
fuente
fuente
Una buena solución si está acostumbrado a las herramientas del inspector de Chrome es el depurador Pony: https://github.com/square/PonyDebugger
Es un poco complicado de configurar, pero una vez que lo haces, funciona bien. Sin embargo, asegúrese de usar Safari en lugar de Chrome para usarlo.
fuente
Yo uso netfox. Es muy fácil de usar e integrar. Puede usarlo en simulador y dispositivo. Muestra todas las solicitudes y respuestas. Es compatible con JSON, XML, HTML, imágenes y otros tipos de respuestas. Puede compartir solicitudes, respuestas y el registro completo mediante los formatos de uso compartido predeterminados de IOS (Gmail, WhatsApp, correo electrónico, slack, sms, etc.)
Puede consultar en GitHub: https://github.com/kasketis/netfox
fuente