电脑技术学习

IP地址异形

dn001
经常上网就会碰到这样的网址--http://3427256388,让人感到希奇,而好奇心使我们忍不住去点击它们,发现它是有效链接,能连到其他网站上。还有,我们在浏览深层目录网页时,浏览器地址栏中会出现%4C%69%75%48%6F%6E%67的字符,这是为什么呢?其实它们也是网址,只不过是以不常见的形式表现除来罢了。而有些spamer和scammer却经常借此来隐蔽自己真实的身份。以下我就要说明如何把正常的网址进行变形,让大家看清它们的真面目。


我们知道域名如www.microsoft.com是为了帮助人们记忆而设计的,当我们在浏览器的地址栏输入域名后,它要转化为IP地址,然后进行查找。IP地址一般是由"."分开的四组十进制的数字组成,每组数字从0~255,其实它也可以用二进制、八进制、十六进制形式表示。因此上面的怪网址就是实际上就是IP地址的二进制、八进制、十六进制形式,那么如何对IP地址进行变形呢?我们先可以用ping;命令得到一个域名的IP地址。连上网络,从Windows转入DOS状态,就可用这个命令,其格式为:ping;域名,如;ping;www.yahoo.com;就可以得到IP地址204.71.200.68。


  ;我们以把十进制形式的IP地址的格式转为十六进制形式,即双字IP格式为例说明如何异形IP。打开Windows自带的计算器,选择"科学型"。此时十进制是默认模式。首先输入第一组数字204,然后点击十六进制值,202就会转化为十六进制值CC。依次把后面三组数字转化为十六进制值,71的十六进制值47,200的十六进制值C8,68十六进制值为44。最后把它们连在一起,即CC47C844,这就是IP地址204.71.200.68的十六进制形式。最后把CC47C844输入设为十六进制模式的计算器,点击十进制制式把这组数字转为十进制值3427256388。这个数字是最终的变形,称为大数IP。反之从这种数字形式的网址也可反算出它的真正的IP地址,这样那些spammer和scammer就难逃我们的火眼金睛了。


  ;双字IP格式一般可以直接用与IE5.0浏览器的地址栏中,或在前面加上0x,即0xCC47C844同域名的效果是一样的。而且在它前面加上任意的十六进制数字还是同样有效,比如0x9A3FCC47C844。其实得到双字IP后在每个十六进制值前面加上0x(0x表示后面的数字是十六进制形式),然后象十进制IP地址一样用圆点分开,比如;0xCC.0x47.0xC8.0x44,与十进制IP同样有效。


  ;另外还可以用以下这个公式来直接计算出上面的大数IP
  ;IP;=;V·256^3;+;X·256^2+;Y·256;+;Z·256^0;
  其中;V是十进制IP地址的第一组数字,如上例中的202;X是第二组数字,如上例中的109;;Y是第三组数字,如上例中的72;Z是第四组数字,如上例中的54。而且还有个有趣的现象,在上面的公式中再添加上一个项式N·256^4;,即
  IP;=N·256^4+;V·2563;+;X·2562;+;Y·256;+;Z·2560


  ;虽然计算所得的结果不同,但是它的效果相同,也能连到同样的网站上。因为这些数字转化成十六进制值时,它们最后的八位数字都相同,而相关程序在解析IP地址时就只认后8位数字,前面的数字一概不管。有一个网页http://97C4D38A/tool/Ip2dWord 也可直接转化。


  按同样的原理,也可以把十进制IP转为八进制和二进制的形式。比如204.71.200.68转为八进制形式0314.0107.0310.0104;要注重数值前面的"0"不能少,它向浏览器说明后面的数值是八进制的。对二进制的形式转化应更轻易,就不再说明了。


  ;以上所述只是网址异形的基本形式,还有更为怪异的变形。一个IP地址可以用十、八、十六进制的数值混合起来表示,同样有效。如204.71.200.68可以表示为0xCC.71.0310.0x44,还可以进一步变形为http://www.myyahoo.net@0xCC.71.0310.0x44;因为在http://和@之间的内容除了伪装之外没有任何作用和意义,除非这个网址要求访问者被授权后才可以登录,那么就可用"http://username:password@;网址"格式进行登录,因此在两者之间可以填上任意的伪装网址和符号。而且IP地址后面的路径和文件名所用字母和符号都可以用十六进制的数值代替,;如
  http://97C4D38A/%74%6F%6F%6C/%49%70%32%64%77%6F%72%64;同样我们也要注重在每个数值前面加个"%",说明后面的数值是十六进制形式的。


  ;最后要说明一下注重的事项
  1、在NETSCAPE的浏览器上不能用十六进制形式的IP,混合形式的IP只能也不能含有十六进制数值,只能是八、十进制的。
  2、双字IP在部分低版本的IE和OPERA中不能用。
  3、在http://和@之间可以填任何东西,但假如用于NETSCAPE的浏览器就不能有"/;?",如用于IE就不能有"^;#;%;";`<;>;"。
  4、除了十进制IP地址,其他任何形式的IP最好不要用于代理服务器和局域网中。

>(出处:http://www.vipcn.com)