Solicitudes de ARP en iPhone

Estoy intentando generar packages de request de ARP (Protocolo de resolución de direcciones) en el iPhone y escuchar las respuestas asociadas que vuelven.

Las búsquedas de Google me han llevado a un callejón sin salida. Para enviar packages de capa lógica, necesito algo a lo largo de las líneas de un socket sin formatting, pero necesito permissions de superusuario para crearlos. Estoy intentando evitar jailbreaking mi teléfono.

Hay un montón de código c por ahí que puede hacer esto, pero no puedo encontrar nada que pueda traducirse a iOS debido a los permissions.

Estaba listo para tirarme la toalla cuando decidí hacer un par de aplicaciones de descubrimiento de networkinges de Wireshark. A saber, "Fing" y "Pinggy" (sombreros a Fing y Pinggy por cierto … ¡aplicaciones increíbles!)

https://itunes.apple.com/us/app/pinggy/id562201096?mt=8

https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8

Ejecutar Wireshark junto con estas aplicaciones de iPhone muestra que realizan un análisis ARP desde XXX.XXX.X.0 hasta XXX.XXX.X.255. No veo ningún package ICMP salir simultáneamente con los "ARP". Esto me lleva a creer que enviar y recibir packages ARP es realmente posible en iOS.

He pensado en un barrido de ping, suponiendo que generará requestes ARP por sí mismo. Sin embargo, todavía necesitaré un zócalo sin formatting para escuchar las respuestas, ¿correcto?

Preguntas : ¿Qué hay disponible para enviar / recibir packages en la capa lógica? Específicamente para enviar packages ARP receptores? ¿Me estoy perdiendo algo fundamental?

¡Gracias por adelantado!

Las requestes ARP salen cuando bash hacer ping a los dispositivos problemáticos. Esto se vio con una session de Wireshark ejecutándose junto al escáner de ping. Descubrí que no podía reproducir los "dispositivos faltantes" que estaba viendo antes que me llevaron a hacer mi pregunta original.

Por lo tanto, para responder a mi propia pregunta: las requestes ARP se envían por dirección IP al realizar un simple escaneo de ping en mi subnetworking. Vería la request ARP salir (usando Wireshark), así como la request de ping. Si necesita generar una request ARP, simplemente envíe un ping.

Incluso si el dispositivo "problemático" no responde a las requestes de ping, la tabla ARP será notificada de su existencia.

No puede hacer lo que desea hacer y get la aplicación en AppStore, ya que lo que está tratando de hacer no está en la API pública.

Entonces, una cosa que puedes hacer, para propósitos de testing en tu propia networking, o aplicaciones distribuidas por la empresa, está buscando en las API privadas / indocumentadas.

Una de esas lists se mantiene en https://github.com/nst/iOS-Runtime-Headers , pero no puedo garantizar su precisión.

¡Buena suerte!