Hi !
Thanks a lot, what you told me to do worked quit well, but in a strange way ^^ :
When I make a IP + UDP packet and send it with libtins, i will always get this debug error. If a serialize this frame, and send it with pcap it will not work, it will just not send anything. But if I make a Ethernet + IP + UDP packet and then I serialize it and send it with pcap (I open the device with pcap_open then send it with pcap_sendpacket), it will work ! I guess that, it did not work with IP + UDP because when you send it with pcap, the kernel does not add anything (here the layer 2), but i don't really know.
When i directly send a packet with PacketSender (for any frame construction), it will not work, indeed, if i make a Ethernet + IP + UDP frame, I will get no debug error but my packet won't be sent, and if I make a IP + UDP frame I will get a debug error.
But, if I open the device first with pcap_open, as I would do if I wanted to send the packet with pcap but i don't send it, then I is just use PacketSender::send() to send the packet, everything works fine, i can see my packet ! In this case I can not send a Ethernet + IP + UDP (Maybe because windows see that i want to modify my Ethernet frame and stop it, but this is strange because when I sent Ethernet + IP + UDP with pcap I could modify the ethernet protocol (personalize MAC adress) as I wish ). But if I send a IP + UDP packet with this method (Open device with pcap then send it with PacketSender), then, my packet will be send and a layer 2 protocol (Ethernet) wil be automatically added to the packet.
I don't really know how it work, maybe pcap open my interface in a right way maybe someting else, but it work ^^ This is perfect, libtins work really well and i can craft layer 2 protocols thanks to serialization and pcap. Thanks again ^^ If you got more info on what just happend I would be glad to hear them :'D
PS : I have tried it on an other Windows 7 PC and i get the same results