Solicitações ARP no iPhone

Eu estou tentando gerar pacotes de solicitação ARP (Address Resolution Protocol) no iPhone e ouvir as respostas associadas que voltam.

As pesquisas do Google levaram-me a um beco sem saída. Para enviar pacotes de camada lógica, eu precisaria de algo como um soquete bruto, mas preciso de permissões de superusuário para criá-los. Estou tentando evitar o jailbreak do meu celular.

Há muito código c que pode fazer isso, mas não consigo encontrar nada que possa ser traduzido para o iOS devido às permissões.

Eu estava pronto para jogar a toalha quando decidi usar alguns aplicativos de descoberta de rede do Wireshark. Ou seja, "Fing" e "Pinggy" (chapéus para Fing e Pinggy btw ... aplicativos incríveis!)

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

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

Executar o Wireshark ao lado desses aplicativos do iPhone mostra que eles fazem uma varredura ARP de XXX.XXX.X.0 até XXX.XXX.X.255. Eu não vejo nenhum pacote ICMP sair simultaneamente com os "ARPs". Isso me leva a acreditar que o envio e recebimento de pacotes ARP são realmente possíveis no iOS.

Pensei em uma varredura de ping, supondo que ela gerasse solicitações ARP por conta própria. No entanto, ainda precisarei de um soquete bruto para ouvir as respostas, correto?

Questões: O que está disponível para envio / recebimento de pacotes na camada lógica? Especificamente para enviar pacotes ARP de recebimento? Estou faltando alguma coisa fundamental?

Desde já, obrigado!

questionAnswers(2)

yourAnswerToTheQuestion