IP地址异形

       我们知道域名如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最好不要用于代理服务器和局域网中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值