动态IP地址的捕获及其应用
必看 阅前提示:
本教程仅供参考,讨论与学习,禁止违法行为,否则一切责任与我们无关!
一、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申请的网络ID和主机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连接的软件很多,例如微软的网络电话软件NetMeeting,唯一的前提就是双方必须在联网时相互获得对方的动态IP地址,或者更简单地,只要知道被呼叫方的IP地址即可,这类似于知道被叫方的电话号码即可建立电话联系。于是关键问题就是捕捉和交换各自的动态IP地址,或者捕捉和发布自己的动态IP地址以等待呼叫进而建立连接。
三、动态IP地址的捕捉与发布
1. 动态IP地址的捕捉
有许多方法和工具来实现动态IP地址的捕捉,Windows 95/98提供了一个IP 配置 (WINIPCFG) 实用程序,使用方法是单击“开始-运行”,在“打开”框中键入:winipcfg,出现程序窗口后,可以单击“详细信息”进行查看。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的设置,其他各项功能的设置类似。运行DynamIP,选择setup-uplo