Raw socket
Encyclopedia
In computer networking, a raw socket is a socket
that allows direct sending and receiving of network packets by applications, bypassing all encapsulation in the networking software of the operating system. Most socket application programming interface
s (APIs), especially those based on Berkeley sockets
, support raw sockets. Usually raw sockets receive packets inclusive of the header, as opposed to standard sockets which receive just the packet payload without headers. When transmitting packets, the automatic addition of a header may be a configurable option of the socket.
released Windows XP
in 2001 with raw socket support implemented in the Winsock
interface, the media criticized Microsoft asserting that raw sockets are only of use to hackers to perform TCP reset attack
s. 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.
Internet socket
In computer networking, an Internet socket or network socket is an endpoint of a bidirectional inter-process communication flow across an Internet Protocol-based computer network, such as the Internet....
that allows direct sending and receiving of network packets by applications, bypassing all encapsulation in the networking software of the operating system. Most socket application programming interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
s (APIs), especially those based on Berkeley sockets
Berkeley sockets
The Berkeley sockets application programming interface comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly for communications across a computer network....
, support raw sockets. Usually raw sockets receive packets inclusive of the header, as opposed to standard sockets which receive just the packet payload without headers. When transmitting packets, the automatic addition of a header may be a configurable option of the socket.
Windows XP
When MicrosoftMicrosoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
released Windows XP
Windows XP
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...
in 2001 with raw socket support implemented in the Winsock
Winsock
In computing, the Windows Sockets API , which was later shortened to Winsock, is a technical specification that defines how Windows network software should access network services, especially TCP/IP. It defines a standard interface between a Windows TCP/IP client application and the underlying...
interface, the media criticized Microsoft asserting that raw sockets are only of use to hackers to perform TCP reset attack
TCP reset attack
TCP reset attack, also known as "forged TCP resets", "spoofed TCP reset packets" or "TCP reset attacks". These terms refer to a method of tampering with Internet communications. Sometimes, the tampering is malicious, other times, it is beneficial....
s. 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.
External links
- Video Tutorials on Programming with Raw Sockets
- Net::RawIP; module for Perl applications. Created by Sergey Kolychev.
- Network Programming for Microsoft Windows (ISBN 0-7356-1579-9)
- 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.
- SOCK_RAW Demystified: article describing inner workings of Raw Sockets