枫林在线论坛精华区>>技术交流
[80761] 主题: 动态IP地址的捕获及应用
作者: leaflet (Leaf)
标题: 动态IP地址的捕获及应用[转载]
来自: 211.154.*.*
发贴时间: 2003年08月04日 00:11:40
长度: 12490字
一、IP地址与IP地址的动态分配 

  1. IP地址基本概念 

  Internet依靠TCP/IP协议,在全球范围内实现不同硬件结构、不同操
作系统、不同网络系统的互联。在Internet上,每一个节点都依靠唯一的
IP地址互相区分和相互联系。IP地址是一个32位二进制数的地址,由4个8位
字段组成,每个字段之间用点号隔开,用于标识TCP/IP宿主机。 

  每个IP地址都包含两部分:网络ID和主机ID。网络ID标识在同一个物理
网络上的所有宿主机,主机ID标识该物理网络上的每一个宿主机,于是整
个Internet上的每个计算机都依靠各自唯一的IP地址来标识。 

  IP地址构成了整个Internet的基础,它是如此重要,每一台联网的计
算机无权自行设定IP地址,有一个统一的机构—IANA负责对申请的组织分
配唯一的网络ID,而该组织可以对自己的网络中的每一个主机分配一个唯一
的主机ID,正如一个单位无权决定自己在所属城市的街道名称和门牌号,
但可以自主决定本单位内部的各个办公室编号一样。 

  2. 静态IP与动态IP 

  IP地址是一个32位二进制数的地址,理论上讲,有大约40亿(2的32次
方)个可能的地址组合,这似乎是一个很大的地址空间。实际上,根据网
络ID和主机ID的不同位数规则,可以将IP地址分为A(7位网络ID和24位主
机ID)、B(14位网络ID和16位主机ID)、C(21位网络ID和8位主机ID)三
类,由于历史原因和技术发展的差异,A类地址和B类地址几乎分配殆尽,
目前能够供全球各国各组织分配的只有C类地址。所以说IP地址是一种非常
重要的网络资源。 

  对于一个设立了因特网服务的组织机构,由于其主机对外开放了诸如
WWW、FTP、E-mail等访问服务,通常要对外公布一个固定的IP地址,以方
便用户访问。当然,数字IP不便记忆和识别,人们更习惯于通过域名来访
问主机,而域名实际上仍然需要被域名服务器(DNS)翻译为IP地址。例如
,你的主页地址是www.myhost.com,用户可以方便地记忆和使用,而域名
服务器会将这个域名翻译为101.12.123.234,这才是你在网上的真正地址
。 

  而对于大多数拨号上网的用户,由于其上网时间和空间的离散性,为
每个用户分配一个固定的IP地址(静态IP)是非常不可取的,这将造成IP
地址资源的极大浪费。因此这些用户通常会在每次拨通ISP的主机后,自动
获得一个动态的IP地址,该地址当然不是任意的,而是该ISP申请的网络I
D和主机ID的合法区间中的某个地址。拨号用户任意两次连接时的IP地址很
可能不同,但是在每次连接时间内IP地址不变。   

  二、点对点TCP/IP连接 

  1. 点对点TCP/IP连接与IP地址 

  一个运行TCP/IP协议接入因特网的计算机必须拥有一个唯一的IP地址
,才能与网上的其他计算机进行网络通讯。实际上,在任何时刻Internet
连接都能由4个要素来描述:源IP 地址、源地址端口号、目的IP 地址和目
的地址端口号。 

  2. 点对点TCP/IP连接的间接实现 

  由于大多数上网用户每次上网都自动获得一个动态的IP地址,这就使
两台计算机之间建立直接、方便的点对点TCP/IP连接存在一定障碍。解决
的办法是通过间接的方式进行连接,即通信双方同时登录到某个提供服务
的主机上,由该主机建立双方的间接连接,网络电话、网络寻呼、网络游
戏大都使用这一方法。随着技术的成熟和发展,这种网络连接服务可以提
供诸如网络会议、多方通话、多方游戏等服务,已经突破了双机连接的局
限。 

  3. 点对点TCP/IP连接的直接实现 

  支持直接TCP/IP连接的软件很多,例如微软的网络电话软件NetMeeti
