I'm interested in how exactly one goes about creating a packet and sending it out through the network adapter. Programs like Nemesis and Netwox have multiple types of packets that can be injected. Once I have learning about the structure of a certain type of packet, how could I create one and then inject it? There must be some C libraries out there that could do it easily. Some information on the exact details of how this process works would be good to know, as I would like to be able to write my own version of something like Netwox.