|
对于这个问题,我个人认为:基本上是不可能的。为什么说是基本上呢?是因为有的时候是可以的、是相对的。具体实现IP隐藏的方法主要有两种:
(1)使用代理服务器
从上面可以知道使用代理服务器就能实现对其他服务器的IP地址隐藏,但是你对代理服务器是无法隐藏的。
(2)发送数据时改掉IP数据包里的你的IP地址
说到底,在Internet网上传输的所有数据(包含有你的IP地址),都是以IP数据包的形式传送的,所以可以在发送IP数据包之前先把自己的IP地址改掉,然后再发送,自然对方就无法获得你的IP地址了,相当于实现了IP地址隐藏。但问题是,你若使用的是TCP协议的话,对方即便许可了也无法把许可信息发送给你,而是发送到了你改掉的IP地址那里去了,结果你和对方无法建立连接,当然也就无法从对方获得数据,基本上没什么意义,但是对于有些探测是可行的,比如端口扫描器。当然对于UDP就很有效果了,不少网络炸弹就是用UDP实现IP地址隐藏的。
事实上,现在的Windows平台的网络炸弹大多是没有实现IP地址隐藏的。原因是在Windwos 95/98/NT上的Winsock库不支持对IP头的修改和自定义,在Windows2000和Unix/Linux才允许。当然,完全可以通过自己写一套底层的Socket库来实现,但这样并不容易,更多的是通过写Vxd/Sys等设备驱动程序来实现的,当然对一般编程人员而言,也有一定难度。
所以,总结一下就是:在网络上隐藏IP地址基本上是不可能的。
|