ng,唯一的前提就是双方必须在联网时相互获得对方的动态IP地址,或者
更简单地,只要知道被呼叫方的IP地址即可,这类似于知道被叫方的电话
号码即可建立电话联系。于是关键问题就是捕捉和交换各自的动态IP地址
,或者捕捉和发布自己的动态IP地址以等待呼叫进而建立连接。 

  三、动态IP地址的捕捉与发布 

  1. 动态IP地址的捕捉 

  有许多方法和工具来实现动态IP地址的捕捉,Windows 95/98提供了一
个IP 配置 (WINIPCFG) 实用程序,使用方法是单击“开始-运行”,在“
打开”框中键入:winipcfg,出现程序窗口后,可以单击“详细信息”进
行查看(图1)。IP配置实用程序允许用户或管理员查看当前IP地址和其他
与网络配置有关的有用信息,有关配置信息包括主机名、DNS服务器、IP地
址、网络掩码等。可以重置一个或多个IP地址。“释放”或“更新”按钮
分别释放或更新一个IP地址。如果希望释放或更新所有IP 地址,请单击“
全部释放”或“全部更新”。其他工具也可以实现本机IP地址的查询。 


  2.动态IP地址的发布 

  可以将得到的动态IP地址更新到自己的主页上,这样所有访问者都可
以通过该地址呼叫主页的所有者,建立点对点的TCP/IP连接。 

  四、动态IP地址捕捉发布工具—DynamIP 

  知道了原理,就可以借助工具来完成这一过程。DynamIP就是一个很好
的动态捕捉与发布工具。DynamIP的主要功能有: 

  1. DUN/RAS Dialer with Event Driven Program Launcher:具有事
件驱动功能的拨号工具,可根据用户要求或者自动定时进行拨号,并且可
以在诸如“新连接建立”或“连接终止”等事件的驱动下运行/关闭其他应
用程序,当网络流量低于设定值时可以自动终止联结,这对于无人值守下
载大软件时特别有用。 

  2. Uploader(Dynamic IP address poster):文件上载工具(动态IP
地址发布)。DynamIP可以将你的动态IP地址发布在指定的Web页面上,并
自动地将该页面上载到服务器。当然也可以用来更新和上载任意文件,例
如用来定期上载图形文件,而该文件是利用数码相机自动定期拍摄的,于
是该主页就成了一个现场直播的页面。 

  3. DIPS Client:DIPS客户端软件,DIPS(Dynamic IP Server)是动
态IP服务器的简称,在申请了一个免费账户后,动态IP服务器可以在主页
中显示一个指向你的动态IP的URL,形式为:http://postmodem.com/dips
/<你的账户名>。 

  这一功能允许网上用户通过该URL访问你的本地主页,这是指在本地主
机安装的Web服务器(例如个人Web服务器)。当你要调试主页或者无法找
到一个提供满意的免费主页服务器,或者你认为上载主页太浪费时间时,
这项功能就显得尤为重要,目前的虚拟域名服务与此不同的是,虚拟域名
服务要求你的主页必须安放在具有固定域名的主页服务器上,然后才能提
供转移访问,而动态IP服务器则可以随时跟踪你的动态IP,并将访问者转
移到你的本地Web服务器上。只要你联网并且你的本地Web服务器正在运行
,DynamIP可以自动地确定你的DIPS信息是否需要更新到动态IP服务器。配
合DIPS,用户可以在不上载任何文件的情况下进行Web聊天。 

  4. POP mail checker:电子信箱检查,可最多检查5个不同的POP3账
户,并在新邮件到来后以可视或声音信号进行提示,自动运行E-mail客户
端软件取信。 

  5. IP chat:点对点IP聊天,类似IRC,但是不需要任何IRC服务器,
DynamIP可以在用户指定IP地址区间内扫描,你可以向所有聊天成员或者特
定IP地址广播消息,你可以向其他聊天成员打招呼以引起对方注意并建立
一个私人聊天。DynamIP支持微软网络电话软件MS NetMeeting。 

  6. WEBchat:Web聊天。你的主页访问者可以利用浏览器直接与你对话
,即使对方没有安装DynamIP,前提是你在主页中安装了如图2的页面,该
页面将被DynamIP动态更新,浏览器必须支持forms,Netscape和Internet
 Explorer,毫无疑问都支持forms。访问者可以在forms中填写语句,然后
