<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>ibmsoa的博客</title>
<link>http://blogger.org.cn/blog/blog.asp?name=ibmsoa</link>
<description>ibmsoa的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[大腕台词改编--写文档版]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=16186</link>
<author>ibmsoa</author>
<pubDate>2006/7/2 13:27:50</pubDate>
<description><![CDATA[<P>转载水木清华（超搞笑）</P>
<P>牛人de文档设计<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一定得选最前沿的文档设计，起最酷的文档题目，写就得写最高档次的文档。直接英文写作，完成了直接发表，什么SCI啊，EI啊，IEEE啊，能发布的全给他发布。设计里有大类图，实现里全代码，核心部分是阿基米德算法，特超前，谁也不懂的那种，不管谁问都得说：It's High Performance Computation，一口标准的东北音，倍儿有面子。整个类图就几百万个类，上千万个关系，画个顺序图就要十几个小时。再整一并行计算，专门处理海量数据，就是一个字：快！一秒钟就处理百万数据。使用的数据库不是Oracle，就是DB2，你要是用个Access，你都不好意思跟人家打招呼。你说，这样的论文，得写多少页？我觉得怎么着，也得50多页吧？50多页？那是目录，800页起。你还别嫌多，这还不包括参考文献。你得研究答辩老师的心理，愿意花时间看400页论文的老师，根本不在乎再多看400页。什么叫优秀论文，你知道么？优秀论文就是不管写什么内容，都是写最长的，不写最好的。所以我们写文档的口号就是“不求最好，但求最长”</P>]]></description>
</item><item>
<title><![CDATA[SOA--跟时间赛跑~]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=16028</link>
<author>ibmsoa</author>
<pubDate>2006/6/29 21:59:03</pubDate>
<description><![CDATA[今天晚上大家开会谈了下，我发现我们写的东西已经可以了，现在的目标听取老师的意见再来修改，第一阶段快要走完了，虽然时间有点拖后了。明天争取在修改。。。。&nbsp;&nbsp; good&nbsp; night my parters~]]></description>
</item><item>
<title><![CDATA[SOA Third discussion]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=15655</link>
<author>ibmsoa</author>
<pubDate>2006/6/19 15:44:25</pubDate>
<description><![CDATA[由于学校ibm中心的原因，没办法了，必须要去参加ibmsoa比赛，我们小组昨天晚上讨论了1个半小时，然后又睡不着，水吧里看了一场世界杯，感觉Brazil 和 Australia 都是机会的浪费者，特别是Australia。今早9点起来，受不了，一天没睡6个小时。本来soa中就高手如云，其实我们也没有想拿champion，过去我觉的有价值的是和一些同行讨论了下现在进展的事，我也说了关于现在SOA的事。下午回来后又睡觉，反正一天没做好，进度落后。我顺路到别的队伍的blog学习了一下，呵呵~&nbsp; 看来OOAD, BMP,SOAD需要恶补一下了，感受颇多！<BR><BR>周五又要考试了，这个时间真的让人难受。]]></description>
</item><item>
<title><![CDATA[6个学分]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=15177</link>
<author>ibmsoa</author>
<pubDate>2006/6/6 21:39:38</pubDate>
<description><![CDATA[<P>周末，给倩倩姐姐接风。</P>
<P>发祥她们的课真是少，一学期学校只让选3门课，老板最多让她选2门。美国一门课3个学分，一年就选6个学分，而且还是完全学分制。那个才是读研究生嘛。看看我们一学期就7、8门课，我们还能干什么？</P>]]></description>
</item><item>
<title><![CDATA[图论]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=15176</link>
<author>ibmsoa</author>
<pubDate>2006/6/6 21:37:19</pubDate>
<description><![CDATA[<P><IMG src="http://blogger.org.cn/blog/images/emot/face14.gif">据说下周就要考图论了，这周还没有结课。</P>
<P>看来周末要加班了。</P>
<P>预祝柯灵、老郭和我，顺利过关。</P>]]></description>
</item><item>
<title><![CDATA[好的开始]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=15175</link>
<author>ibmsoa</author>
<pubDate>2006/6/6 21:34:29</pubDate>
<description><![CDATA[<P>刚刚讨论完，成果很丰富。</P>
<P>现在对SOA的流程已经很熟悉了，经过小组讨论，发现了现有流程中的缺陷。</P>
<P>提出了两个修改和完善的地方，提出了两个扩展方向。</P>
<P>我们的SOA之路走上了正规。</P>]]></description>
</item><item>
<title><![CDATA[有感]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=15136</link>
<author>ibmsoa</author>
<pubDate>2006/6/5 17:02:09</pubDate>
<description><![CDATA[<P>又详细看了下凤凰公司的需求，感觉就是：业务　重用　整合．</P>]]></description>
</item><item>
<title><![CDATA[推荐学习]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=14968</link>
<author>ibmsoa</author>
<pubDate>2006/6/2 15:58:07</pubDate>
<description><![CDATA[<P>这篇文章写的也不错..</P>
<P><A href="http://blog.joycode.com/mvm/archive/2004/03/12/15827.aspx">http://blog.joycode.com/mvm/archive/2004/03/12/15827.aspx</A></P>]]></description>
</item><item>
<title><![CDATA[第二次讨论]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=14954</link>
<author>ibmsoa</author>
<pubDate>2006/6/2 10:25:52</pubDate>
<description><![CDATA[<P>老郭，明天早上10点，讨论哈。</P>
<P>&nbsp; 预祝下午的考试顺利通过。（虽然我没有选网络对抗）</P>]]></description>
</item><item>
<title><![CDATA[SOA的起步]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=14946</link>
<author>ibmsoa</author>
<pubDate>2006/6/1 21:57:56</pubDate>
<description><![CDATA[<P>今天晚上看了梁博士的讲座，发现ERP和CRM太陌生了，需要熟悉企业管理的同学辅导一下。</P>
<P>Baidu上搜索了一下SOA，发现了一篇不错的介绍，大有收获。</P>
<P><A href="http://blogger.org.cn/blog/blog.asp?name=ibmsoa">http://blogger.org.cn/blog/blog.asp?name=ibmsoa</A></P>]]></description>
</item><item>
<title><![CDATA[面向模式的体系结构]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=14919</link>
<author>ibmsoa</author>
<pubDate>2006/6/1 12:40:22</pubDate>
<description><![CDATA[昨天借了一本《面向模式的软件体系结构》，和SOA就差了两个字，不知道是不是很相视。<IMG src="http://blogger.org.cn/blog/images/emot/face1.gif">]]></description>
</item><item>
<title><![CDATA[加油，第五小组的同学]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=14776</link>
<author>ibmsoa</author>
<pubDate>2006/5/27 14:00:07</pubDate>
<description><![CDATA[<P>ＳＯＡ第一阶段的竞赛应该是主要理解ＥＲＰ和ＣＲＭ，提出一个有创意的整合方案，实现商业价值的最大化，同时理解ＳＯＡ的基本思想，希望大家相互协作，在６月２０日前提出一个方案．</P>
<P>　　　　　　　　　　　　　　　　　　　　　　　　　　　　李老师</P>]]></description>
</item><item>
<title><![CDATA[ibmsoa 竞赛小组项目启动]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=14657</link>
<author>ibmsoa</author>
<pubDate>2006/5/23 15:54:38</pubDate>
<description><![CDATA[<A name=_Toc131335782><SPAN lang=EN-US style="mso-fareast-font-family: Arial; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN"><SPAN style="mso-list: Ignore"><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;</SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">大赛的宗旨：</SPAN></A><SPAN style="mso-bookmark: _Toc131335782"></SPAN><SPAN lang=EN-US style="mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo2; tab-stops: list 21.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><SPAN style="mso-list: Ignore">&Oslash;<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.0pt">进一步普及</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><FONT face=Arial>SOA</FONT></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.0pt">理念：</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt 42pt; TEXT-INDENT: -21pt; mso-list: l1 level2 lfo2; tab-stops: list 42.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><SPAN style="mso-list: Ignore">n<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><FONT face=Arial>IT</FONT></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.0pt">与业务相整合，实现业务灵活性</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt 42pt; TEXT-INDENT: -21pt; mso-list: l1 level2 lfo2; tab-stops: list 42.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><SPAN style="mso-list: Ignore">n<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.0pt">服务模块化</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt 42pt; TEXT-INDENT: -21pt; mso-list: l1 level2 lfo2; tab-stops: list 42.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><SPAN style="mso-list: Ignore">n<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.0pt">通过标准接口，重用</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><FONT face=Arial>IT</FONT></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.0pt">现有资产</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo2; tab-stops: list 21.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><SPAN style="mso-list: Ignore">&Oslash;<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.0pt">通过实际的应用整合与开发，证明</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><FONT face=Arial>SOA</FONT></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.0pt">的可实施性与分布开发性</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo2; tab-stops: list 21.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.0pt"></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo2; tab-stops: list 21.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-size: 10.0pt"></SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; mso-bidi-font-family: Arial; mso-fareast-language: ZH-CN; mso-bidi-font-size: 10.0pt"><o:p></o:p></SPAN>&nbsp;</P>]]></description>
</item><item>
<title><![CDATA[字符串递归程序]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=14639</link>
<author>ibmsoa</author>
<pubDate>2006/5/22 15:59:12</pubDate>
<description><![CDATA[<P>我写了一个C++版的程序~&nbsp; </P>
<P>#include&nbsp;&nbsp; &lt;iostream&gt;<BR>#include&nbsp;&nbsp; &lt;cstring&gt;<BR>#include&nbsp;&nbsp; &lt;cstdlib&gt;<BR>using namespace std;<BR>static const int maxsize=100;<BR>void&nbsp;&nbsp; reverse(char&nbsp;&nbsp;&nbsp;&nbsp; *s)<BR>{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp;&nbsp; len&nbsp;&nbsp; =&nbsp;&nbsp; strlen(s);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static&nbsp;&nbsp; char&nbsp;&nbsp; *&nbsp;&nbsp; begin&nbsp;&nbsp; =&nbsp;&nbsp; s;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; static&nbsp;&nbsp; char&nbsp;&nbsp; *&nbsp;&nbsp; end&nbsp;&nbsp; =&nbsp;&nbsp; s&nbsp;&nbsp; +&nbsp;&nbsp; len-1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(begin&nbsp;&nbsp; &lt;&nbsp;&nbsp; end)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char&nbsp;&nbsp; a&nbsp;&nbsp; =&nbsp;&nbsp; *begin;//首个字符存在变量a中；&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *begin++&nbsp;&nbsp; =&nbsp;&nbsp; *end;//首个字符变成了*end指向的末尾变量，begin++；&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *end&nbsp;&nbsp; --&nbsp;&nbsp; =&nbsp;&nbsp; a; //末尾得知变成了a,end--;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reverse(s);//继续倒&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>}</P>
<P>&nbsp; void main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char&nbsp; str[maxsize];<BR>&nbsp;&nbsp;cout&lt;&lt;"please input the name "&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cin.get(str,maxsize);cin.ignore(2000,'\n');//防止内存溢出<BR>&nbsp;&nbsp;reverse(str);<BR>&nbsp;&nbsp;cout&lt;&lt;str&lt;&lt;endl;<BR>&nbsp; }<BR>程序运行实现， 计划怎样修改后再Linux 下运行， Thinking.......</P>]]></description>
</item><item>
<title><![CDATA[sniffer]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=14635</link>
<author>ibmsoa</author>
<pubDate>2006/5/22 15:04:41</pubDate>
<description><![CDATA[<A href="http://reed/lib/booksearch.aspx">　</A>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: 宋体"><SPAN style="mso-list: Ignore">一.</SPAN></SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">有关<SPAN lang=EN-US>sniffer</SPAN>及<SPAN lang=EN-US>sniffer</SPAN>的含义<SPAN lang=EN-US> <BR></SPAN></SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Tahoma; mso-ascii-font-family: 宋体">&nbsp;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma"> </SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Tahoma; mso-ascii-font-family: 宋体">&nbsp;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">sniffers(</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">嗅探器<SPAN lang=EN-US>)</SPAN>几乎和<SPAN lang=EN-US>internet</SPAN>有一样久的历史了<SPAN lang=EN-US>.Sniffer</SPAN>是一种常用的收集有用数据方法，这些数据可以是用户的帐号和密码，可以是一些商用机密数据等等。随着<SPAN lang=EN-US>Internet</SPAN>及电子商务的日益普及<SPAN lang=EN-US>,Internet</SPAN>的安全也越来越受到重视。在<SPAN lang=EN-US>Internet</SPAN>安全隐患中扮演重要角色之一的<SPAN lang=EN-US>Sniffer</SPAN>以受到越来越大的关注，所以今天我要向大家介绍一下介绍<SPAN lang=EN-US>Sniffer</SPAN>以及如何阻止<SPAN lang=EN-US>sniffer</SPAN>。　　<SPAN lang=EN-US> <BR></SPAN></SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Tahoma; mso-ascii-font-family: 宋体">&nbsp;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma"> </SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Tahoma; mso-ascii-font-family: 宋体">&nbsp;</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">大多数的黑客仅仅为了探测内部网上的主机并取得控制权，只有那些<SPAN lang=EN-US>"</SPAN>雄心勃勃<SPAN lang=EN-US>"</SPAN>的黑客，为了控制整个网络才会安装特洛伊木马和后门程序，并清除记录。他们经常使用的手法是安装<SPAN lang=EN-US>sniffer</SPAN>。<SPAN lang=EN-US> <BR></SPAN>　　在内部网上，黑客要想迅速获得大量的账号（包括用户名和密码），最为有效的手段是使用<SPAN lang=EN-US> "sniffer" </SPAN>程序。这种方法要求运行<SPAN lang=EN-US>Sniffer </SPAN>程序的主机和被监听的主机必须在同一个以太网段上，故而在外部主机上运行<SPAN lang=EN-US>sniffer</SPAN>是没有效果的。再者，必须以<SPAN lang=EN-US>root</SPAN>的身份使用<SPAN lang=EN-US>sniffer </SPAN>程序，才能够监听到以太网段上的数据流。谈到以太网<SPAN lang=EN-US>sniffer</SPAN>，就必须谈到以太网<SPAN lang=EN-US>sniffing</SPAN>。<SPAN lang=EN-US> <BR></SPAN>那么什么是以太网<SPAN lang=EN-US>sniffer</SPAN>呢<SPAN lang=EN-US>?</SPAN>　　<SPAN lang=EN-US> <BR></SPAN>以太网<SPAN lang=EN-US>sniffing</SPAN>是指对以太网设备上传送的数据包进行侦听，发<SPAN lang=EN-US> <BR></SPAN>现感兴趣的包。如果发现符合条件的包，就把它存到一个<SPAN lang=EN-US>log</SPAN>文件中<SPAN lang=EN-US> <BR></SPAN>去。通常设置的这些条件是包含字<SPAN lang=EN-US>"username"</SPAN>或<SPAN lang=EN-US>"password"</SPAN>的包。<SPAN lang=EN-US> <BR></SPAN>　　它的目的是将网络层放到<SPAN lang=EN-US>promiscuous</SPAN>模式，从而能干些事情。<SPAN lang=EN-US> <BR>Promiscuous</SPAN>模式是指网络上的所有设备都对总线上传送的数据进行<SPAN lang=EN-US> <BR></SPAN>侦听，并不仅仅是它们自己的数据。根据第二章中有关对以太网的工<SPAN lang=EN-US> <BR></SPAN>作原理的基本介绍，可以知道：一个设备要向某一目标发送数据时，<SPAN lang=EN-US> <BR></SPAN>它是对以太网进行广播的。一个连到以太网总线上的设备在任何时间<SPAN lang=EN-US> <BR></SPAN>里都在接受数据。不过只是将属于自己的数据传给该计算机上的应用<SPAN lang=EN-US> <BR></SPAN>程序。<SPAN lang=EN-US> <BR></SPAN>　　利用这一点，可以将一台计算机的网络连接设置为接受所有以太<SPAN lang=EN-US> <BR></SPAN>网总线上的数据，从而实现<SPAN lang=EN-US>sniffer</SPAN>。<SPAN lang=EN-US> <BR></SPAN>　　<SPAN lang=EN-US>sniffer</SPAN>通常运行在路由器，或有路由器功能的主机上。这样就能对大量的数据进行监控。<SPAN lang=EN-US>sniffer</SPAN>属第二层次的攻击。通常是攻击者已经进入了目标系统，然后使用<SPAN lang=EN-US>sniffer</SPAN>这种攻击手段，以便得到更多的信息。<SPAN lang=EN-US> <BR></SPAN>　　<SPAN lang=EN-US>sniffer</SPAN>除了能得到口令或用户名外，还能得到更多的其他信息，比如一个其他重要的信息，在网上传送的金融信息等等。<SPAN lang=EN-US>sniffer</SPAN>几乎能得到任何以太网上的传送的数据包。黑客会使用各种方法，获得系统的控制权并留下再次侵入的后门，以保证<SPAN lang=EN-US>sniffer</SPAN>能够执行。在<SPAN lang=EN-US>Solaris 2.x</SPAN>平台上，<SPAN lang=EN-US>sniffer </SPAN>程序通常被安装在<SPAN lang=EN-US>/usr/bin </SPAN>或<SPAN lang=EN-US>/dev</SPAN>目录下。黑客还会巧妙的修改时间，使得<SPAN lang=EN-US>sniffer</SPAN>程序看上去是和其它系统程序同时安装的。<SPAN lang=EN-US> <BR></SPAN>大多数以太网<SPAN lang=EN-US>sniffer</SPAN>程序在后台运行，将结果输出到某个记录文件中。黑客常常会修改<SPAN lang=EN-US>ps</SPAN>程序，使得系统管理员很难发现运行的<SPAN lang=EN-US>sniffer</SPAN>程序。<SPAN lang=EN-US> <BR></SPAN>　　以太网<SPAN lang=EN-US>sniffer</SPAN>程序将系统的网络接口设定为混合模式。这样，它就可以监听到所有流经同一以太网网段的数据包，不管它的接受者或发送者是不是运行<SPAN lang=EN-US>sniffer</SPAN>的主机。 程序将用户名、密码和其它黑客感兴趣的数据存入<SPAN lang=EN-US>log</SPAN>文件。黑客会等待一段时间<SPAN lang=EN-US> ----- </SPAN>比如一周后，再回到这里下载记录文件。<SPAN lang=EN-US> <BR></SPAN>讲了这么多，那么到底我们可以用什么通俗的话来介绍<SPAN lang=EN-US>sniffer</SPAN>呢？<SPAN lang=EN-US> <BR></SPAN>计算机网络与电话电路不同，计算机网络是共享通讯通道的。共享意味着计算机能够接收到发送给其它计算机的信息。捕获在网络中传输的数据信息就称为<SPAN lang=EN-US>sniffing</SPAN>（窃听）。<SPAN lang=EN-US> <BR></SPAN>　　以太网是现在应用最广泛的计算机连网方式。以太网协议是在同一回路向所有主机发送数据包信息。数据包头包含有目标主机的正确地址。一般情况下只有具有该地址的主机会接受这个数据包。如果一台主机能够接收所有数据包，而不理会数据包头内容，这种方式通常称为<SPAN lang=EN-US>"</SPAN>混杂<SPAN lang=EN-US>" </SPAN>模式。<SPAN lang=EN-US> <BR></SPAN>　　由于在一个普通的网络环境中，帐号和口令信息以明文方式在以太网中传输， 一旦入侵者获得其中一台主机的<SPAN lang=EN-US>root</SPAN>权限，并将其置于混杂模式以窃听网络数据，从而有可能入侵网络中的所有计算机。<SPAN lang=EN-US> <BR></SPAN>一句话，<SPAN lang=EN-US>sniffer</SPAN>就是一个用来窃听的黑客手段和工具。<SPAN lang=EN-US> <BR></SPAN>二、<SPAN lang=EN-US>sniffer</SPAN>的工作原理<SPAN lang=EN-US> <BR></SPAN>　　通常在同一个网段的所有网络接口都有访问在物理媒体上传输的所有数据的能力，而每个网络接口都还应该有一个硬件地址，该硬件地址不同于网络中存在的其他网络接口的硬件地址，同时，每个网络至少还要一个广播地址。（代表所有的接口地址），在正常情况下，一个合法的网络接口应该只响应这样的两种数据帧：<SPAN lang=EN-US> <BR></SPAN>　　<SPAN lang=EN-US>1</SPAN>、帧的目标区域具有和本地网络接口相匹配的硬件地址。<SPAN lang=EN-US> <BR></SPAN>　　<SPAN lang=EN-US>2</SPAN>、帧的目标区域具有<SPAN lang=EN-US>"</SPAN>广播地址<SPAN lang=EN-US>"</SPAN>。<SPAN lang=EN-US> <BR></SPAN>　　在接受到上面两种情况的数据包时，<SPAN lang=EN-US>nc</SPAN>通过<SPAN lang=EN-US>cpu</SPAN>产生一个硬件中断，该中断能引起操作系统注意，然后将帧中所包含的数据传送给系统进一步处理。<SPAN lang=EN-US> <BR></SPAN>　　而<SPAN lang=EN-US>sniffer</SPAN>就是一种能将本地<SPAN lang=EN-US>nc</SPAN>状态设成（<SPAN lang=EN-US>promiscuous</SPAN>）状态的软件，当<SPAN lang=EN-US>nc</SPAN>处于这种<SPAN lang=EN-US>"</SPAN>混杂<SPAN lang=EN-US>"</SPAN>方式时，该<SPAN lang=EN-US>nc</SPAN>具备<SPAN lang=EN-US>"</SPAN>广播地址<SPAN lang=EN-US>"</SPAN>，它对所有遭遇到的每一个帧都产生一个硬件中断以便提醒操作系统处理流经该物理媒体上的每一个报文包。（绝大多数的<SPAN lang=EN-US>nc</SPAN>具备置成<SPAN lang=EN-US> promiscuous</SPAN>方式的能力）<SPAN lang=EN-US> <BR></SPAN>　　可见，<SPAN lang=EN-US>sniffer</SPAN>工作在网络环境中的底层，它会拦截所有的正在网络上传送的数据，并且通过相应的软件处理，可以实时分析这些数据的内容，进而分析所处的网络状态和整体布局。值得注意的是：<SPAN lang=EN-US>sniffer</SPAN>是极其安静的，它是一种消极的安全攻击。<SPAN lang=EN-US> <BR></SPAN>　　通常<SPAN lang=EN-US>sniffer</SPAN>所要关心的内容可以分成这样几类：<SPAN lang=EN-US> <BR></SPAN>　　<SPAN lang=EN-US>1</SPAN>、口令<SPAN lang=EN-US> <BR></SPAN>　　我想这是绝大多数非法使用<SPAN lang=EN-US>sniffer</SPAN>的理由，<SPAN lang=EN-US>sniffer</SPAN>可以记录到明文传送的<SPAN lang=EN-US>userid</SPAN>和<SPAN lang=EN-US>passwd.</SPAN>就算你在网络传送过程中使用了加密的数据，<SPAN lang=EN-US>sniffer</SPAN>记录的数据一样有可能使入侵者在家里边吃肉串边想办法算出你的算法。<SPAN lang=EN-US> <BR></SPAN>　　<SPAN lang=EN-US>2</SPAN>、金融帐号<SPAN lang=EN-US> <BR></SPAN>　　许多用户很放心在网上使用自己的信用卡或现金帐号，然而<SPAN lang=EN-US>sniffer</SPAN>可以很轻松截获在网上传送的用户姓名、口令、信用卡号码、截止日期、帐号和<SPAN lang=EN-US>pin. <BR></SPAN>　　<SPAN lang=EN-US>3</SPAN>、偷窥机密或敏感的信息数据<SPAN lang=EN-US> <BR></SPAN>　　通过拦截数据包，入侵者可以很方便记录别人之间敏感的信息传送，或者干脆拦截整个的<SPAN lang=EN-US>email</SPAN>会话过程。<SPAN lang=EN-US> <BR></SPAN>　　<SPAN lang=EN-US>4</SPAN>、窥探低级的协议信息。<SPAN lang=EN-US> <BR></SPAN>　　这是很可怕的事，我认为，通过对底层的信息协议记录，比如记录两台主机之间的网络接口地址、远程网络接口<SPAN lang=EN-US>ip</SPAN>地址、<SPAN lang=EN-US>ip</SPAN>路由信息和<SPAN lang=EN-US>tcp</SPAN>连接的字节顺序号码等。这些信息由非法入侵的人掌握后将对网络安全构成极大的危害，通常有人用<SPAN lang=EN-US>sniffer</SPAN>收集这些信息只有一个原因：他正在进行一次欺诈，（通常的<SPAN lang=EN-US>ip</SPAN>地址欺诈就要求你准确插入<SPAN lang=EN-US>tcp</SPAN>连接的字节顺序号<SPAN lang=EN-US>,</SPAN>这将在以后整理的文章中指出）如果某人很关心这个问题，那么<SPAN lang=EN-US>sniffer</SPAN>对他来说只是前奏，今后的问题要大得多。（对于高级的<SPAN lang=EN-US>hacker</SPAN>而言，我想这是使用<SPAN lang=EN-US>sniffer</SPAN>的唯一理由吧）<SPAN lang=EN-US> <BR></SPAN>二<SPAN lang=EN-US>.sniffer</SPAN>的工作环境<SPAN lang=EN-US> <BR>snifffer</SPAN>就是能够捕获网络报文的设备。嗅探器的正当用处在于分析网络的流量<SPAN lang=EN-US>,</SPAN>以便找出所关心的网络中潜在的问题。例如<SPAN lang=EN-US>,</SPAN>假设网络的某一段运行得不是很好<SPAN lang=EN-US>,</SPAN>报文的发送比较慢<SPAN lang=EN-US>,</SPAN>而我们又不知道问题出在什么地方<SPAN lang=EN-US>,</SPAN>此时就可以用嗅探器来作出精确的问题判断。<SPAN lang=EN-US> <BR></SPAN>嗅探器在功能和设计方面有很多不同。有些只能分析一种协议，而另一些可能能够分析几百种协议。一般情况下，大多数的嗅探器至少能够分析下面的协议：<SPAN lang=EN-US> <BR>1.</SPAN>标准以太网<SPAN lang=EN-US> <BR>2.TCP/IP <BR>3.IPX <BR>4.DECNet <BR></SPAN>嗅探器通常是软硬件的结合。专用的嗅探器价格非常昂贵。另一方面，免费的嗅探器虽然不需要花什么钱，但得不到什么支持。<SPAN lang=EN-US> <BR></SPAN>嗅探器与一般的键盘捕获程序不同。键盘捕获程序捕获在终端上输入的键值，而嗅探器则捕获真实的网络报文。嗅探器通过将其置身于网络接口来达到这个目的</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Tahoma; mso-ascii-font-family: 宋体">——</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">例如将以太网卡设置成杂收模式。（为了理解杂收模式是怎么回事，先解释局域网是怎么工作的）。<SPAN lang=EN-US> <BR></SPAN>数据在网络上是以很小的称为帧<SPAN lang=EN-US>(Ftame)</SPAN>的单位传输的帧由好几部分组成，不同的部分执行不同的功能。（例如，以太网的前<SPAN lang=EN-US>12</SPAN>个字节存放的是源和目的的地址，这些位告诉网络：数据的来源和去处。以太网帧的其他部分存放实际的用户数据、<SPAN lang=EN-US>TCP/IP</SPAN>的报文头或<SPAN lang=EN-US>IPX</SPAN>报文头等等）。<SPAN lang=EN-US> <BR></SPAN>帧通过特定的称为网络驱动程序的软件进行成型，然后通过网卡发送到网线上。通过网线到达它们的目的机器，在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧，并告诉操作系统帧的到达，然后对其进行存储。就是在这个传输和接收的过程中，嗅探器会造成安全方面的问题。<SPAN lang=EN-US> <BR></SPAN>每一个在<SPAN lang=EN-US>LAN</SPAN>上的工作站都有其硬件地址。这些地址唯一地表示着网络上的机器（这一点于<SPAN lang=EN-US>Internet</SPAN>地址系统比较相似）。当用户发送一个报文时，这些报文就会发送到<SPAN lang=EN-US>LAN</SPAN>上所有可用的机器。<SPAN lang=EN-US> <BR></SPAN>在一般情况下，网络上所有的机器都可以</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Tahoma; mso-ascii-font-family: 宋体">“</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">听</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Tahoma; mso-ascii-font-family: 宋体">”</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">到通过的流量，但对不属于自己的报文则不予响应（换句话说，工作站<SPAN lang=EN-US>A</SPAN>不会捕获属于工作站<SPAN lang=EN-US>B</SPAN>的数据，而是简单的忽略这些数据）。<SPAN lang=EN-US> <BR></SPAN>如果某在工作站的网络接口处于杂收模式，那么它就可以捕获网络上所有的报文和帧，如果一个工作站被配置成这样的方式，它（包括其软件）就是一个嗅探器。<SPAN lang=EN-US> <BR></SPAN>嗅探器可能造成的危害：<SPAN lang=EN-US> <BR>1.</SPAN>嗅探器能够捕获口令<SPAN lang=EN-US> <BR>2.</SPAN>能够捕获专用的或者机密的信息<SPAN lang=EN-US> <BR>3.</SPAN>可以用来危害网络邻居的安全，或者用来获取更高级别的访问权限<SPAN lang=EN-US> <BR></SPAN>事实上，如果你在网络上存在非授权的嗅探器就以为着你的系统已经暴露在别人面前了。（大家可以试试天行<SPAN lang=EN-US>2</SPAN>的嗅探功能）<SPAN lang=EN-US> <BR></SPAN>一般我们只嗅探每个报文的前<SPAN lang=EN-US>200</SPAN>到<SPAN lang=EN-US>300</SPAN>个字节。用户名和口令都包含在这一部分中，这是我们关心的真正部分。工人，也可以嗅探给定接口上的所有报文，如果有足够的空间进行存储，有足够的那里进行处理的话，将会发现另一些非常有趣的东西</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Tahoma; mso-ascii-font-family: 宋体">……</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma"> <BR></SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">简单的放置一个嗅探器宾将其放到随便什么地方将不会起到什么作用。将嗅探器放置于被攻击机器或网络附近，这样将捕获到很多口令，还有一个比较好的方法就是放在网关上。如果这样的话就能捕获网络和其他网络进行身份鉴别的过程。这样的方式将成倍地增加我们能够攻击的范围。<SPAN lang=EN-US><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 12pt; LINE-HEIGHT: 140%; TEXT-ALIGN: center; mso-pagination: widow-orphan; mso-margin-top-alt: auto" align=center><B><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Ping</SPAN></B><B><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">命令的使用还有这么多要注意的</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 130%; TEXT-ALIGN: center; mso-pagination: widow-orphan" align=center><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 130%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
<HR align=center width="100%" color=black noShade SIZE=1>
</SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 130%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 130%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 130%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">网络工程师都会用到<SPAN lang=EN-US>Ping</SPAN>，它是检查路由问题的有效办法。但也常听工程师抱怨：不可能，怎么会不通呢？<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">　　这样的困惑一般发生在自认为路由设置正确的时候。举几个笔者遇到的问题，欢迎读者补充（可发邮件给我，或贴到《网络世界》论坛给大家借鉴）。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">　　最简单的三种情况：<SPAN lang=EN-US>1.</SPAN>太心急。即网线刚插到交换机上就想<SPAN lang=EN-US>Ping</SPAN>通网关，忽略了生成树的收敛时间。当然，较新的交换机都支持快速生成树，或者有的管理员干脆把用户端口（<SPAN lang=EN-US>access port</SPAN>）的生成树协议关掉，问题就解决了。<SPAN lang=EN-US>2.</SPAN>访问控制。不管中间跨越了多少跳，只要有节点（包括端节点）对<SPAN lang=EN-US>ICMP</SPAN>进行了过滤，<SPAN lang=EN-US>Ping</SPAN>不通是正常的。最常见的就是防火墙的行为。<SPAN lang=EN-US>3.</SPAN>某些路由器端口是不允许用户<SPAN lang=EN-US>Ping</SPAN>的。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">　　还遇到过这样的情形，更为隐蔽。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">　　<SPAN lang=EN-US>1.</SPAN>网络因设备间的时延太大，造成<SPAN lang=EN-US>ICMP echo</SPAN>报文无法在缺省时间（<SPAN lang=EN-US>2</SPAN>秒）内收到。时延的原因有若干，比如线路（卫星网时延上下星为<SPAN lang=EN-US>540</SPAN>毫秒），路由器处理时延，或路由设计不合理造成迂回路径。使用扩展<SPAN lang=EN-US>Ping</SPAN>，增加<SPAN lang=EN-US>timed out</SPAN>时间，可<SPAN lang=EN-US>Ping</SPAN>通的话就属路由时延太大问题。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">　　<SPAN lang=EN-US>2.</SPAN>引入<SPAN lang=EN-US>NAT</SPAN>的场合会造成单向<SPAN lang=EN-US>Ping</SPAN>通。<SPAN lang=EN-US>NAT</SPAN>可以起到隐蔽内部地址的作用，当由内<SPAN lang=EN-US>Ping</SPAN>外时，可以<SPAN lang=EN-US>Ping</SPAN>通是因为<SPAN lang=EN-US>NAT</SPAN>表的映射关系存在，当由外发起<SPAN lang=EN-US>Ping</SPAN>内网主机时，就无从查找边界路由器的<SPAN lang=EN-US>NAT</SPAN>表项了。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">　　<SPAN lang=EN-US>3.</SPAN>多路由负载均衡场合。比如<SPAN lang=EN-US>Ping</SPAN>远端目的主机，成功的<SPAN lang=EN-US>reply</SPAN>和<SPAN lang=EN-US>timed out</SPAN>交错出现，结果发现在网关路由器上存在两条到目的网段的路由，两条路由权重相等，但经查一条路由存在问题。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">　　<SPAN lang=EN-US>4.IP</SPAN>地址分配不连续。地址规划出现问题象是在网络中埋了地雷，地址重叠或掩码划分不连续都可能在<SPAN lang=EN-US>Ping</SPAN>时出现问题。比如一个极端情况，<SPAN lang=EN-US>A</SPAN>、<SPAN lang=EN-US>B</SPAN>两台主机，经过多跳相连，<SPAN lang=EN-US>A</SPAN>能<SPAN lang=EN-US>Ping</SPAN>通<SPAN lang=EN-US>B</SPAN>的网关，而且<SPAN lang=EN-US>B</SPAN>的网关设置正确，但<SPAN lang=EN-US>A</SPAN>、<SPAN lang=EN-US>B</SPAN>就是<SPAN lang=EN-US>Ping</SPAN>不通。经查，在<SPAN lang=EN-US>B</SPAN>的网卡上还设有第二个地址，并且这个地址与<SPAN lang=EN-US>A</SPAN>所在的网段重叠。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">　　<SPAN lang=EN-US>5.</SPAN>指定源地址的扩展<SPAN lang=EN-US>Ping</SPAN>。登陆到路由器上，<SPAN lang=EN-US>Ping</SPAN>远程主机，当<SPAN lang=EN-US>ICMP echo request</SPAN>从串行广域网接口发出去的时候，路由器会指定某个<SPAN lang=EN-US>IP</SPAN>地址作为源<SPAN lang=EN-US>IP</SPAN>，这个<SPAN lang=EN-US>IP</SPAN>地址可能不是此接口的<SPAN lang=EN-US>IP</SPAN>或这个接口根本没有<SPAN lang=EN-US>IP</SPAN>地址。而某个下游路由器可能并没有到这个<SPAN lang=EN-US>IP</SPAN>网段的路由，导致不能<SPAN lang=EN-US>Ping</SPAN>通。可以采用扩展<SPAN lang=EN-US>Ping</SPAN>，指定好源<SPAN lang=EN-US>IP</SPAN>地址。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">　　当主机网关和中间路由的配置认为正确时，出现<SPAN lang=EN-US>Ping</SPAN>问题也是很普遍的现象。此时应该忘掉<SPAN lang=EN-US>“</SPAN>不可能<SPAN lang=EN-US>”</SPAN>几个字，把<SPAN lang=EN-US>Ping</SPAN>的扩展参数和反馈信息、<SPAN lang=EN-US>traceroute</SPAN>、路由器<SPAN lang=EN-US>debug</SPAN>、以及端口镜像和<SPAN lang=EN-US>Sniffer</SPAN>等工具结合起来进行分析。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">　　比如，当<SPAN lang=EN-US>A</SPAN>、<SPAN lang=EN-US>B</SPAN>两台主机经过多跳路由器相连时，二者网关设置正确，在<SPAN lang=EN-US>A</SPAN>上可以<SPAN lang=EN-US>Ping</SPAN>通<SPAN lang=EN-US>B</SPAN>，但在<SPAN lang=EN-US>B</SPAN>上不能<SPAN lang=EN-US>Ping</SPAN>通<SPAN lang=EN-US>A</SPAN>。可以通过在交换机做镜像，并用<SPAN lang=EN-US>Sniffer</SPAN>抓包，来找出<SPAN lang=EN-US>ICMP </SPAN>报文终止于何处，报文内容是什么，就可以发现<SPAN lang=EN-US>ICMP</SPAN>报文中的源<SPAN lang=EN-US>IP</SPAN>地址并非预期的那样，此时很容易想象出可能是路由器的<SPAN lang=EN-US>NAT</SPAN>功能使然，这样就能够逐步地发现一些被忽视的问题。而<SPAN lang=EN-US>Ping</SPAN>不通时的反馈信息是<SPAN lang=EN-US>“destination_net_unreachable”</SPAN>还是<SPAN lang=EN-US>“timed out”</SPAN>也是有区别的。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 12pt; LINE-HEIGHT: 140%; TEXT-ALIGN: center; mso-pagination: widow-orphan; mso-margin-top-alt: auto" align=center><B><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">网络经典命令行</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 130%; TEXT-ALIGN: center; mso-pagination: widow-orphan" align=center><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 130%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
<HR align=center width="100%" color=black noShade SIZE=1>
</SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 130%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 130%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">1.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 130%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">最基本，最常用的，测试物理网络的<SPAN lang=EN-US> <BR>ping 192.168.0.8 </SPAN>－<SPAN lang=EN-US>t </SPAN>，参数－<SPAN lang=EN-US>t</SPAN>是等待用户去中断测试<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">2.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">查看<SPAN lang=EN-US>DNS</SPAN>、<SPAN lang=EN-US>IP</SPAN>、<SPAN lang=EN-US>Mac</SPAN>等<SPAN lang=EN-US> <BR>A.Win98</SPAN>：<SPAN lang=EN-US>winipcfg <BR>B.Win2000</SPAN>以上：<SPAN lang=EN-US>Ipconfig/all <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">C.NSLOOKUP</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">：如查看河北的<SPAN lang=EN-US>DNS <BR>C:\&gt;nslookup <BR>Default Server: ns.hesjptt.net.cn <BR>Address: 202.99.160.68 <BR>&gt;server 202.99.41.2 </SPAN>则将<SPAN lang=EN-US>DNS</SPAN>改为了<SPAN lang=EN-US>41.2 <BR>&gt; pop.pcpop.com <BR>Server: ns.hesjptt.net.cn <BR>Address: 202.99.160.68 <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Non-authoritative answer: <BR>Name: pop.pcpop.com <BR>Address: 202.99.160.212 <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">3.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">网络信使 （经常有人问的<SPAN lang=EN-US>~</SPAN>）<SPAN lang=EN-US> <BR>Net send </SPAN>计算机名<SPAN lang=EN-US>/IP|* (</SPAN>广播<SPAN lang=EN-US>) </SPAN>传送内容，注意不能跨网段<SPAN lang=EN-US> <BR>net stop messenger </SPAN>停止信使服务，也可以在面板－服务修改<SPAN lang=EN-US> <BR>net start messenger </SPAN>开始信使服务<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">4.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">探测对方对方计算机名，所在的组、域及当前用户名 （追捕的工作原理）<SPAN lang=EN-US> <BR>ping </SPAN>－<SPAN lang=EN-US>a IP </SPAN>－<SPAN lang=EN-US>t </SPAN>，只显示<SPAN lang=EN-US>NetBios</SPAN>名<SPAN lang=EN-US> <BR>nbtstat -a 192.168.10.146 </SPAN>比较全的<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">5.netstat -a </SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">显示出你的计算机当前所开放的所有端口<SPAN lang=EN-US> <BR>netstat -s -e </SPAN>比较详细的显示你的网络资料，包括<SPAN lang=EN-US>TCP</SPAN>、<SPAN lang=EN-US>UDP</SPAN>、<SPAN lang=EN-US>ICMP </SPAN>和<SPAN lang=EN-US> IP</SPAN>的统计等<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">6.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">探测<SPAN lang=EN-US>arp</SPAN>绑定（动态和静态）列表，显示所有连接了我的计算机，显示对方<SPAN lang=EN-US>IP</SPAN>和<SPAN lang=EN-US>MAC</SPAN>地址<SPAN lang=EN-US> <BR>arp -a <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">7.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">在代理服务器端<SPAN lang=EN-US> <BR></SPAN>捆绑<SPAN lang=EN-US>IP</SPAN>和<SPAN lang=EN-US>MAC</SPAN>地址，解决局域网内盗用<SPAN lang=EN-US>IP</SPAN>！：<SPAN lang=EN-US> <BR>ARP </SPAN>－<SPAN lang=EN-US>s 192.168.10.59 00 </SPAN>－<SPAN lang=EN-US>50</SPAN>－<SPAN lang=EN-US>ff</SPAN>－<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><st1:chmetcnv w:st="on" UnitName="C" SourceValue="6" HasSpace="False" Negative="False" NumberType="1" TCSC="0"><SPAN lang=EN-US>6c</SPAN></st1:chmetcnv>－<SPAN lang=EN-US>08</SPAN>－<SPAN lang=EN-US>75 <BR></SPAN>解除网卡的<SPAN lang=EN-US>IP</SPAN>与<SPAN lang=EN-US>MAC</SPAN>地址的绑定：<SPAN lang=EN-US> <BR>arp -d </SPAN>网卡<SPAN lang=EN-US>IP <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">8.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">在网络邻居上隐藏你的计算机 （让人家看不见你！）<SPAN lang=EN-US> <BR>net config server /hidden:yes <BR>net config server /hidden:no </SPAN>则为开启<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">9.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">几个<SPAN lang=EN-US>net</SPAN>命令<SPAN lang=EN-US> <BR>A.</SPAN>显示当前工作组服务器列表<SPAN lang=EN-US> net view</SPAN>，当不带选项使用本命令时，它就会显示当前域或网络上的计算机上的列表。<SPAN lang=EN-US> <BR></SPAN>比如：查看这个<SPAN lang=EN-US>IP</SPAN>上的共享资源，就可以<SPAN lang=EN-US> <BR>C:\&gt;net view 192.168.10.8 <BR></SPAN>在<SPAN lang=EN-US> 192.168.10.8 </SPAN>的共享资源<SPAN lang=EN-US> <BR></SPAN>资源共享名 类型 用途 注释<SPAN lang=EN-US> <BR>-------------------------------------- <BR></SPAN>网站服务<SPAN lang=EN-US> Disk <BR></SPAN>命令成功完成。<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">B.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">查看计算机上的用户帐号列表<SPAN lang=EN-US> net user <BR>C.</SPAN>查看网络链接<SPAN lang=EN-US> net use <BR></SPAN>例如：<SPAN lang=EN-US>net use z: <A href="file://192.168.10.8/movie"><SPAN style="COLOR: black; TEXT-DECORATION: none; text-underline: none">\\192.168.10.8\movie</SPAN></A> </SPAN>将这个<SPAN lang=EN-US>IP</SPAN>的<SPAN lang=EN-US>movie</SPAN>共享目录映射为本地的<SPAN lang=EN-US>Z</SPAN>盘<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">D.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">记录链接<SPAN lang=EN-US> net session <BR></SPAN>例如：<SPAN lang=EN-US> <BR>C:\&gt;net session <BR></SPAN>计算机 用户名 客户类型 打开空闲时间<SPAN lang=EN-US> <BR>------------------------------------------------------------------------------- <BR><A href="file://192.168.10.110/"><SPAN style="COLOR: black; TEXT-DECORATION: none; text-underline: none">\\192.168.10.110</SPAN></A> ROME Windows 2000 2195 0 00:03:12 <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><A href="file://192.168.10.51/"><SPAN style="COLOR: black; TEXT-DECORATION: none; text-underline: none">\\192.168.10.51</SPAN></A> ROME Windows 2000 2195 0 00:00:39 <BR></SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">命令成功完成。<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">10.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">路由跟踪命令<SPAN lang=EN-US> <BR>A.tracert pop.pcpop.com <BR>B.pathping pop.pcpop.com </SPAN>除了显示路由外，还提供<SPAN lang=EN-US>325S</SPAN>的分析，计算丢失包的％<SPAN lang=EN-US> <BR>11.</SPAN>关于共享安全的几个命令<SPAN lang=EN-US> <BR>A.</SPAN>查看你机器的共享资源<SPAN lang=EN-US> net share <BR>B.</SPAN>手工删除共享（可以编个<SPAN lang=EN-US>bat</SPAN>文件，开机自运行，把共享都删了！）<SPAN lang=EN-US> <BR>net share c$ /d <BR>net share d$ /d <BR>net share ipc$ /d <BR>net share admin$ /d <BR></SPAN>注意<SPAN lang=EN-US>$</SPAN>后有空格。<SPAN lang=EN-US> <BR>C.</SPAN>增加一个共享：<SPAN lang=EN-US> <BR>c:\net share mymovie=e:\downloads\movie /users:1 <BR>mymovie </SPAN>共享成功。<SPAN lang=EN-US> <BR></SPAN>同时限制链接用户数为<SPAN lang=EN-US>1</SPAN>人。<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">12.</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">在<SPAN lang=EN-US>DOS</SPAN>行下设置静态<SPAN lang=EN-US>IP <BR>A.</SPAN>设置静态<SPAN lang=EN-US>IP <BR>CMD <BR>netsh <BR>netsh&gt;int <BR>interface&gt;ip <BR>interface ip&gt;set add "</SPAN>本地链接<SPAN lang=EN-US>" static IP</SPAN>地址<SPAN lang=EN-US> mask gateway <BR>B.</SPAN>查看<SPAN lang=EN-US>IP</SPAN>设置<SPAN lang=EN-US> <BR>interface ip&gt;show address <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Arp <BR></SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">显示和修改<SPAN lang=EN-US>“</SPAN>地址解析协议<SPAN lang=EN-US> (ARP)”</SPAN>缓存中的项目。<SPAN lang=EN-US>ARP </SPAN>缓存中包含一个或多个表，它们用于存储<SPAN lang=EN-US> IP </SPAN>地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用，则<SPAN lang=EN-US> arp </SPAN>命令将显示帮助信息。<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">语法<SPAN lang=EN-US> <BR>arp [-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]] <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">参数<SPAN lang=EN-US> <BR>-a [InetAddr] [-N IfaceAddr] <BR></SPAN>显示所有接口的当前<SPAN lang=EN-US> ARP </SPAN>缓存表。要显示指定<SPAN lang=EN-US> IP </SPAN>地址的<SPAN lang=EN-US> ARP </SPAN>缓存项，请使用带有<SPAN lang=EN-US> InetAddr </SPAN>参数的<SPAN lang=EN-US> arp -a</SPAN>，此处的<SPAN lang=EN-US> InetAddr </SPAN>代表指定的<SPAN lang=EN-US> IP </SPAN>地址。要显示指定接口的<SPAN lang=EN-US> ARP </SPAN>缓存表，请使用<SPAN lang=EN-US> -N IfaceAddr </SPAN>参数，此处的<SPAN lang=EN-US> IfaceAddr </SPAN>代表分配给指定接口的<SPAN lang=EN-US> IP </SPAN>地址。<SPAN lang=EN-US>-N </SPAN>参数区分大小写。<SPAN lang=EN-US> <BR>-g [InetAddr] [-N IfaceAddr] <BR></SPAN>与<SPAN lang=EN-US> -a </SPAN>相同。<SPAN lang=EN-US> <BR>-d InetAddr [IfaceAddr] <BR></SPAN>删除指定的<SPAN lang=EN-US> IP </SPAN>地址项，此处的<SPAN lang=EN-US> InetAddr </SPAN>代表<SPAN lang=EN-US> IP </SPAN>地址。对于指定的接口，要删除表中的某项，请使用<SPAN lang=EN-US> IfaceAddr </SPAN>参数，此处的<SPAN lang=EN-US> IfaceAddr </SPAN>代表分配给该接口的<SPAN lang=EN-US> IP </SPAN>地址。要删除所有项，请使用星号<SPAN lang=EN-US> (*) </SPAN>通配符代替<SPAN lang=EN-US> InetAddr</SPAN>。<SPAN lang=EN-US> <BR>-s InetAddr EtherAddr [IfaceAddr] <BR></SPAN>向<SPAN lang=EN-US> ARP </SPAN>缓存添加可将<SPAN lang=EN-US> IP </SPAN>地址<SPAN lang=EN-US> InetAddr </SPAN>解析成物理地址<SPAN lang=EN-US> EtherAddr </SPAN>的静态项。要向指定接口的表添加静态<SPAN lang=EN-US> ARP </SPAN>缓存项，请使用<SPAN lang=EN-US> IfaceAddr </SPAN>参数，此处的<SPAN lang=EN-US> IfaceAddr </SPAN>代表分配给该接口的<SPAN lang=EN-US> IP </SPAN>地址。<SPAN lang=EN-US> <BR>/? <BR></SPAN>在命令提示符显示帮助。<SPAN lang=EN-US> <BR></SPAN>注释<SPAN lang=EN-US> <BR>InetAddr </SPAN>和<SPAN lang=EN-US> IfaceAddr </SPAN>的<SPAN lang=EN-US> IP </SPAN>地址用带圆点的十进制记数法表示。<SPAN lang=EN-US> <BR></SPAN>物理地址<SPAN lang=EN-US> EtherAddr </SPAN>由六个字节组成，这些字节用十六进制记数法表示并且用连字符隔开（比如，<SPAN lang=EN-US>00-AA-00<st1:chmetcnv w:st="on" UnitName="F" SourceValue="4" HasSpace="False" Negative="True" NumberType="1" TCSC="0">-4F</st1:chmetcnv><st1:chmetcnv w:st="on" UnitName="a" SourceValue="2" HasSpace="False" Negative="True" NumberType="1" TCSC="0">-2A</st1:chmetcnv><st1:chmetcnv w:st="on" UnitName="C" SourceValue="9" HasSpace="False" Negative="True" NumberType="1" TCSC="0">-9C</st1:chmetcnv></SPAN>）。<SPAN lang=EN-US> <BR></SPAN>通过<SPAN lang=EN-US> -s </SPAN>参数添加的项属于静态项，它们不会<SPAN lang=EN-US> ARP </SPAN>缓存中超时。如果终止<SPAN lang=EN-US> TCP/IP </SPAN>协议后再启动，这些项会被删除。要创建永久的静态<SPAN lang=EN-US> ARP </SPAN>缓存项，请在批处理文件中使用适当的<SPAN lang=EN-US> arp </SPAN>命令并通过<SPAN lang=EN-US>“</SPAN>计划任务程序<SPAN lang=EN-US>”</SPAN>在启动时运行该批处理文件。<SPAN lang=EN-US> <BR></SPAN>只有当网际协议<SPAN lang=EN-US> (TCP/IP) </SPAN>协议在 网络连接中安装为网络适配器属性的组件时，该命令才可用。<SPAN lang=EN-US> <BR></SPAN>范例<SPAN lang=EN-US> <BR></SPAN>要显示所有接口的<SPAN lang=EN-US> ARP </SPAN>缓存表，可键入：<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">arp -a <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">对于指派的<SPAN lang=EN-US> IP </SPAN>地址为<SPAN lang=EN-US> <st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">10.0.0</st1:chsdate>.99 </SPAN>的接口，要显示其<SPAN lang=EN-US> ARP </SPAN>缓存表，可键入：<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">arp -a -N <st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">10.0.0</st1:chsdate>.99 <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">要添加将<SPAN lang=EN-US> IP </SPAN>地址<SPAN lang=EN-US> <st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">10.0.0</st1:chsdate>.80 </SPAN>解析成物理地址<SPAN lang=EN-US> 00-AA-00<st1:chmetcnv w:st="on" UnitName="F" SourceValue="4" HasSpace="False" Negative="True" NumberType="1" TCSC="0">-4F</st1:chmetcnv><st1:chmetcnv w:st="on" UnitName="a" SourceValue="2" HasSpace="False" Negative="True" NumberType="1" TCSC="0">-2A</st1:chmetcnv><st1:chmetcnv w:st="on" UnitName="C" SourceValue="9" HasSpace="False" Negative="True" NumberType="1" TCSC="0">-9C</st1:chmetcnv> </SPAN>的静态<SPAN lang=EN-US> ARP </SPAN>缓存项，可键入：<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">arp -s <st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">10.0.0</st1:chsdate>.80 00-AA-00<st1:chmetcnv w:st="on" UnitName="F" SourceValue="4" HasSpace="False" Negative="True" NumberType="1" TCSC="0">-4F</st1:chmetcnv><st1:chmetcnv w:st="on" UnitName="a" SourceValue="2" HasSpace="False" Negative="True" NumberType="1" TCSC="0">-2A</st1:chmetcnv><st1:chmetcnv w:st="on" UnitName="C" SourceValue="9" HasSpace="False" Negative="True" NumberType="1" TCSC="0">-9C</st1:chmetcnv> <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">At <BR></SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">计划在指定时间和日期在计算机上运行命令和程序。<SPAN lang=EN-US>at </SPAN>命令只能在<SPAN lang=EN-US>“</SPAN>计划<SPAN lang=EN-US>”</SPAN>服务运行时使用。如果在没有参数的情况下使用，则<SPAN lang=EN-US> at </SPAN>列出已计划的命令。<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">语法<SPAN lang=EN-US> <BR>at [\\ComputerName] [{[ID] [/delete]|/delete [/yes]}] <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">at [[\\ComputerName] hours:minutes [/interactive] [{/every:date[,...]|/next:date[,...]}] command] <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">参数<SPAN lang=EN-US> <BR><A href="file://computername/"><SPAN style="COLOR: black; TEXT-DECORATION: none; text-underline: none">\\computername</SPAN></A> <BR></SPAN>指定远程计算机。如果省略该参数，则<SPAN lang=EN-US> at </SPAN>计划本地计算机上的命令和程序。<SPAN lang=EN-US> <BR>ID <BR></SPAN>指定指派给已计划命令的识别码。<SPAN lang=EN-US> <BR>/delete <BR></SPAN>取消已计划的命令。如果省略了<SPAN lang=EN-US> ID</SPAN>，则计算机中所有已计划的命令将被取消。<SPAN lang=EN-US> <BR>/yes <BR></SPAN>删除已计划的事件时，对来自系统的所有询问都回答<SPAN lang=EN-US>“</SPAN>是<SPAN lang=EN-US>”</SPAN>。<SPAN lang=EN-US> <BR>hours:minutes <BR></SPAN>指定命令运行的时间。该时间用<SPAN lang=EN-US> 24 </SPAN>小时制（即从<SPAN lang=EN-US> 00:00 [</SPAN>午夜<SPAN lang=EN-US>] </SPAN>到<SPAN lang=EN-US> 23:59</SPAN>）的 小时<SPAN lang=EN-US>: </SPAN>分钟格式表示。<SPAN lang=EN-US> <BR>/interactive <BR></SPAN>对于在运行<SPAN lang=EN-US> command </SPAN>时登录的用户<SPAN lang=EN-US>,</SPAN>允许<SPAN lang=EN-US> command </SPAN>与该用户的桌面进行交互。<SPAN lang=EN-US> <BR>/every: <BR></SPAN>在每个星期或月的指定日期（例如，每个星期四，或每月的第三天）运行<SPAN lang=EN-US> command </SPAN>命令。<SPAN lang=EN-US> <BR>date <BR></SPAN>指定运行命令的日期。可以指定一周的某日或多日（即，键入<SPAN lang=EN-US> M</SPAN>、<SPAN lang=EN-US>T</SPAN>、<SPAN lang=EN-US>W</SPAN>、<SPAN lang=EN-US>Th</SPAN>、<SPAN lang=EN-US>F</SPAN>、<SPAN lang=EN-US>S</SPAN>、<SPAN lang=EN-US>Su</SPAN>）或一个月中的某日或多日（即，键入从<SPAN lang=EN-US> 1 </SPAN>到<SPAN lang=EN-US>31 </SPAN>之间的数字）。用逗号分隔多个日期项。如果省略了<SPAN lang=EN-US> date</SPAN>，则<SPAN lang=EN-US> at </SPAN>使用该月的当前日。<SPAN lang=EN-US> <BR>/next: <BR></SPAN>在下一个指定日期（比如，下一个星期四）到来时运行<SPAN lang=EN-US> command</SPAN>。<SPAN lang=EN-US> <BR>command <BR></SPAN>指定要运行的<SPAN lang=EN-US> Windows </SPAN>命令、程序（<SPAN lang=EN-US>.exe </SPAN>或<SPAN lang=EN-US> .com </SPAN>文件）或批处理程序（<SPAN lang=EN-US>.bat </SPAN>或<SPAN lang=EN-US> .cmd </SPAN>文件）。当命令需要路径作为参数时，请使用绝对路径，也就是从驱动器号开始的整个路径。如果命令在远程计算机上，请指定服务器和共享名的通用命名协定<SPAN lang=EN-US> (UNC) </SPAN>符号，而不是远程驱动器号。<SPAN lang=EN-US> <BR>/? <BR></SPAN>在命令提示符显示帮助。<SPAN lang=EN-US> <BR></SPAN>注释<SPAN lang=EN-US> <BR>Schtasks </SPAN>是功能更为强大的超集命令行计划工具，它含有<SPAN lang=EN-US> at </SPAN>命令行工具中的所有功能。对于所有的命令行计划任务，都可以使用<SPAN lang=EN-US> schtasks </SPAN>来替代<SPAN lang=EN-US> at</SPAN>。有关<SPAN lang=EN-US> schtasks </SPAN>的详细信息，请参阅<SPAN lang=EN-US>“</SPAN>相关主题<SPAN lang=EN-US>”</SPAN>。<SPAN lang=EN-US> <BR></SPAN>使用<SPAN lang=EN-US> at <BR></SPAN>使用<SPAN lang=EN-US> at </SPAN>命令时，要求您必须是本地<SPAN lang=EN-US> Administrators </SPAN>组的成员。<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">加载<SPAN lang=EN-US> Cmd.exe <BR></SPAN>在运行命令之前，<SPAN lang=EN-US>At </SPAN>不会自动加载<SPAN lang=EN-US> Cmd.exe </SPAN>（命令解释器）。如果没有运行可执行文件<SPAN lang=EN-US> (.exe)</SPAN>，则在命令开头必须使用如下所示的方法专门加载<SPAN lang=EN-US> Cmd.exe</SPAN>：<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">cmd /c dir &gt; c:\test.out</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">。<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">查看已计划的命令<SPAN lang=EN-US> <BR></SPAN>当不带命令行选项使用<SPAN lang=EN-US> at </SPAN>时，计划任务会出现在类似于以下格式的表中：<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Status ID Day Time Command Line <BR>OK 1 Each F 4:30 PM net send group leads status due <BR>OK 2 Each M 12:00 AM chkstor &gt; check.file <BR>OK 3 Each F 11:59 PM backup2.bat <BR></SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">包含标识号<SPAN lang=EN-US> (ID) <BR></SPAN>当在命令提示下使用带有标识号<SPAN lang=EN-US> (ID) </SPAN>的<SPAN lang=EN-US> at </SPAN>命令时，单个任务项的信息会显示在类似于下面的格式中：<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Task ID</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">：<SPAN lang=EN-US> 1 <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Status:OK <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Schedule:Each F <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Time of Day:4:30 PM <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Command:net send group leads status due</SPAN><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">当计划带有<SPAN lang=EN-US> at </SPAN>的命令（尤其是带有命令行选项的命令）后，要通过键入不带命令行选项的<SPAN lang=EN-US> at </SPAN>来检查该命令语法是否输入正确。如果显示在<SPAN lang=EN-US>“</SPAN>命令行<SPAN lang=EN-US>”</SPAN>列中的信息不正确，请删除该命令，然后重新键入它。如果还不正确，则可以在重新键入该命令时让它少带些命令行选项。<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">查看结果<SPAN lang=EN-US> <BR></SPAN>使用<SPAN lang=EN-US> at </SPAN>的已经计划的命令作为后台程序运行。运行结果不会显示在计算机上。要将输出重定向到文件，请使用重定向符号<SPAN lang=EN-US> (&gt; )</SPAN>。如果将输出重定向到文件，则不论是在命令行还是在批处理文件中使用<SPAN lang=EN-US> at</SPAN>，都需要在重定向符号之前使用转义符<SPAN lang=EN-US> (^)</SPAN>。例如，要重定向输出到<SPAN lang=EN-US> Output.text </SPAN>文件，则要键入：<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 140%; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 140%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">at 14:<st1:chmetc]]></description>
</item><item>
<title><![CDATA[IBM DB2 学习笔记[转载]]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=ibmsoa&amp;id=14630</link>
<author>ibmsoa</author>
<pubDate>2006/5/22 14:55:18</pubDate>
<description><![CDATA[
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD>【IBM DB2 学习笔记一】
<P><BR>注意：在 IBM DB2 中，与 MS SQL Server 2000 中相同的语法或者概念，这里就不一一列出了。</P>
<P><BR>一、【DB2 SQL 概述】</P>
<P>　　 1、　　【模式】</P>
<P>　　　 1.1、模式是已命名的对象（如表和视图）的集合。模式提供了数据库中对象的逻辑分类。</P>
<P>　　　 1.2、当在数据库中创建对象的时候，系统就隐性的创建了模式。当然，也可以使用 CREATE SCHEMA 显式的创建模式。</P>
<P>　　　 1.3、当命名对象的时候，需要注意对象的名称有两个部分，即，模式.对象名称,形如：pjj.TempTable1。如果不显示指定模式，则系统使用默认模式（默认用户的ID）。</P>
<P>　　 2、　　【数据类型】</P>
<P>定长字符串　　　　　 CHAR(x)　　　　　　　　　　　x值域（1～254）　　　　　　　一个字节序列</P>
<P>变长字符串　　　　　 VARCHAR(X)</P>
<P>　　　　　　　　　　　　　　　 LONG VARCHAR(X)</P>
<P>　　　　　　　　　　　　　　　 LOB(大对象)</P>
<P>定长图形字符串　　GRAPHCI(X)　　　　　　　 x值域（1～127）　　　　　　　两个字节序列</P>
<P>变长图形字符串　　VARGRAPHCI(X)</P>
<P>　　　　　　　　　　　　　　　　LONG GRAPHCI(X)</P>
<P>　　　　　　　　　　　　　　　　DBCLOB(大对象)</P>
<P>　　　　　　　　　　　　　　　　　　　　　</P>
<P>二进制字符串　　　 暂缺　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 一个字节序列</P>
<P>　　　　　　　　　　　　　　　 BLOB(大对象)</P>
<P>　　　　　　　　　　　　　　　　　　　　　</P>
<P>数字　　　　　　　　　　 (所有数字都有精度，精度是指除符号位以外的位数或者数字数)</P>
<P>　　　　　　　　　　　　　　SMALLINT　　　　　　　　　 精度为5　　　　　　　　　　　2字节整数</P>
<P>　　　　　　　　　　　　　　INTEGER　　　　　　　　　　精度为10　　　　　　　　　　4字节整数</P>
<P>　　　　　　　　　　　　　　BIGINT　　　　　　　　　　　　精度为19　　　　　　　　　　8字节整数</P>
<P>　　　　　　　　　　　　　　REAL　　　　　　　　　　　　　实数的32位近似值</P>
<P>　　　　　　　　　　　　　　DOUBLE　　　　　　　　　　 实数的64位近似值</P>
<P>　　　　　　　　　　　　　　DECIMAL(P,S)　　　P,精度，S,小数位数，十进制数，P必须&lt;=32，S必须&lt;=P，缺省:P=5,S=0</P>
<P>日期时间型　　　　　 14位字符串，即非数字类型也非字符串类型</P>
<P>日期　　　　　　　　　　　 DATE　　　　　　　　　　　　　年月日</P>
<P>时间　　　　　　　　　　　 TIME　　　　　　　　　　　　　 24小时制，分为 小时分钟秒</P>
<P>时间戳记　　　　　　　 TIMESTAMP　　　　　　　　1日期和时间的值，分为 年月日小时分钟秒微秒</P>
<P>　　　　　　　</P>
<P>空值　　　　　　　　　　　 不同于任何非空值</P>
<P>　　　　　　　</P>
<P>　　 3、 其他<BR>DB2不区分大小写（单引号或者双引号内的内容除外）</P>
<P><BR></P>
<P><BR>二、【创建表和视图】</P>
<P>1、【创建表】</P>
<P>CREATE TABLE PERS</P>
<P>(</P>
<P>ID　　　　　　　　　　　　　 SMALLINT　　 NOT NULL,</P>
<P>NAME　　　　　　　　　 VARCHAR(9),</P>
<P>DEPT　　　　　　　　　　SMALLINT　　 WITH DEFAULT 10,</P>
<P>JOB　　　　　　　　　　　 CHAR(5),</P>
<P>YEARS　　　　　　　　　SMALLINT,</P>
<P>SALARY　　　　　　　　DECIMAL(7,2),</P>
<P>COMM　　　　　　　　　 DECIMAL(7,2),</P>
<P>BIRTH_DATE　　　 DATE</P>
<P>)</P>
<P><BR></P>
<P><BR>2、【在表中插入值】(三种方式)</P>
<P>INSERT INTO PERS</P>
<P>　　　 VALUES (12,'Harris',20,'Sales',5,18000,1000,'1950-1-1')</P>
<P>INSERT INTO PERS (NAME,JOB,ID)</P>
<P>　　　 VALUES　　　 ('Swagerman','Pramr',500),</P>
<P>　　　　　　　　　　　　　　　('Limoges','Prgmr',510),</P>
<P>　　　　　　　　　　　　　　　('Li','Prgmr',520)</P>
<P>　　　　　　　　　　 </P>
<P>INSERT INTO PERS (ID,NAME,DEPT,JOB,YEARS,SALARY,COMM,BIRTH_DATE)</P>
<P>　　　 SELECT ID,NAME,DEPT,JOB,YEARS,SALARY,COMM,BIRTH_DATE</P>
<P>　　　 FROM STAFF</P>
<P>　　　 WHERE ID = 58</P>
<P>3、【更新数据】</P>
<P>UPDATE PERS</P>
<P>　　　 SET JOB = 'Prgmr',SALARY = SALARY + 300</P>
<P>　　　 WHERE ID = 410</P>
<P><BR></P>
<P><BR>UPDATE PERS</P>
<P>　　　 SET SALARY = SALARY * 1.15</P>
<P>　　　 WHERE JOB = 'Sales'</P>
<P>4、【删除数据】</P>
<P>DELETE FROM PERS</P>
<P>　　　 WHERE ID = 120</P>
<P><BR></P>
<P><BR>5、【删除表】</P>
<P>DROP TABLE PERS</P>
<P><BR></P>
<P><BR>6、【创建视图】</P>
<P>(可以选用 WITH CHECK OPTION 选项，该选项针对 WHERE 的条件进行限定)</P>
<P>CREATE VIEW STAFF_ONLY</P>
<P>　　　 AS SELECT ID,NAME,DEPT,JOB,YEARS</P>
<P>　　　　　　　FROM STAFF</P>
<P>　　　　　　　WHERE JOB &lt;&gt; 'Mgr' AND DEPT = 20 WITH CHECK OPTION</P>
<P>　　　　　　　</P>
<P>三、【使用 SQL 语句存取数据】　</P>
<P>(? CREATE 显示一般帮助提示信息)</P>
<P>1、【连接数据库】</P>
<P>CONNECT TO MYDB2 USER USERID USING PASSWORD</P>
<P><BR></P>
<P><BR>2、【谓词】</P>
<P>　　　 x=y x&lt;&gt;y x&lt;y x&gt;y x&gt;=y x&lt;=y</P>
<P>　　　 IS NULL</P>
<P>　　　 IS NOT NULL</P>
<P>3、【其他的一些去SQL SERVER 类似的东西就省略】</P>
<P>4、【运算次序】</P>
<P>　　　 FROM</P>
<P>　　　 WHERE</P>
<P>　　　 GROUP BY</P>
<P>　　　 HAVING</P>
<P>　　　 SELECT</P>
<P>　　　 ORDER BY</P>
<P><BR></P>
<P><BR>5、【函数】</P>
<P>　　 5.1、【列函数】</P>
<P>(列函数对列中的一组值进行运算以得到单一的结果值！)</P>
<P>　　　　　　　AVG</P>
<P>　　　　　　　COUNT</P>
<P>　　　　　　　MAX</P>
<P>　　　　　　　MIN</P>
<P>　　　　　　　</P>
<P>　　 5.2、【标量函数】</P>
<P>(标量函数对一个单一值进行运算以返回另一个单一的结果值！)</P>
<P>　　　　　　　ABS　　　　　　 绝对值</P>
<P>　　　　　　　HEX　　　　　　 十六进制</P>
<P>　　　　　　　LENGTH　　　返回字节数（对于图形字符串则返回双字节字符串）</P>
<P>　　　　　　　YEAR</P>
<P>　　 5.3、【表函数】</P>
<P>(表函数仅可用于 FROM 子句，返回表的列！)</P>
<P>四、【表达式和子查询】</P>
<P>1、【标量全查询】</P>
<P>(返回一行，该行只包括一个值，用于从数据库中检索值)</P>
<P>SELECT LASTNAME,FIRSTNAME</P>
<P>FROM EMPLOYEE</P>
<P>WHERE SALARY &gt; (SELECT AVG(SALARY) FROM EMPLOYEE)</P>
<P><BR></P>
<P><BR>SELECT AVG(SALARY) AS "Average_Employee",</P>
<P>(SELECT AVG(SALARY) AS "Average_Staff" FROM STAFF)</P>
<P>FROM EMPLOYEE</P>
<P><BR></P>
<P><BR>注意:</P>
<P>SQL SERVER 中,字符串用单引号,而DB2 中则使用双引号!</P>
<P>SELECT XX AS "OO" 也可以写为 SELECT XX "XX"</P>
<P><BR></P>
<P><BR>2、【转换数据类型】</P>
<P>（使用 CAST,CAST的另外一个用法是截断数据）</P>
<P>SELECT CAST(NAME AS VARCHAR(2)) AS "NAME" FROM EMPLOYEE</P>
<P><BR></P>
<P><BR>3、【条件表达式】</P>
<P>(CASE 注意，单引号和双引号)</P>
<P><BR></P>
<P><BR>SELECT DEPTNAME</P>
<P>CASE DEPTNUMB</P>
<P>WHEN 10 THEN 'Market'</P>
<P>WHEN 20 THEN 'Sales'</P>
<P>WHEN 30 THEN 'Development'</P>
<P>ELSE 'NULL'</P>
<P>END AS FUNCTION</P>
<P>FROM ORG</P>
<P><BR></P>
<P><BR>--避免产生被0除</P>
<P>SELECT NAME,WORKDEPT</P>
<P>FROM EMPLOYEE</P>
<P>WHERE (CASE WHEN BONUS = 0 THEN NULL ELSE SALARY/BONUS END) &gt; 10</P>
<P><BR></P>
<P><BR>--替代简单的函数功能</P>
<P>CASE WHEN X&lt;0 THEN -1 WHEN X=0 THEN 0 ELSE 1 END</P>
<P><BR></P>
<P><BR>4、【表表达式】（临时的）</P>
<P>4.1、【嵌套表表达式】</P>
<P>（嵌套于FROM字句中）</P>
<P><BR></P>
<P><BR>SELECT EDLEVEL, HIREYEAR, DECIMAL(AVG(TOTAL_PAY),7,2)</P>
<P>FROM (SELECT EDLEVEL, YEAR(HIREDATE) AS HIREYEAR,</P>
<P>SALARY+BONUS+COMM AS TOTAL_PAY</P>
<P>FROM EMPLOYEE</P>
<P>WHERE EDLEVEL &gt; 16) AS PAY_LEVEL</P>
<P>GROUP BY EDLEVEL, HIREYEAR</P>
<P>ORDER BY EDLEVEL, HIREYEAR</P>
<P><BR></P>
<P><BR>4.2【公共表达式】</P>
<P>（以WITH开头，对公共表达式的重复引用使用同一结果，而使用嵌套表达式则可能会出现不同的结果。）</P>
<P><BR></P>
<P><BR>WITH</P>
<P>PAYLEVEL AS</P>
<P>(SELECT EMPNO, EDLEVEL, YEAR(HIREDATE) AS HIREYEAR,</P>
<P>SALARY+BONUS+COMM AS TOTAL_PAY</P>
<P>FROM EMPLOYEE</P>
<P>WHERE EDLEVEL &gt; 16),</P>
<P><BR></P>
<P><BR>PAYBYED (EDUC_LEVEL, YEAR_OF_HIRE, AVG_TOTAL_PAY) AS</P>
<P>(SELECT EDLEVEL, HIREYEAR, AVG(TOTAL_PAY)</P>
<P>FROM PAYLEVEL</P>
<P>GROUP BY EDLEVEL, HIREYEAR)</P>
<P><BR></P>
<P><BR>SELECT EMPNO, EDLEVEL, YEAR_OF_HIRE, TOTAL_PAY, DECIMAL(AVG_TOTAL_PAY,7,2)</P>
<P>FROM PAYLEVEL, PAYBYED</P>
<P>WHERE EDLEVEL = EDUC_LEVEL</P>
<P>AND HIREYEAR = YEAR_OF_HIRE</P>
<P>AND TOTAL_PAY &lt; AVG_TOTAL_PAY</P>
<P><BR></P>
<P><BR>4.3 【相关名】</P>
<P>（注意，一旦使用了相关名，则不能再在上下文中使用原名，否则出错！）</P>
<P><BR></P>
<P><BR>SELECT NAME, DEPTNAME</P>
<P>FROM STAFF S, ORG O</P>
<P>WHERE O.MANAGER = S.ID</P>
<P><BR></P>
<P><BR>--另外，相关名还可以用来复制对象，例如说自身</P>
<P>SELECT E2.FIRSTNME, E2.LASTNAME, E2.JOB, E1.FIRSTNME AS MGR_FIRSTNAME,</P>
<P>E1.LASTNAME AS MGR_LASTNAME, E1.WORKDEPT</P>
<P>FROM EMPLOYEE E1, EMPLOYEE E2</P>
<P>WHERE E1.WORKDEPT = E2.WORKDEPT</P>
<P>AND E1.JOB = 'MANAGER'</P>
<P>AND E2.JOB &lt;&gt; 'MANAGER'</P>
<P>AND E2.JOB &lt;&gt; 'DESIGNER'</P>
<P><BR></P>
<P><BR>4.4【不/相关子查询】</P>
<P><BR></P>
<P><BR>4.4.1【不相关子查询】</P>
<P>SELECT EMPNO, LASTNAME</P>
<P>FROM EMPLOYEE</P>
<P>WHERE WORKDEPT = 'A00'</P>
<P>AND SALARY &gt; (SELECT AVG(SALARY)</P>
<P>FROM EMPLOYEE</P>
<P>WHERE WORKDEPT = 'A00')</P>
<P><BR></P>
<P><BR>4.4.2【相关子查询】</P>
<P>SELECT E1.EMPNO, E1.LASTNAME, E1.WORKDEPT</P>
<P>FROM EMPLOYEE E1</P>
<P>WHERE SALARY &gt; (SELECT AVG(SALARY)</P>
<P>FROM EMPLOYEE E2</P>
<P>WHERE E2.WORKDEPT = E1.WORKDEPT)</P>
<P>ORDER BY E1.WORKDEPT</P>
<P><BR></P>
<P><BR>五、【在查询使用运算符与谓词】</P>
<P><BR></P>
<P><BR>1、【集合运算符】</P>
<P>1.1【UNION】：</P>
<P>组合两个表，并消除重复行；如果 UNION ALL 则不消除重复行</P>
<P><BR></P>
<P><BR>SELECT ID, NAME FROM STAFF WHERE SALARY &gt; 21000</P>
<P>UNION</P>
<P>SELECT ID, NAME FROM STAFF WHERE JOB='Mgr' AND YEARS &lt; 8</P>
<P>ORDER BY ID</P>
<P><BR></P>
<P><BR>1.2【EXCEPT】:</P>
<P>包括所有在表1中而不在表2中的行并消除所有重复行；如果 EXCEPT ALL 则不消除重复行</P>
<P><BR></P>
<P><BR>SELECT ID, NAME FROM STAFF WHERE SALARY &gt; 21000</P>
<P>EXCEPT</P>
<P>SELECT ID, NAME FROM STAFF WHERE JOB='Mgr' AND YEARS &lt; 8</P>
<P><BR>--也就是说，凡是满足 EXCEPT 后面语句的数据都不在选择的范围内</P>
<P><BR></P>
<P><BR>1.3【INTERSECT】：</P>
<P>只包括表1和表2都有的行并消除所有重复行；如果 INTERSECT ALL 则不消除重复行</P>
<P><BR></P>
<P><BR>SELECT ID, NAME FROM STAFF WHERE SALARY &gt; 21000</P>
<P>INTERSECT</P>
<P>SELECT ID, NAME FROM STAFF WHERE JOB='Mgr' AND YEARS &lt; 8</P>
<P><BR></P>
<P><BR>2、【谓词】</P>
<P>2.1【IN】【NOT IN】</P>
<P>SELECT NAME</P>
<P>FROM STAFF</P>
<P>WHERE DEPT IN (20, 15)</P>
<P><BR></P>
<P><BR>SELECT LASTNAME</P>
<P>FROM EMPLOYEE</P>
<P>WHERE EMPNO IN</P>
<P>(SELECT RESPEMP</P>
<P>FROM PROJECT</P>
<P>WHERE PROJNO = 'MA2100'</P>
<P>OR PROJNO = 'OP2012')</P>
<P><BR></P>
<P><BR>2.2【BETWEEN】【NOT BETWEEN】</P>
<P>SELECT LASTNAME</P>
<P>FROM EMPLOYEE</P>
<P>WHERE SALARY BETWEEN 10000 AND 20000</P>
<P><BR></P>
<P><BR>2.3【LIKE】【NOT LIKE】</P>
<P>注意 _ 表示任何单个字符，% 表示任何零个或者多个的字符</P>
<P><BR></P>
<P><BR>SELECT NAME</P>
<P>FROM STAFF</P>
<P>WHERE NAME NOT LIKE 'S%'</P>
<P><BR></P>
<P><BR>2.4【EXISTS】【NOT EXISTS】</P>
<P>(检查存在性)</P>
<P><BR></P>
<P><BR>SELECT DEPTNO, DEPTNAME</P>
<P>FROM DEPARTMENT X</P>
<P>WHERE NOT EXISTS</P>
<P>(SELECT *</P>
<P>FROM PROJECT</P>
<P>WHERE DEPTNO = X.DEPTNO)</P>
<P>ORDER BY DEPTNO</P>
<P><BR></P>
<P><BR>2.5【定量谓词】</P>
<P>(将一个值和一个值的集合进行比较)</P>
<P><BR></P>
<P><BR>2.5.1【&gt; ALL】</P>
<P><BR></P>
<P><BR>(必须全部符合，谓词结果才为真！)</P>
<P><BR></P>
<P><BR>查询所有收入超过所有经理收入的雇员的姓名和职位（其实后面的子查询中返回值有多个，所以用了ALL）</P>
<P><BR>SELECT LASTNAME, JOB</P>
<P>FROM EMPLOYEE</P>
<P>WHERE SALARY &gt; ALL</P>
<P>(SELECT SALARY</P>
<P>FROM EMPLOYEE</P>
<P>WHERE JOB='MANAGER')</P>
<P><BR></P>
<P><BR>2.5.2【&gt; ANY】【&gt; SOME】</P>
<P>(两个谓词同意，只要有一个结果符合，谓词结果即为真)</P>
<P>查询所有收入超过任何一个经理收入的雇员的姓名和职位（其实后面的子查询中返回值有多个，所以用了ALL）</P>
<P><BR></P>
<P><BR>SELECT LASTNAME, JOB</P>
<P>FROM EMPLOYEE</P>
<P>WHERE SALARY &gt; ANY</P>
<P>(SELECT SALARY</P>
<P>FROM EMPLOYEE</P>
<P>WHERE JOB='MANAGER')</P>
<P><BR></P>
<P><BR>六、【定制和增强数据操作】<BR>1、【用户定义类型】UDT<BR>1、创建<BR>CREATE DISTINCT TYPE PAY AS DECIMAL WITH COMPARISONS</P>
<P>2、使用<BR>SELECT * FROM EMPLOYEE WHERE DECIMAL(SALARY)=5120</P>
<P>3、注意：<BR>UDT认为是于任何其他类型不同的类型，例如上例中的 PAY 和 DECIMAL 类型是不同的，但是可以相互转换！</P>
<P>如 PAY(SALARY) 或者 DECIMAL (SALARY)</P>
<P><BR></P>
<P><BR>2、【用户自定义函数】UDF</P>
<P>1、创建</P>
<P>CREATE FUNCTION MAX(PAY) RETURNS PAY</P>
<P>SOURCE MAX(DECIMAL)</P>
<P>2、使用</P>
<P>SELECT column1,FunctionName(XXX) FROM TableXXX</P>
<P>3、注意：<BR>UDF可以调用其他已有库函数和其他UDF。</P>
<P><BR></P>
<P><BR>3、【大对象】LOB</P>
<P>　　　1、简介<BR>　　　 BLOB,CLOB,DCLOB分别代表二进制数大对象、字符大对象（多用于字符串）、双字节字符大对象（多用于图形）</P>
<P>　　　2、操作（略）<BR>　　　 </P>
<P>4、专用寄存器</P>
<P>　　　1、定义:<BR>　　　 由DBMS为连接定义的存储区，用于SQL引用的信息。</P>
<P>　　　2、存储的常用数据：<BR>　　　 CURRENT DATE、USER、CURRENT TIMESTAMP、CURRENT TIME、CURRENT TIMEZONE(指定与世界时间的差别)、CURRENT SERVER</P>
<P>　　　3、调用</P>
<P>　　　 VALUES(CURRENT DATE) 或者 SELECT CURRENT TIME FROM TABLENAME</P>
<P>5、常用系统视图<BR>SYSCAT.CHECKS</P>
<P>SYSCAT.COLUMNS</P>
<P>SYSCAT.COLCHECKS</P>
<P>SYSCAT.KEYCOLUSE</P>
<P>SYSCAT.DATATYPES</P>
<P>SYSCAT.FUNCPARMS</P>
<P>SYSCAT.REFERENCES</P>
<P>SYSCAT.SCHEMATA</P>
<P>SYSCAT.TABCONST</P>
<P>SYSCAT.TABLES--模式</P>
<P>SYSCAT.TRIGGERS</P>
<P>SYSCAT.FUNCTIONS</P>
<P>SYSCAT.VIEWS</P></TD></TR></TBODY></TABLE><BR>]]></description>
</item>
</channel>
</rss>