Supondo que os dispositivos estejam na mesma sub-rede que o dispositivo que você deseja fazer, deve ser possível "direcionar" os pacotes IP, mas gravar seus próprios pacotes ethernet com os endereços MAC e IP corretos. As respostas serão destinadas à sua máquina, mas você provavelmente terá que buscá-las e processá-las você mesmo, pois o sistema do sistema operacional talvez não consiga classificá-las corretamente.
Para fazer isso, você precisará:
- uma compreensão aproximada do que os pacotes ethernet, IP e TCP de dados consistem (o google deve ajudar nisso; isso fornece uma visão geral da estrutura geral do pacote)
- uma maneira de montá-los e colocá-los na linha ( isso descreve o básico)
- uma maneira de receber pacotes de resposta ( isso deve ajudar nisso)
- e uma maneira de reunir os pacotes recebidos em algo útil (já que você está recebendo pacotes ethernet não processados, o fluxo TCP não será montado ou pedido para você, você precisará armazenar em buffer e montar os dados também como lidar com as outras partes do protocolo TCP, uma vez que você tenha os itens acima funcionando, você deve saber o suficiente sobre fluxos TCP para fazer isso)
O Wireshark é uma ferramenta para farejar redes e tem muitos detalhes que podem ajudá-lo a entender o que acontece na rede, o que é nos pacotes para que você possa combiná-lo com o que aprender e ajudá-lo a depurar seu software.