怎么测试一个代理服务器是什么类型的代理、是否是匿名

如何测试一个代理服务器是什么类型的代理、是否是匿名?
有通过第三方网页检测http头的方法,现在不想借助任何第三方软件,只要自己检测出某个ip:port的代理属性,包括:

是http还是socks4还是socks5代理
是透明还是匿名还是高匿代理

请赐教!标题别介意,呵呵!

------解决方案--------------------
先抓包分析看看是否有线索,信息
------解决方案--------------------
看协议的返回值


客户机连接到服务器,发送一个版本标识/方法选择报文: 

  +----+----------+----------+ 
  |VER | NMETHODS | METHODS | 
  +----+----------+----------+ 
  | 1 |  1  | 1 to 255 | 
  +----+----------+----------+ 

  VER(版本)在这个协议版本中被设置为X '05 '。NMETHODS(方法选择)中包含在METHODS(方法)中出现的方法标识八位组的数目。 
  服务器从METHODS给出的方法中选出一种,发送一个METHOD selection(方法选择)报文: 

  +----+--------+ 
  |VER | METHOD | 
  +----+--------+ 
  | 1 | 1 | 
  +----+--------+ 

  如果所选择的METHOD的值是X 'FF ',则客户机所列出的方法是没有可以被接受的,客户机就必须关闭连接。 

当前被定义的METHOD的值有: 
  > > X '00 ' 无验证需求 
  > > X '01 ' 通用安全服务应用程序接口(GSSAPI) 
  > > X '02 ' 用户名/密码(USERNAME/PASSWORD) 
  > > X '03 ' 至 X '7F ' IANA 分配(IANA ASSIGNED)
  > > X '80 ' 至 X 'FE ' 私人方法保留(RESERVED FOR PRIVATE METHODS) 
  > > X 'FF ' 无可接受方法(NO ACCEPTABLE METHODS)