免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > qq相关 > 浅谈QQ显ip功能原理(3)

浅谈QQ显ip功能原理(3)

时间:2011-11-14 22:45来源:未知 整理:寂涯网络 点击:


Cache-Control: no-cache
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length:22
Host: ip.qq.com
Pragma: no-cache
Referer: http://ip.qq.com
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; )
searchip1=11.11.111.11

  这里编程时需要注意,最好不要在sendto中实现它,因为过程比较长,会导致值无法及
时返回可能会出错。原作者的方法是采用的创建了个新的线程来实现,我就仅仅用Console
来实现演示了。关于发包以及网络部分的东西。详细代码见附件,这里不再多说了。效果如
图 3所示:

  写到这里,至少还原显示IP的功能就基本上结束了,但是还有几个地方必须得说明一下,
或许也是对“显示IP”这个功能的一些强化性的建议和为了大家后续研究和更新的一些总结
吧:
(1)作者固定QQ的版本号,甚至以干扰安全升级的方式来运作,也是有道理的。前面我提
到过,QQ 一旦升级,这些软件的功能就很可能失效了,如果说你不以代码具体实现,单单
从数据包的角度去看,规律还是很明显的。当你往某人发图片(自定义表情)的时候,你们
之间会产生大量的UDP 的数据包而且形式相仿,开头可能都是0x03 0x00 0x01 0x00,但是
这个并非一层不变。
我后来更新了一次 QQ2011,果然那个插件失效了,但是我和一个网友聊天的时候,我
给他发了图片,仍然具有之前的那种规律,但是不再是0x03 0x00 0x01 0x00。具体图示如

图 4下所示:

  所以这个值并非一层不变的,不过只要知道了这个原理,至少我们可以在必要时候进行
调整。
(2)并不是通过这种方式就一定能获得对方IP。这个具体深究我也大很清楚,不过好像和
对方的网络环境有关。但是还有一种情况就是,比如你已经发过一次图片了。这个是我在后
来测试中发现的,有些时候你给对方发图片,只有第一次你在数据包中可以获得大量的关于
你和他直接的 IP 进行的 UDP 通信,而之后就再也不会出现了(局域网这种情况特别明显,
一会再说)。所以,最好的准确探测对方IP 的办法就是在 DLL 已经注入的时候,再通过聊天
发送图片,如果说错掉了这个时机,很可能唯一的解决办法就是重新启动 QQ 了。另外需要
强调的是,发送图片探寻IP 的办法不能在对方隐身的状态中成功。
(3)局域网情况方面的改进。首先我用PT画了一个简单的图进行说明,图示如图 5所示: 

  如果说在局域网中,如果说我是 PC0,我向 WB-PC1 发送图片,其实数据会首先过一次
路由器(1841),而且这个时候你所抓到的 IP,其实应该是你网络的出口处 IP,而且这个
IP应该和你登陆www.ip138.com所显示的“你的IP地址”数值一样。换句话说,如果我们
获得的 IP 和自己出口是一样的情况的话,就可以基本确定你们是局域网了。另外,在后续
的交互中,基本上就是你们两个直连了,不会再经过路由了。甚至 QQ 在局域网中交互传输
文件有一个自己构建的原始IP包,协议都是自己定义的。
  局域网也有一个类似广域网上 UDP 交互的特征码,我这个 QQ 版本是 0x03 0x1C,不过
我想不同的版本可能也不会一样。但是遗憾的是局域网的情况比较复杂,我之前说的并没有
考虑类似于VLAN 之类的,所谓的不经过路由似乎也武断了点,这个还需要去继续专研。
希望本文对大家实现QQ显示 IP并且做出更好的扩展功能有所帮助。

 

 

本页地址 http://www.jybase.net/qqxiangguan/20111114616.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com