更新 “西工大的猫” 1.4

前段时间很多同学反馈西工大的猫用不了了。

简单看了下新版搜狗浏览器,确实代理验证有变化。 于是修改代码,升级了程序。

1. 搜狗代理服务器有哪些IP?

搜狗的代理服务器是非常好扫到的,我小范围扫了几个段,就发现了30几个可用的IP地址。

根据HTTP Headers中的特征字符串判断即可:

Server:squid/2.6.STABLE22
Via:1.0 bjzw_36_46.sogou-in.domain:80 (squid/2.6.STABLE22)
X-Cache:MISS from bjzw_36_46.sogou-in.domain

HTTP服务器是squid,并且via域和X-Cache都有关键字sogou。

edu_servers = ['121.195.187.17', '121.195.187.21', '121.195.187.23',
               '121.195.187.27', '121.195.187.19',]
unicom_servers = ['123.126.51.161', '123.126.51.163', '123.126.51.165',
                  '123.126.51.171', '123.126.51.173','123.126.51.169',
                  '123.126.51.167', '123.126.51.175', '123.126.51.168',
                  '123.126.51.166','123.126.51.162', '123.126.51.172',
                  '123.126.51.170', '123.126.51.174', '123.126.51.176',
                  '123.126.51.164',]
telecom_servers = ['220.181.118.155', '220.181.118.157', '220.181.118.161',
                   '220.181.118.158', '220.181.118.162', '220.181.118.166']
other_servers = ['106.120.151.2', '106.120.151.3', '106.120.151.6',
                 '106.120.151.8', '106.120.151.5', '106.120.151.9',
                 '106.120.151.10', '106.120.151.11']

2. HTTP代理验证

sogou代理服务器,是根据4个字段的值来验证的。分别是: Host、 X-Sogou-Timestamp、X-Sogou-Tag、X-Sogou-Auth

抓包得到如下请求:

GET http://zsb.nwpu.edu.cn/ HTTP/1.1
Host: zsb.nwpu.edu.cn
Proxy-Connection: Keep-Alive
X-Sogou-Timestamp: 5358ef3e
X-Sogou-Tag: cc6d8ade
X-Sogou-Auth: 7A258C01633BA2C869441159DA7740F8/4.2.6.11794/md5
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36 SE 2.X MetaSr 1.0
Accept-Encoding: gzip, deflate
Cookie: PHPSESSID=iig06fpqfhqdbgqjs7rknat426

若校验不通过,会得到400 Bad Request错误页。 比如直接访问http://220.181.118.155/

作为初学者,我并没有尝试去逆向X-Sogou-Auth的计算方法。

对这方面感兴趣可参考黄总的文章: 郁闷!研究了一下Sogou的代理服务器验证协议

我只是用了最明显的方法,那就是把所有HTTP Request Header都替换成上述4个值,path使用完整路径。

测试代码:

import httplib
conn = httplib.HTTPConnection('123.126.51.174')

headers = {
    'Host': 'www.xjtu.edu.cn',
    'Proxy-Connection': 'keep-alive',
    'X-Sogou-Timestamp': '53569ea2',
    'X-Sogou-Tag': 'c8f1b7c3',
    'X-Sogou-Auth': '7A258C01633BA2C869441159DA7740F8/4.2.6.11794/md5',
    'Accept': '*/*',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36 SE 2.X MetaSr 1.0',
    'Accept-Encoding': 'gzip,deflate,sdch',
    'Accept-Language': 'zh-CN,zh;q=0.8',
}

conn.request(method='GET', url='http://www.baidu.com/', headers=headers)
print conn.getresponse().read().decode('utf-8','ignore').encode('gbk','ignore')

测试发现并不是所有网站都可以通过搜狗代理访问。不过能满足一些日常的需求:看视频、听音乐、看新闻。

下载   西工大的猫 1.4 

《更新 “西工大的猫” 1.4》上有8条评论

    1. 代理应该是正常的,不过听说在西工大登录免费资源是无法上了。 到底用这个代理访问会不会计入收费流量,得测试看看了。 比如看个视频什么的。 这个IP地址倒确实是教育网的节点。

  1. 我想问下,你是怎么搜索搜狗代理服务器的?我真的是小白,研究了1天了,还是不知道怎么去搜索,需要设置端口吗?

发表评论

您的电子邮箱地址不会被公开。