因为Opera Beta里还有Google Analytics,这个也是会有请求和初始化的过程的,这里略过不提。

  1. HTTP请求 http://xml.opera.com/json/update/android/?pnum=4277330&version=14.0.1025.52315&buildno=52315&timesincelastcheck=0
  2. HTTP请求 http://xml.opera.com/json/spoof/android/?pnum=4277330&version=14.0.1025.52315&buildno=52315
  3. HTTP请求 http://xml.opera.com/json/userjs/android/?pnum=4277330&version=14.0.1025.52315&buildno=52315
    被302重定向到 http://get.geo.opera.com/res/servicefiles/browserjsfiles/json/mobile/browserjs-generic-test-20130131.js
    这个get.geo.opera.com域名在国内返回82.145.214.12,国外返回141.0.13.4
  4. HTTPS请求 api.recsys.opera.com:443
  5. DNS解析 server4.operamini.com,SOCKs连接1080端口
  6. HTTP请求 http://api.recsys.opera.com/assets/templates/2_article-box_en.json
  7. HTTP请求 http://api.recsys.opera.com/assets/templates/2_article-preview_en.json
  8. DNS解析 recsys.op-cdn.net,返回CNAME d3lmvlc0jtu3q4.cloudfront.net及相关A记录,未继续跟踪
  9. DNS解析 server4-1.operamini.com HTTP请求80端口,SOCKs连接1080端口

粗体字部分是我认为的判断使用国内服和国外服的地方。以后有条件的话,可能考虑对第四条做MITM看看请求的内容是什么。

1号2号3号的HTTP请求的User Agent为空,后面的User Agent是Opera Android

本流程利用手机连接VPN后,在VPN所在服务器用以下命令抓取:

tshark -f "net 37.228.104.0/21 or net 82.145.208.0/20 or net 91.203.96.0/22 or net 141.0.8.0/21 or net 195.189.142.0/23 or port 53" -i eth0 -q -w ~/opera.cap

其中网段为Opera公司所拥有的网段