Socks
SOCKS is an Internet protocol that allows client-server applications to transparently use the services of a network firewall. SOCKS is an abbreviation for "SOCKetS" . more...
Home
Boys
Girls
Infants & Toddlers
Men's Accessories
Men's Clothing
Uniforms
Vintage
Wedding Apparel
Women's Accessories,...
Women's Clothing
Active, Fitness
Blazers, Jackets
Dresses
Intimates
Bras, Bra Sets
Camisoles, Camisole Sets
Corsets, Bustiers
Hosiery, Socks
Other Hosiery, Socks
Pantyhose
Socks
Stockings, Thigh-Highs
Tights
Mixed Intimate Items
Other Intimate Items
Panties
Shapers
Body Suits
Briefs
Other Shapers
Slip Shapers
Waist Cinchers
Sleepwear, Robes
Slips
Teddies
Jeans
Juniors
Maternity
Mixed Items
Other Items
Outerwear
Outfits
Pants
Petites
Plus Sizes
Shirts, Tops
Shorts
Skirts
Suits
Sweaters
Swimwear
T-Shirts, Tank Tops
Vests
Clients behind a firewall, needing to access exterior servers, may connect to a SOCKS proxy server instead. Such proxy server controls the eligibility of the client to access the external server and passes the request on to the server. SOCKS can also be used in the opposite way, allowing the clients outside the firewall ("exterior clients") to connect to servers inside the firewall (internal servers).
The protocol was originally developed by David Koblas, a system administrator of MIPS Computer Systems. After MIPS was taken over by Silicon Graphics in 1992, Koblas presented a paper on SOCKS at that year's Usenix Security Symposium and SOCKS became publicly available. The protocol was extended to version 4 by Ying-Da Lee of NEC.
Unofficial SOCKS 4a extensions add support for DNS names to resolve names with SOCKS server. The current version 5 of the protocol, RFC 1928 or authenticated firewall traversal, extends the previous version by supporting UDP, authentication, letting the SOCKS server resolve hostnames for the SOCKS client, and IPv6.
The SOCKS reference architecture and client are owned by Permeo Technologies, a spin-off from NEC.
According to the OSI model it is an intermediate layer between the application layer and the transport layer.
SOCKS 4 protocol
A typical SOCKS 4 connection request looks like this (each number is one byte):
Client to Socks Server:
Server to socks client:
Example:
This is a socks 4 request to connect Fred to 66.102.7.99:80, the server replies with an "OK."
From this point on any data sent from the socks client to the socks server will be relayed to 66.102.7.99 and vice versa.
The command field can be 0x01 for "connect" or 0x02 for "bind". "bind" allows incoming connections for protocols like active FTP.
SOCKS 4a protocol
SOCKS 4a is a simple extension to SOCKS 4 protocol that allows a client that cannot resolve the destination host's domain name to specify it.
The client should set the first three bytes of DSTIP to NULL and the last byte to a non-zero value (This corresponds to IP address 0.0.0.x, with x nonzero, an inadmissible destination address and thus should never occur if the client can resolve the domain name). Following the NULL byte terminating USERID, the client must send the destination domain name and terminate it with another NULL byte. This is used for both CONNECT and BIND requests.
Client to Socks Server:
Server to socks client:
A server using protocol 4A must check the DSTIP in the request packet. If it represents address 0.0.0.x with nonzero x, the server must read in the domain name that the client sends in the packet. The server should resolve the domain name and make connection to the destination host if it can.
Read more at Wikipedia.org
|