按submit按钮,该语句被发送到你的计算机(利用DynamIP捕获的动态IP)
。可以与功能3配合实现本地Web聊天,则不必上载主页到任何服务器。 


  7. HTTPscan:HTTP扫描。DynamIP可以在用户指定IP地址区间内扫描
,并以超文本文件格式生成一个包含所有被搜索到的HTTP服务器的清单。
用途之一是当你与某人进行点对点IP聊天时,你可以立即访问对方的主页
。 

  8. PC Clock Synchronizer:时钟同步。DynamIP可以从NTP服务器获
得精确的日期和时间以校准你的机器时钟,另外也可以用来部分地解决“
千年虫”问题。 

  五、DynamIP的安装、设置 

  1. DynamIP的安装 

  DynamIP的安装只有一个条件,那就是你的Windows系统中必须有VB6.
0的运行库—MSVBVM60.DLL。该文件没有包含在DynamIP的软件包中,用户
必须从微软公司VB官方站点下载,文件名是Vbrun60new.exe,它是自动安
装文件,文件长度为1MB。 

  2. DynamIP的设置 

  DynamIP的基本原理是很简单的,DynamIP将利用模板文件(Template
)中的各项形式参数来更新一个本地文件,该文件包含了你的当前动态IP
地址,然后DynamIP自动上载该文件到你的个人主页服务器,于是其他访问
你的主页的用户可以利用该页面上的动态IP地址信息与你建立连接,实现
各种网络应用;或者DynamIPS更新你的DIPS信息到动态IP服务器,所有访
问该服务器的用户可以被转移到你的本地Web服务器上。所以在设置和准备
DynamIP的时候,一切工作都是围绕这个模板文件和你的动态IP地址进行的
。 

  DynamIP的主要功能是Uploader文件上载工具(动态IP地址发布),本
文将以此为例介绍DynamIP的设置,其他各项功能的设置类似。运行Dynam
IP,选择setup-uploader,则进入设置窗口(图3),各项参数如下: 

  Active:打开/关闭此项服务; 

  Remote Host:你的主页所在的FTP主机地址,注意不要填写主机上的
路径; 

  Login:你的FTP账户名; 

  Password:你的FTP账户口令;这三项参数使得DynamIP可以登录到你
的FTP主机,自动上载更新的文件,通常填写的是存放主页的主机地址。 


  Template Online:联机模板文件,该文件将用来生成包含你的IP地址
的动态本地文件(LocalFile),模板文件不会被更新。本地文件和模板文
件名字不能相同,否则DynamIP不会正常工作。如果此项填写“”,则Dyn
amIP将上载未更新的本地文件,可以用来上载数码相机拍摄的图片进行动
态直播,参看“refresh every”。 

  Template OFFline:脱机模板文件,通常与联机模板相同,如果你想
在脱机之前上载一个不同的页面,你可以选择一个不同的模板文件,此项
可以填写“”,功能同上。 

  Local File:本地动态文件的路径和文件名,以联机或者脱机模板文
件为样式更新的文件,包含用户当前动态IP地址等信息。 

  Remote File:存放在FTP服务器上的远程动态文件的路径和文件名,
本地动态文件将上载和覆盖该文件,不要填写服务器的域名或者IP地址。
 

  IP:联机模板文件中的IP地址形式参数,该参数将在联机时被用户当
前的动态IP地址所替换,DynamIP默认的形式参数是NOT.ON.LINE.NOW,通
常没有必要改动,若改动,则此项内容必须与模板文件中的形式参数名完
全相同。模板文件中还包含了其他形式参数,如IP、DateTime、WEBchat、
HTTP Server、FTP Server,这些形式参数都将在联机时被DynamIP自动替
换,因此最好不要随便改动,即使改动,也要注意每个形式参数的名称不
得相同 

  ,并且各项内容必须与模板文件中的形式参数名完全相同。 

  post last IP(OFFline):张贴上次IP地址,脱机模板文件中代表上次
IP地址的形式参数,默认值为( is the default value)。此项内容必须与
模板文件中的形式参数名完全相同。 

  DateTime:联机模板文件中的日期时间形式参数。 

  HTTP Server/Port:联机模板文件中的HTTP服务器/端口形式参数,这
