Raw Sockets
Apr 3rd, 2007 by Ahmed Saad El Din
Raw Sockets are a powerful mechanism to manipulate the underlying protocol. You can use raw sockets to create ICMP and ICMPv6 applications through Winsock, but raw sockets can be used in a multitude of other applications—To take full advantage of capabilities of raw sockets and the header include option(IP_HDRINCL and IPV6_HDRINCL), you must thoroughly understand the IP protocol as well as any protocols encapsulated in it.
NETWORK PROGRAMMING FOR MICROSOFT WINDOWS
Anthony Jones, Jim Ohlund