Skip to content

Files

Latest commit

9a6749e · Sep 13, 2016

History

History

tests

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Sep 13, 2016
Aug 14, 2016
Aug 14, 2016
Aug 14, 2016
The files in this directory are the remenants of my socks protocol test cases. I've included them in the repo in case they are helpful for future debugging.

These files contain basic hex patterns for the socks handshakes of various flavors, then finishes with a basic http request. You will need to change the IP address to your dev target that should be running a webserver on port 80. 

Use with netcat for quick testing of the SOCKS handshakes:
cat socks4a | xxd -p -r | nc -v 127.0.0.1 2280

The second line in each file is the ip address (which will change depending on your test target.) In the case of socks4a, the second line is the hex representation of the ascii characters that represent the ip address. In the socks4 and socks5 files, the second line is the hex representation of the four octets that directly compose the ip address.

##

Protocol Definitions:
http://www.openssh.com/txt/socks4.protocol
http://www.openssh.com/txt/socks4a.protocol
https://tools.ietf.org/html/rfc1928

tl;dr
Socks 4a is a super cool hack that makes socks 4 extensible to DNS lookups and ipv6 without breaking backward compatibility.
Socks 5 is over-engineered, needlesly complicated, and mandates support for crazy shit no one needs or will ever use. Adding support for socks 5 will bring no benefit that you didn't already get from socks 4a, but it will significantly increase the complexity of your code. This is why very few tools support it, and why I regularly consider pulling support for it from revsh.