如何查找代理是Http或Socks

时间:2013-08-19 11:18:52

标签: http proxy socks

谁能告诉我如何找到代理服务器是http还是袜子?这是基于端口号吗?它有何不同?

提前致谢

3 个答案:

答案 0 :(得分:6)

尝试为http:curl -x http://x.x.x.x:y check-host.net/ip。如果失败,请尝试袜子:curl -x socks://x.x.x.x:y check-host.net/ip

答案 1 :(得分:1)

不,代理类型不基于端口号。端口由网络管理员分配,可以是他们想要的任何东西。

您唯一的希望是,您的网络配置为使用某种类型的proxy auto-config,以便在需要时向客户提供特定的代理详细信息。

否则,无法查询代理本身。您必须提前知道它是什么类型的代理,以便您知道如何正确地与它进行通信。

答案 2 :(得分:-1)

试试这个脚本:

$ cat get_version.py 
#!/usr/bin/python

import struct
import socket
import sys


try:
        server = sys.argv[1]
        port = sys.argv[2]
except:
        print "Usage: server port"

try:
        sen = struct.pack('BBB', 0x05, 0x01, 0x00)
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect(( server , int( port )  ))
        s.sendall(sen)
        data = s.recv(2)
        s.close()
        version, auth = struct.unpack('BB', data)
        print 'server : port  is  ', server, ':', port, '; varsion: ', version
except Exception as e:
        print e