Friday, March 21, 2014

Interface TAP para Windows e a internet das coisas (IoT)

As interfaces TAP servem com uma placa de rede virtual para injetar pacotes de rede diretamente no kernel do sistema operacional. No caso do Linux isso já é bastante antigo e comum de ser feito. No Windows isso era impossível até pouco tempo atrás.
O projeto OpenVPN, além de implementar VPN para windows, também mantêm o projeto TAP-Windows.

Você por estar baixando o pacote de instalação:
http://swupdate.openvpn.org/community/releases/tap-windows-9.9.2_3.exe

TAP em camadas

Mais detalhes na wiki do OpenWSN Berkeley (internet das coisas / rede de sensores)
https://openwsn.atlassian.net/wiki/pages/viewpage.action?pageId=5373971

Nesta página tem uma implementação em C# para  testar o TAP, mas possui algum problemas com o Windows 8.1, para resolver esses problemas criei um github gist com o código corrigido para Windows 8.1 com Visual Studio 2013.
http://www.varsanofiev.com/inside/using_tuntap_under_windows.htm

Também existe uma versão em Python 2.7 com python-win32
https://openwsn.atlassian.net/wiki/download/attachments/5963834/tun-ping-responder.py?api=v2

Código corrigido para Windows 8.1