Windows+网络编程技术(十八)Windows_网络编程技术(十.pdf
《Windows+网络编程技术(十八)Windows_网络编程技术(十.pdf》由会员分享,可在线阅读,更多相关《Windows+网络编程技术(十八)Windows_网络编程技术(十.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、下载附录B IP助手函数本附录介绍一些新的A P I函数,有了这些函数,便可在自己的计算机上对 I P协议统计情况进行查询和管理。它们有助于获得下面的能力:I p c o n f i g.e x e(或适用于微软Windows 95的Wi n i p c f g.e x e):显示I P配置信息,允许释放和更新D H C P分配的I P地址。N e t s t a t.e x e:显示T C P连接表、U D P监听者表以及I P协议统计情况。R o u t e.e x e:显示并处理网络路由表。A r p.e x e:显示并修改供“地址解析协议”(A R P)使用的I P到物理地址翻译表。本
2、附录介绍的这些函数主要用于 Windows 98和Windows 2000操作系统。有几个还可以用于Windows NT SP4及以后的S P(服务包)版本,但所有这些函数都不能用于 Windows 95。接下来的讨论中,我们将一一指出各个函数适用于哪些平台。本附录中的所有函数原型均定义在I p h l p a p i,h文件中。在建立你自己的应用程序时,必须把它链接到这个库文件 I p h l p a p i.l i b。B.1 IPCONFIGI p c o n f i g.e x e程序展示了两条信息:I P配置信息和I P配置参数,参数是由安装在机器上的网络适配器所决定的。要获得I P
3、配置信息,利用G e t N e t w o r k P a r a m s函数即可。它的定义如下:p F i x e d I n f o参数取得一个缓冲区指针,该缓冲区接收 F I X E D _ I N F O数据结构,你的应用程序必须提供这个结构,以便获得 I P配置信息。p O u t B u f L e n参数是一个变量指针,指定投入p F i x e d I n f o参数中的那个缓冲区的长度。如果你提供的缓冲区不够大,G e t N e t w o r k P a r a m s就会返回 E R R O R _ B U F F E R _ O V E R F L O W,并将 p
4、 O u t B u f L e n参数设为正确的缓冲区长度。G e t N e t w o r k P a r a m s中所用的F I X E D _ I N F O结构的格式如下:它的各个字段定义如下:H o s t N a m e:代表你的计算机名,这个名字由 D N S进行识别。D o m a i n N a m e:说明你的计算机属于哪个D N S域。C u r r e n t D n s S e r v e r:包含当前D N S服务器的I P地址。D n s S e r v e r L i s t:是一个链接列表,其中包含你的机器所采用的 D N S服务器。N o d e Ty
5、 p e:说明I P网络上的系统是如何解析N e t B I O S名的。表B-1包含了该字段可能的值S c o p e I d:识别一个字串值。这个值加在 N e t B I O S名中,通过逻辑方式把两个或两个以上的计算机组在一起,在T C P/I P网络中进行通信。E n a b l e R o u t i n g:说明系统是否会在它连接的网络中,路由 I P包。E n a b l e P r o x y:说明系统是否充当网络上的 W I N S代理。W I N S代理通过W I N S,响应它已解析过的名字查询,并允许由 b节点计算机组成的网络与其他已经用 W I N S注册的子网上的
6、服务器建立连接。E n a b l e D n s:说明N e t B I O S是否向D N S查询W I N S不能解析的名字、广播或 L M H O S T文件。表B-1 节点类型可能的值值说明B R O A D C A S T _ N O D E T Y P E:即b节点N e t B I O S名字解析法,采用了这种解析方法,系统便利用I P广播来执行N e t B I O S名字注册和名字解析P E E R _ TO _ P E E R _ N O D E T Y P E:即p节点名字解析,采用了这种解析方法,系统便利用点到点通信与一个N e t B I O S名字服务器(比如W
7、I N S)通信,进而对I P地址进行注册和计算机名的解析M I X E D _ N O D E T Y P E:即m节点(m i x e d节点)N e t B I O S名字解析法,采用了这种解析法,系统便同时采用前面的b节点和p节点方法。先用b节点方法;如果失败,再用p节点方法H Y B R I D _ N O D E T Y P E:即h 节点(h y b r i d 节点)N e t B I O S名字解析法,采用了这种解析法,系统便同时采用前面所讲的b 节点和p 节点。先用p 节点;如果失败,再用b 节点F I X E D _ I N F O结构的D n s S e r v e r
8、 L i s t字段是一个I P _ A D D R _ S T R I N G结构,代表I P地址链接列表的起始处。它的格式如下:N e x t字段标识列表中的下一个D N S服务器之I P地址。如果把它设为N U L L,就表明列表中的最后一个地址。I p A d d r e s s字段是一个字符串,以点式十进制字串表示 I p地址。I P M a s k字段也是一个字符串,表示子网掩码,这个掩码与 I p A d d r e s s中列出的I P地址关联在一起。最后一个字段是C o n t e x t,用一个独一无二的值来标识系统上的 I P地址。另外,利用I p C o n f i g
9、.e x e程序,也可获得网络接口专有的 I P配置信息。网络接口不仅可以是一个硬件以太网适配器,甚至还可以是一个 R A S拨号适配器。调用 G e t A d a p t e r s I n f o命令,便可获得适配器信息。该函数的定义如下:附录B计IP助手函数计计465下载通过p A d a p t e r I n f o参数,把一个指针投递给应用程序提供的缓冲区,这个缓冲区取得一个A D A P T E R _ I N F O数据结构,该结构中含有这个适配器的配置信息。p O u t B u f I n f o参数是一个变量指针,这个变量指定投入 p A d a p t e r I n
10、 f o参数中的缓冲区的长度。如果你提供的缓冲区不够大,G e t A d a p t e r s I n f o就会返回E R R O R _ B U F F E R _ O V E R F L O W,并把p O u t B u f L e n参数设为所需要的缓冲区长度。事实上,I P _ A D A P T E R _ I N F O结构是一个结构列表,你的机器上所有可用的网络适配器的I P配置信息都在这个列表中。I P _ A D A P T E R _ I N F O的格式如下:各字段定义如下:N e x t:缓冲区内的下一个适配器。N U L L值表明列表中的最后一个适配器。C o
11、 m b o I n d e x:未用,将设为0。A d a p t e r N a m e:适配器名。D e s c r i p t i o n:是一个关于适配器的简单说明。A d d r e s s L e n g t h:A d d r e s s字段中的那个适配器的物理地址由多少个字节组成。A d d r e s s:该适配器的物理地址。I n d e x:该适配器分配的唯一的网络接口内部索引编号。Ty p e:将适配器类型指定为一个数字化的值。表 B-2定义了已获支持的适配器类型。D h c p E n a b l e d:说明这个适配器上是否启用D H C P。C u r r e
12、n t I p A d d r e s s:未用,但将设为N U L L(空)值。I p A d d r e s s L i s t:指定为这个适配器分配的I P地址列表。G a t e w a y L i s t:指定代表默认网关的I P地址列表。D h c p S e r v e r:指定一个列表,表中只有一个元素,代表 D H C P服务器S所用的I P地址。H a v e Wi n s:说明该适配器是否使用W I N S服务器。466计计第四部分附附录下载P r i m a r y Wi n s S e r v e r:指定一个列表,表中只有一个元素,代表主 W I N S服务器所用的
13、I P地址。S e c o n d a r y Wi n s S e r v e r:指定一个列表,表中只有一个元素,代表辅助 W I N S服务器所用的I P地址。L e a s e O b t a i n e d:标识何时开始租用D H C P服务器提供的I P地址。L e a s e E x p i r e s:标识D H C P服务器提供的I P地址何时期满。表B-2 适配器类型适配器类型的值说明M I B _ I F _ T Y P E _ E T H E R N E T以太网适配器M I B _ I F _ T Y P E _ F D D IF D D I(光纤分布数据接口)适配器
14、M I B _ I F _ T Y P E _ L O O P B A C KL o o p b a c k适配器M I B _ I F _ T Y P E _ O T H E R其他类型的适配器M I B _ I F _ T Y P E _ P P PP P P(点到点协议)适配器M I B _ I F _ T Y P E _ S L I PS l i p适配器M I B _ I F _ T Y P E _ TO K E N R I N G令牌环适配器B.1.1 释放和更新IP地址I p c o n f i g.e x e程序的另一个特色是:能够释放和更新从 D C H P服务器处获得的I
15、P地址。这是通过指定/r e l e a s e和/r e n e w命令行参数来完成的。如果想通过编程释放I P地址,则可调用I P R e l e a s e A d d r e s s函数,该函数定义如下:如果打算更新I P地址,则调用I P R e n e w A d d r e s s函数,它的定义如下:这两个函数均突出了A d a p t e r I n f o参数是一个I P _ A D A P T E R _ I N D E X _ M A P结构,该结构识别即将对其地址进行释放和更新的适配器。I P _ A D A P T E R _ I N D E X _ M A P结构的
16、格式如下:它的各个字段是这样定义的:I n d e x:标识为适配器分配的内部网络接口索引。N a m e:标识适配器名。调用G e t I n t e r f a c e I n f o函数,便可获得某一特定适配器的I P _ A D A P T E R _ I N D E X _ M A P结构。该函数的定义如下:附录B计IP助手函数计计467下载p I f Ta b l e参数是一个指针,指向一个 I P _ I N T E R FA C E _ I N F O应用程序缓冲区,该缓冲区将接收接口信息。d w O u t B u f L e n参数是一个变量指针,这个变量指定投入 p I
17、f Ta b l e参数中的缓冲区的长度。如果这个缓冲区内容纳不下这个接口信息,G e t I n t e r f a c e I n f o便返回 E R R O R _I N S U F F I C I E N T _ B U F F E R错误,并把d w O u t B u f L e n参数设为合适的缓冲区长度。I P _ I N T E R FA C E _ I N F O结构的格式如下;它的各个字段是这样定义的:N u m A d a p t e r s:A d a p t e r字段中的适配器编号。A d a p t e r:是一个I P _ A D A P T E R _ I
18、 N D E X _ M A P结构(见前面的定义)的数组。一旦获得了特定适配器的I P _ A D A P T E R _ I N D E X _ M A P结构,便可利用前面的I P R e l e a s e A d d r e s s和I P R e n e w A d d r e s s这两个函数,释放或更新D H C P分配的I P地址了。B.1.2 改变IP地址I p c o n f i g.e x e程序不允许改变网络适配器的 I P地址(D H C P分配的除外)。但是,有两个函数允许你增添或删除特定适配器的 I P地址,它们是:A d d I p A d d r e s s
19、和DeleteIpAddress IP助手函数。使用这两个函数时,需要知道网络适配器的索引编号和 I P场景编号。Wi n d o w s中,每个网络适配器都有一个独一无二的索引 I D(前面已讲过),而且,每个I P地址都有一个独一无二的场景I D。适配器索引I D和I P场景编号都可通过 G e t A d a p t e r s I n f o获得。A d d I p A d d r e s s函数的定义如下:A d d r e s s参数把准备增添的I P地址指定为一个无符号的长整数值。I p M a s k参数把I P地址的子网掩码指定为一个无符号的长整数值。I f I n d e
20、x参数指定准备增添地址的适配器索引。N T E C o n t e x t参数取得与所增添的I P地址关联的场景值。N T E I n s t a n c e参数取得与一个I P地址关联的实例值。如果想通过编程删除适配器的I P地址,调用D e l e t e I p A d d r e s s函数即可。它的定义如下:N T E C o n t e x t参数是与I P地址关联的值,这个值可从 G e t A d a p t e r s I n f o(前面已介绍)中得到。B.2 NETSTATN e t s t a t.e x e程序显示了你的计算机上的 T C P连接表、U D P监听者表
21、以及I P协议统计。用于468计计第四部分附附录下载获得这一信息的函数不仅可用于Windows 98和Windows 2000,而且可用于Windows NT 4 SP4(以及稍后的版本)。B.2.1 取得TCP连接表利用G e t Tc p Ta b l e函数,可获得 T C P连接表。获得的信息和你在执行带上-p tcp-a选项的N e t s t a t.e x e程序时看到的信息一样。G e t Tc p Ta b l e函数的定义如下:p Tc p Ta b l e参数是一个指针,指向一个M I B _ T C P TA B L E应用程序缓冲区,该缓冲区内接收T C P连接信息。
22、p d w s i z e参数是一个变量指针,这个变量指定投入 p Tc p Ta b l e参数中的缓冲区长度。如果你提供的缓冲区容纳不下这个 T C P信息,函数就会把这个参数设为合适的缓冲区长度。b O r d e r参数指定是否对返回信息进行分类。G e t Tc p Ta b l e函数返回的M I B _ T C P TA B L E结构的格式如下:它的各个字段定义如下:d w N u m E n t r i e s:说明t a b l e字段中有多少条目。t a b l e:是一个M I B _ T C P R O W结构数组,其中包含T C P连接信息。M I B _ T C
23、P R O W结构中包含构成一个T C P连接的I P地址对。它的格式如下:它的各个字段是这样定义的;d w S t a t e:指定T C P连接的状态,参见表B-3中的说明。表B-3 TCP连接的状态连接状态R F C说明M I B _ T C P _ S TAT E _ C L O S E D“关闭”状态M I B _ T C P _ S TAT E _ C L O S I N G“正在关闭”状态M I B _ T C P _ S TAT E _ C L O S E _ WA I T“关闭等待”状态M I B _ T C P _ S TAT E _ D E L E T E _ T C B
24、“删除”状态M I B _ T C P _ S TAT E _ E S TA B“已建立”状态M I B _ T C P _ S TAT E _ F I N _ WA I T 1“FIN WA I T 1”状态M I B _ T C P _ S TAT E _ F I N _ WA I T 2“FIN WA I T 2”状态附录B计IP助手函数计计469下载(续)连接状态R F C说明M I B _ T C P _ S T A T E _ L A S T _ A C K“最后一次确认”状态M I B _ T C P _ S T A T E _ L I S T E N“正在监听”状态M I B
25、_ T C P _ S T A T E _ S Y N _ R C V D“同步接收”状态M I B _ T C P _ S T A T E _ S Y N _ S E N T“同步发送”状态M I B _ T C P _ S T A T E _ T I M E _ W A I T“时间等待”状态d w L o c a l A d d r:为连接指定一个本地I P地址。d w L o c a l P o r t:为连接指定一个本地端口。d w R e m o t e A d d r:为连接指定远程I P地址。d w R e m o t e P o r t:为连接指定远程端口。B.2.2 取得U
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 网络 编程 技术 十八 Windows_
限制150内