- Raw socket
In
computer networking , a raw socket is a socket that allows direct access to packet's headers. Due to the fact that raw sockets allow users to craft packets' headers, their power can be abused to perform attacks such asIP address spoofing in hand with denial-of-service.Overview
Raw sockets are not a
programming language -level construct, they are part of the underlyingoperating system 's networking API. Most socket interfaces, especially those based on theBerkeley sockets , support them.Usually raw sockets receive packets containing the header, as opposed to standard sockets, which receive just the payload with the headers stripped for programmer's convenience. For outgoing packets, whether or not a header is automatically prepended is usually a raw socket's configurable option.
Raw sockets are usually used on the network's
transport layer ornetwork layer .Controversy
When
Windows XP was first released in 2001 with raw socket support implemented into theWinsock interface, the media attackedMicrosoft saying that raw sockets are only of use to hackers to pull offTCP reset attack s. In the summer before the Windows XP release, security consultantSteve Gibson described in detail why raw sockets in Windows XP were a major security issue. Three years after the Windows XP release, Microsoft silently limited Winsock's raw socket support in a non-removable hotfix and offered no further support or workarounds for applications that used them. [http://www.grc.com/dos/intro.htm] They generally work for legitimate uses, that is, when using UDP datagrams crafted to have a source address that matches one on the sending interface.See also
* Packet
*Internet Protocol
*Internet protocol suite
*Berkeley sockets
*Internet socket External links
* [http://security-freak.net/raw-sockets/raw-sockets.html Video Tutorials on Programming with Raw Sockets]
* [http://aspn.activestate.com/ASPN/CodeDoc/Net-RawIP/RawIP.html Net::RawIP; module for Perl applications.] Created by [http://www.ic.al.lg.ua/~ksv/ Sergey Kolychev] .
* Network Programming for Microsoft Windows (ISBN 0-7356-1579-9)
* [http://blogs.msdn.com/michael_howard/archive/2004/08/12/213611.aspx A little more info on raw sockets and Windows XP SP2 - Michael Howard's Web Log] an indication of what's actually allowed on Windows.
* [http://seclists.org/nmap-hackers/2005/0004.html Microsoft Tightens the Noose on Raw Sockets]
* [http://www.komodia.com/index.php?page=newtools.html Open source C++ tools to manipulate Raw Sockets and a free Packet Crafter]
Wikimedia Foundation. 2010.