网络常识问答

Author: 橘佑京 Date: 2001年 1期

#1    1.什么是IP地址?
      我们上网的每台机器都至少会有一个IP地址,以区别与Internet网上的其它机器,格式为: xxx.xxx.xxx.xxx(其中x代表0-9的数字,xxx的大小在0到255之间)比如:一般机器的本地IP地址是127.0.0.1。其实IP地址相当于你在Internet上的身份证号码,是用于区别他人的,所以在Internet里是没有两个IP地址是相同的。
  #1    2.拨号用户的IP地址是每次都变化的
      对于拨号上网的用户,你每次拨号上网被分配的IP地址是变化的。比如:这次你的IP地址是202.102.243.48,下次可能是202.102.243.170或其他,但在整个Internet里仍然是唯一的,并且在你没有挂断之前一直是不变的。不少拨号上网的网友对IP地址每次都变化表示困惑,我是这样理解的:假如你的ISP(网络服务提供商)有1000个拨号用户,而它只拥有500个IP,事实上经你的ISP统计,一般同时上网的用户不超过400人,所以给它的拨号用户随机从500个IP中分配不仅是可行的,而且是划算的。当然你若肯向你的ISP额外付费的话,完全可以获得一个拨号的固定IP,但这对大多数拨号用户来说是不必要的开支。
  #1    3.我上网后怎么才能知道我的IP地址?
      对于Windows 95:运行winipcfg.exe
      对于Windows 98:运行ipconfig.exe
  #1    4.Port端口有什么用处?
      Port端口是用来标识不同Intenet服务的。打个比方:某公司的总机电话是88888888,电脑部的分机电话是001,网络部的分机电话是002,依次类推。那么我要找该公司电脑部的人,首先要知道公司总机电话88888888,而且还要知道001才能接通,同样要找网络部的话就要知道002,这里的8888888就相当于IP地址,001和002就相当于端口,是用来区分同一公司的不同服务部门的,也就是说我知道了某台服务器的IP地址,并向它提供端口号,它才能把你需要的数据传送给你,当然那个端口必须是开放的,就好比公司的电脑部必须是存在的一样。一般我们的浏览器默认是向IP地址为80的端口发送请求的。常见的端口号及相应的服务如下:
      21 FTP-文件传送(用CuteFtp等Ftp软件维护网站用的就是该协议)
      23 TELNET - 远程登录(管理员和黑客远程控制系统的最基本手段)
      25 SMTP - 邮件发送(Outlook Express或FoxMail等邮件程序发E-mail用)
      53 DNS - 域名解析(实现域名和IP地址之间的转换)
      80 HTTP - Web服务(最常用的为Internet Explorer等浏览器提供网页服务)
      110 POP3 - 邮件接收(Outlook Express或FoxMail等邮件程序收E-mail用)
      ……
      注:端口范围为0-65535,0-1024为系统使用,剩下的用户自己定义,所以聊天软件和木马等使用的端口大多都大于1024。
  #1    5.我知道对方的IP地址,如何判断对方是否在网上?
      用Ping.exe程序,方法如下:
      Ping 对方的IP地址(回车)
      若出现信息“Reply from ...” 说明对方在网上!
      若出现信息“Request timeout ...” 说明对方不在网上!
      注:文件Ping.exe在Windows目录里。
  #1    6.如何才能隐藏上网的IP地址?
      对于这个问题,我个人认为:基本上是不可能的。为什么说是基本上呢?是因为有的时候是可以的、是相对的。具体实现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地址基本上是不可能的。