里的HTTP服务器系建立在本地主机上的HTTP服务器(例如个人Web服务器)
,DynamIP用你的当前动态IP地址替换该参数,以便将访问者转移到你的本
地Web服务器。默认值为:“default value is HTTP Server NOT availa
ble. ”默认端口值为:80。 

  FTP Server/Port:联机模板文件中的FTP服务器/端口形式参数,含义
同上,只是服务器为本地FTP服务器。默认值为:“FTP Server NOT avai
lable”,默认端口值为:21。 

  FTP UserID:联机模板文件中的FTP用户ID形式参数,默认值为:“a
nonymous”,可以改变为其他账户名。 

  六、DynamIP应用实例 

  假如网上任意两个用户(实际上是计算机)能够相互知道对方的IP地
址,则双方就能利用TCP/IP建立直接的点对点网上连接,进行信息沟通。
更进一步,主叫方只要获得了被叫方的IP地址,就可以发出呼叫、建立连
接、实现应用,如利用网络电话直接通话或者发送文件。DynamIP正是抓住
了建立点对点IP连接的关键环节,捕捉并发布用户的当前动态IP地址,以
便接收其他用户的呼叫。以下为DynamIP应用举例。 

  1. 点对点网络电话 

  在主页中添加下面一行语句: 

  我正在网上,请给我打电话 

  若访问者通过IE浏览器访问该页面,点击该超链接将会运行网络电话
软件NetMeeting呼叫IP地址为111.222.123.123的计算机,如果对方的Net
Meeting处于等待状态,则可以接收到呼叫,并进行通话。 

  微软公司的浏览器支持callto协议,可以用NetMeeting呼叫该超链接
指定的IP地址。但是Netscape的浏览器不支持callto,解决的办法是改为
一个指向快速拨号文件的超链接,这样无论是在IE还是在Netscape中,打
开该拨号文件都会运行网络电话软件NetMeeting。 

  语句如下: 

   我正在网上,请给我打电话 

  这里ls.cnf是一个NetMeeting的快速拨号文件,记录了被叫方的IP地
址,内容如下: 

   

  ConfName=111.222.123.123 

  Address=111.222.123.123 

  CallFlags=65543 

  Transport=1 

  类似的语句还有:click here to call me,可以激活Vocaltech Iph
one。 

  以上工作可以直接利用DynamIP的联机模板文件(图2)来实现,Dyna
mIP将利用模板文件更新本地动态文件,上载并覆盖远程动态文件,主页的
访问者看到的是包含当前IP地址的超链接,点击超链接将会激活网络电话
软件,建立点对点网络电话连接服务。网络电话NetMeeting支持利用服务
器实现的间接连接和呼叫对方IP地址的直接点对点连接,这里使用的是后
者。如果你上载了脱机文件,访问者将得知你不在网上。 

  2. IP chat:点对点IP聊天(图4),类似IRC,但是不需要任何IRC服
务器,因为双方已经知道IP地址。注意要在Setup--pchat中打开Active。
工具栏中有用于呼叫、扫描、睡眠/唤醒的各项功能按钮。 

  3. WEBchat:Web聊天,你的主页访问者可以利用浏览器直接与你对话
(图5),即使对方没有安装DynamIP,前提是你在主页中安装了如图2的页
面,该页面将被DynamIP动态更新。 

  用户可以决定上载联机文件或者脱机文件,以便及时通知访问者自己
是否联网。 

  4. 动态IP的个人Web服务器:若已经在本地主机安装了个人Web服务器
,可以利用DIPS服务,将访问者转移到你的本地主机。这需要申请一个免
费账户。网址是: 

  http://postmodem.com/dips-admin/。 

  七、总结与提示 

  DynamIP可以捕获和发布用户的当前动态IP地址,从而使点对点的IP连
接成为可能,这些是网络传呼软件无法做到的。另外,对于每一种基本功
能,如果能够巧妙地结合其他方法,往往能实现更复杂的应用。例如,你
是否想过在运行TCP/IP的局域网上使用DynamIP的强大功能呢? 

  同时应该注意到,DynamIP更像是为高级网络用户准备的发烧级工具。
在网上公布自己的动态IP地址固然有利于沟通,但同时也带来了相当大的
风险,因为黑客用以搜索和攻击目标的坐标就是IP地址,许多流行黑客工
具甚至只需要一个输入参数—你的IP地址。因此,最好不要在存放重要资
料的计算机上进行这些高级网络应用试验。 

========== * * * * * ==========
返回