MD5是在Web应用程序中最常用的密码加密算法。由于MD5是不可逆的,因而经过MD5计算得到后的密文,不能通过逆向算法得到原文。

  回顾在Web应用程序中使用MD5加密文本密码的初衷,就是为了防止数据库中保存的密码不幸泄露后被直接获得。但攻击者不但拥有数据量巨大的密码字典,而且建立了很多MD5原文/密文对照数据库,能快速地找到常用密码的MD5密文,是破译MD5密文的高效途径。然而,MD5密文数据库所使用的是最常规的MD5加密算法:原文–>MD5–>密文。因此,我们可以使用变换的MD5算法,使现成的MD5密文数据库无所作为。

  下面演示一些变换算法的例子

  当然,在其它的Web开发语言中,也大同小异,完全能得到相同的结果。

  变换一:循环MD5

  最容易理解的变换就是对一个密码进行多次的MD5运算。自定义一个函数,它接受$data和$times两个形参,第一个是要加密的密码,第二个是重复加密的次数。实现这种变换有两种算法——

以下是引用片段:

<?php
//迭代算法
function md5_1_1($data, $times = 32)
{
//循环使用MD5
for ($i = 0; $i < $times; $i++) {
$data = md5($data);
}
return $data;
}

//递归算法
function md5_1_2($data, $times = 32)
{
if ($times > 0) {
$data = md5($data);
$times–;
return md5_1_2($data, $times); //实现递归
} else {
return $data;
}
}
?>

  变换二:密文分割MD5

  尽管用户的密码是不确定的字符串,但是只要经过一次MD5运算后,就会得到一个由32个字符组成的字符串,这时可以再针对这个定长字符串变换。有点BT的算法是,把这段密文分割成若干段,对每段都进行一次MD5运算,然后把这堆密文连成一个超长的字符串,最后再进行一次MD5运算,得到仍然是长度为32位的密文。

以下是引用片段:

<?php
//把密文分割成两段,每段16个字符
function md5_2_1($data)
{
//先把密码加密成长度为32字符的密文
$data = md5($data);
//把密码分割成两段
$left = substr($data, 0, 16);
$right = substr($data, 16, 16);
//分别加密后再合并
$data = md5($left).md5($right);
//最后把长字串再加密一次,成为32字符密文
return md5($data);
}

//把密文分割成32段,每段1个字符
function md5_2_2($data)
{
$data = md5($data);
//循环地截取密文中的每个字符并进行加密、连接
for ($i = 0; $i < 32; $i++) {
$data .= md5($data{$i});
}
//这时$data长度为1024个字符,再进行一次MD5运算
return md5($data);
}
?>

  当然,这种密文分割的具体算法是数之不尽的,比如可以把原密文分割成16段每段两字符、8段每段4字符,或者每一段的字符数不相等……

  变换三:附加字符串干涉

  在加密过程的一个步骤中,附加一个内容确定的字符串(比如说用户名),干涉被加密的数据。不可以用随机字串,因为这样会使原算法无法重现。这种算法在某些情况下是很具有优势的,比如说用于大量的用户密码加密,可以把用户名作为附加干涉字串,这样攻击者就算知道你的算法,也很难从他们手中的字典中一下子生成海量的对照表,然后大量地破译用户密码,只能有针对性的穷举为数不多的用户。

以下是引用片段:

<?php
//附加字符串在原数据的尾部
function md5_3_1($data, $append)
{
return md5($data.$append);
}

//附加字符串在原数据的头部
function md5_3_2($data, $append)
{
return md5($append.$data);
}

//附加字符串在原数据的头尾
function md5_3_3($data, $append)
{
return md5($append.$data.$append);
}
?>

  变换四:大小写变换干涉

  由于PHP所提供的md5()函数返回的密文中的英文字母全部都是小写的,因此我们可以把它们全部转为大写,然后再进行一次MD5运算。

以下是引用片段:

<?php
function md5_4($data)
{
//先得到密码的密文
$data = md5($data);
//再把密文中的英文母全部转为大写
$data = strtotime($data);
//最后再进行一次MD5运算并返回
return md5($data);
}
?>

  变换五:字符串次序干涉

  把MD5运算后的密文字符串的顺序调转后,再进行一次MD5运算。

以下是引用片段:

<?php
function md5_5($data)
{
//得到数据的密文
$data = md5($data);
//再把密文字符串的字符顺序调转
$data = strrev($data);
//最后再进行一次MD5运算并返回
return md5($data);
}
?>

  变换六、变换七、变换八……

  MD5变换算法是数之不尽的,甚至无须自己再去创造,就用上面的五个互相组合就可以搞出很BT的算法。比如说先循环加密后再分割,并在每一段上附加一个字符串再分别加密,然后变换大小写并颠倒字符串顺序后连成一个长字符串再进行MD5运算……

  如果真的很不幸,由于某些漏洞,比如说SQL Injection或者文件系统中的数据库被下载而异致用户密码数据暴露,那么MD5变换算法就能大大地增加破译出密码原文的难度,首先就是使网上很多的MD5原文/密文对照数据库(要知道,这是破译MD5最高效的方法)没有用了,然后就是使攻击者用常规算法去穷举一串由变换算法得到的密文而搞得焦头烂额。当然,MD5变换算法特别适合用于非开源的Web程序使用,虽说用在开源的程序中优势会被削弱(大家都知道算法),但是也能抑制MD5原文/密文对照数据库的作用。要进行这些复杂的变换运算,当然就要花费的更多的系统开销了,然而对于安全性要求很严格的系统来说,多付出一些来换取高一点的安全性,是完全值得的。

问题一:如保加载JDBC驱动程序

正常我们加载驱动程序有三个途径:

1)Class.forName(String)这想当于classLoader一个String指定的类,在装载时把该驱动程序的静态内容都初始化,其实这时驱动程序类调用了DriverManager.registerDriver(driver);方法
2)使用系统属性:System.getProperty().load(new FileInputStream("属性文件"));
在属性文件中指定jdbc.driver=drivername 这样的好处是可以同时加载多个JDBC,换数据库时不用访问JAVA源代码,只是修改属性文件
3)直接registerDriver(driver)这种方法最可靠,可以在任何环境下使用。

1)方法简单,但MS的JVM不能正确初始化。比如使用IE时在APPLET中就不能使用,应该用3)的方法。但3)方法在灵活性方面不如2),可以根据环境综合考虑。

问题二:大对象存储

一般来说,大对象存储是把文件存到数据库中,当然也可以内存中的超大字符串。对于象图片这样的文件当然是用二进制存储,这里有很多误区,网络上的教程99%都是行不通的,连SUN自己的文档都一直错误,虽然错误很小。按说二进制文件应该存为BLOB类型,但JBDC2并不能直接对BLOB存入二进制文件,如果你这样做,会得到一个IO而不是SQL异常,为此花了我近两个小时才弄清楚。

如果要把一个二制文件存入ORACLE,用标准的JDBC你就要用LONG ROW类型:
create table tb_file(name varchar(20),detail long row);
然后
File file = new File("aaa.gif");
int fileLength =(int) file.length();
InputStream fin = new FileInputStream(file);
PreparedStatement pstmt = con.prepareStatement("insert into tb_file values(´aaa.gif´,?)");
pstmt.setBinaryStream (1, fin, fileLength);
pstmt.executeUpdate();

如果你一定要用BLOB存储,你就必须用ORACLE自己的方法:
create table tb_file(name varchar(20),detail BLOB);
con.setAutoCommit(false);
stmt.executeUpdate("insert into tb_file values(´aaa.gif´,empty_blob())");
下面必须SELECT得到BLOB的对象再向里写:
rs = stmt.executeQuery("select detail from tb_file where name=´aaa.gif´ for upfdate" );
if(rs.next())
{
Blob blob = rs.getBlob(1);
BinaryOutputStream out = ((oracle.sql.BLOB)blob).getBinaryOutputStream();
byte[] b = new byte[((oracle.sql.BLOB)blob).getBufferSize];
InputStream fin = new FileInputStream(file);
int len = 0;
while( (len = fin.read(b)) != -1)
out.write(b,0,len);
fin.close();
out.close();
con.commit();
}

同样读取数据你并不能象LONG ROW那样
InputStream in = rs.getBinaryInputStream("detail");
而要
Blob blob = rs.getBlob("detail");
in = blob.getBinaryStream();

问题三:可滚动结果集

ORACLE 明确说明不支持结果集滚动,那么我们用JDBC2得到一个可滚动的结果集就是同JDBC自己支持的,就是说结果集要在内在中高度缓存,很多很多的开发者都错误地认为是数据库支持的。只是他们没有真正查询大量行,如果真的查询大量行的话肯定是死定了!对于超大量行的数据,情愿返回到它的笨方法也不要使用可滚动结果集.

今天是亲爱的小弹簧的生日,呵呵。大家都来恭祝她生日快乐!

时间过得真是快啊,不知不觉就又过了一年。小弹簧终于完成了她的学业。不容易啊!整整19个春夏秋冬啊!终于修成正果了!开始跨入社会了!

跨入社会的第一步是最艰难的,希望小弹簧你能克服一切困难!实现你自己的梦想!

我亲爱的小PP,祝你生日快乐!

工作了可不要因为忙就不写Blog啊!呵呵

http://littlesprings.blogcn.com/

今天在Taobao上看中了一个Sigma的18-200的镜头。都已经拍下了,正在付款的时候被店主叫住了。说Canon口的Sigma 18-200的口没货了,而且他看了好几个地方都没货。也是牛!不过还好,还没付款。就把这笔交易取消了。

我还是比较看好这个镜头的,350D原配的套头是18-55的,变焦距离太短了。算下来的话,大概就只有3x左右的变焦。所以到野外拍景的话,很难把远处的景物拉近。所以买个10x左右的变焦镜头还是有点必要的。要不到了美丽的景色面前而拍不下来的话才是悔恨。

规 格:

焦 距:18-200mm
最 小 光 圈:F22
镜 头 结 构:15片 13组
视 角:69.3-7.1度
光圈 叶 片数:7片
最近对焦距离:45cm
放 大 倍 绿:1 : 4.4
滤 镜 尺 寸:62mm
遮 光 罩:花瓣型
体 积:直径70mm x 长度 78.1mm
重 量:405克

图片附件:
050818_4.jpg

这年头是不是特别流行Go abroad?身边的好多朋友都在打算或者是已经Go Abroad了。今天在Skype上碰到zllzmcdcr,看了下他的Blog。真是矛盾的心情,不知道是羡慕他的经历呢,还是…… 外面的一却都是新鲜的,不同的风俗,不同的习惯,不同的语言,真想亲历这种感觉。但是外面的世界有现在的世界这么舒服么?Wandering… 所谓有利必有弊吧,得到肯定是要付出的,哪有坐等天上掉馅饼的。

年青,还是需要这一份冲劲的!

http://blog.sina.com.cn/u/1080684171

 

提供完全版本 Microsoft .NET Framework 下载。

Microsoft .NET Framework 1.1 Service Pack 1 (SP1)

主要的特点是改善了安全性。此外,此 Service Pack 还包括了针对自发布 Microsoft .NET Framework 1.1 以来报告的所有客户问题的累积修补程序。特别值得一提的是,SP1 对使用 WSDL 文档、防止数据执行和防范安全性问题(例如缓冲区溢出)提供了更好的支持。SP1 还提供了对 Windows XP Service Pack 2 的支持,可以为使用 Windows XP 的用户提供更为安全、更为可靠的体验。SP1 有 22 种语言可供选用。

下载地址:http://download.microsoft.com/download/8/b/4/8b4addd8-e957-4dea-bdb8-c4e00af5b94b/NDP1.1sp1-KB867460-X86.exe

Microsoft .NET Framework 1.1 Service Pack 1 for Windows 2003 简体版

Microsoft .NET Framework 1.1 Service Pack 1 (SP1) 主要的特点是改善了安全性。此外,此 Service Pack 还包括了针对自发布 Microsoft .NET Framework 1.1 以来报告的所有客户问题的累积修补程序。特别值得一提的是,SP1 对使用 WSDL 文档、防止数据执行和防范安全性问题(例如缓冲区溢出)提供了更好的支持。适用于 Windows Server 2003 的 SP1 有 18 种语言可供选用。支持的操作系统: Windows Server 2003, Datacenter Edition (32-bit x86); Windows Server 2003, Enterprise Edition (32-bit x86); Windows Server 2003, Standard Edition (32-bit x86); Windows Server 2003, Web Edition

下载地址:http://download.microsoft.com/download/0/7/4/0741d480-44d2-485f-86fc-82a022cd78c4/WindowsServer2003-KB867460-x86-CHS.EXE

Microsoft .NET Framework 2.0 (x86)

Microsoft .NET Framework 2.0 版可再发行组件包将安装运行针对 .NET Framework 2.0 版开发的应用程序时所需的 .NET Framework 运行库及相关文件。.NET Framework 2.0 版改进了缓存,从而提高了应用程序的可扩展性和性能;使用 ClickOnce 改进了应用程序部署和更新;通过 ASP.NET 2.0 控件和服务对各种浏览器和设备提供更强大的支持。有关 .NET Framework 2.0 的详细信息,请单击此处。重要事项:不能在同一台计算机上安装两种不同语言版本的 .NET Framework。试图安装第二种语言版本的 .NET Framework 时,将会导致出现以下错误:“安装程序无法安装 Microsoft .NET Framework,因为已经安装了该产品的其他版本。”如果您要使用非英语的平台或要以另一种语言查看 .NET Framework 资源,则必须下载相应语言版本的 .NET Framework 语言包。
支持的操作系统: Windows 2000 Service Pack 3; Windows 98; Windows 98 Second Edition; Windows ME; Windows Server 2003; Windows XP Service Pack 2

下载地址:http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe

Microsoft .NET Framework 2.0 (x64)

Microsoft .NET Framework 2.0 版 (x64)可再发行组件包将安装 .NET Framework 运行库,以及运行面向 .NET Framework 2.0 版开发的 64 位应用程序所需的相关文件。.NET Framework 2.0 版 (x64) 改进了缓存,从而提高了可扩展性和性能;使用 ClickOnce 改进了应用程序部署和更新;通过 ASP.NET 2.0 控件和服务对各种浏览器和设备提供更强大的支持,并且支持 64 位系统。有关 .NET Framework 2.0 的详细信息,请单击此处。重要事项:不能在同一台计算机上安装两种不同语言版本的 .NET Framework。试图安装第二种语言版本的 .NET Framework 时,将会导致出现以下错误:“安装程序无法安装 Microsoft .NET Framework,因为已经安装了该产品的其他版本。”如果您要使用非英语的平台或要以另一种语言查看 .NET Framework 资源,则必须下载相应语言版本的 .NET Framework 语言包。
支持的操作系统: Windows Server 2003, Datacenter x64 Edition; Windows Server 2003, Enterprise x64 Edition; Windows Server 2003, Standard x64 Edition; Windows XP 64-bit

下载地址:http://download.microsoft.com/download/a/3/f/a3f1bf98-18f3-4036-9b68-8e6de530ce0a/NetFx64.exe

  随着MS的操作系统从Win98过渡到Winnt系统(包括 2k/xp),MS的任务管理器也一下子脱胎换骨,变得火眼金睛起来(在WINNT下传统木马再也无法隐藏自己的进程),这使得以前在win98下靠将进程注册为系统服务就能够从任务管理器中隐形的木马面临前所未有的危机,所以木马的开发者及时调整了开发思路,所以才会有今天这篇讨论如何清除动态嵌入式 DLL木马的文章。

  首先,我们来了解一下什么是动态嵌入式木马,为了在NT系统下能够继续隐藏进程,木马的开发者们开始利用 DLL(Dynamic Link Library动态链接库)文件,起初他们只是将自己的木马写成DLL形式来替换系统中负责Win Socket1.x的函数调用wsock32.dll(Win Socket2中则由WS2_32.DLL负责),这样通过对约定函数的操作和对未知函数的转发(DLL木马替换wsock32.dll时会将之更名,以便实现日后的函数转发)来实现远程控制的功能。但是随着MS数字签名技术和文件恢复功能的出台,这种DLL马的生命力也日渐衰弱了,于是在开发者的努力下出现了时下的主流木马–动态嵌入式DLL木马,将DLL木马嵌入到正在运行的系统进程中.explorer.exe、svchost.exe、 smss.exe等无法结束的系统关键进程是DLL马的最爱,这样这样在任务管理器里就不会出现我们的DLL文件,而是我们DLL的载体EXE文件.当然通过进一步的加工DLL木马还可以实现另外的一些如端口劫持/复用(也就是所谓的无端口)、注册为系统服务、开多线程保护、等功能。简而言之,就是DLL 木马达到了前所未有的隐蔽程度。

  那么我们如何来发现并清除DLL木马呢?

  一,从DLL木马的DLL文件入手,我们知道system32是个捉迷藏的好地方,许多木马都削尖了脑袋往那里钻,DLL马也不例外,针对这一点我们可以在安装好系统和必要的应用程序后,对该目录下的EXE和DLL文件作一个记录:运行CMD–转换目录到system32–dir *.exe>exeback.txt& dir *.dll>dllback.txt,这样所有的EXE和DLL文件的名称都被分别记录到exeback.txt和dllback.txt中,日后如发现异常但用传统的方法查不出问题时,则要考虑是不是系统中已经潜入DLL木马了.这是我们用同样的命令将system32下的EXE和DLL文件记录到另外的exeback1.txt和dllback1.txt中,然后运行CMD–fc exeback.txt exeback1.txt>diff.txt & fc dllback.txt dllback1.txt>diff.txt.(用FC命令比较前后两次的DLL和EXE文件,并将结果输入到diff.txt中),这样我们就能发现一些多出来的DLL和EXE文件,然后通过查看创建时间、版本、是否经过压缩等就能够比较容易地判断出是不是已经被DLL木马光顾了。没有是最好,如果有的话也不要直接DLL掉,我们可以先把它移到回收站里,若系统没有异常反应再将之彻底删除或者提交给杀毒软件公司。

  二、上文也曾提到一些系统关键进程是这类木马的最爱,所以一旦我们怀疑系统已经进驻了DLL木马,我们当然要对这些关键进程重点照顾了,怎么照顾?这里推荐一个强大的脱壳工具工具Procedump.exe他可以帮您看出进程到底调用了那些DLL文件(如图1)但是由于有的进程调用的DLL文件非常多,使得靠我们自己去一个核对变的不太现实,所以我们会用到一个shotgun写的NT进程/内存模块查看器ps.exe,用命令ps.exe /a /m >nowdlls.txt将系统目前调用地所有DLL文件地名称保存到nowdlls.txt,然后我们再用fc将之于事先备份 dllback.txt比较一下,这样也能够缩小排查范围。

  三、还记得木马的特征之一端口么?所有的木马只要进行连接,只要它接受/发送数据则必然会打开端口,DLL木马也不例外,这也为我们发现他们提供了一条线索,我们可以使用foundstone的进程端口查看工具Fport.exe来查看与端口对应的进程,这样可以将范围缩小到具体的进程,然后结合Procedump来查找DLL木马就比较容易了.当然有如上文提到的有些木马会通过端口劫持或者端口重用的方法来进行通信,139、80、1443、等常见端口则是木马的最爱。因为即使即使用户使用端口扫描软件检查自己的端口,发现的也是类似TCP UserIP:1026 ControllerIP:80ESTABLISHED 的情况,稍微疏忽一点,您就会以为是自己在浏览网页(防火墙也会这么认为的)。所以光看端口还不够,我们要对端口通信进行监控,这就是第四点要说的。

  四、我们可以利用嗅探器来了解打开的端口到底在传输些什么数据。通过将网卡设为混杂模式就可以接受所有的IP报文,嗅探程序可以从中选择值得关注的部分进行分析,剩下的无非是按照RFC文档对协议进行解码。这样就可以确定木马使用的端口,结合Fport和Procedump我们就能够查找到该DLL木马了。至于嗅探器个人推荐使用IRIS,图形界面比较容易上手。

  五、通常说道查杀木马我们会习惯性地到注册表碰碰运气,以前可能还蛮有效的,但如果碰到注册为系统服务的木马(原理:在NT/2K/XP这些系统中,系统启动时会加载指定的服务程序)这时候检查:启动组/注册表 /autoexec.bat/win.ini/sysytem.ini/wininit.ini/*.inf(例如autorun.inf) /config.sys等文件就发现不了丝毫的异样,这时候我们就应该查看一下系统服务了:右击我的电脑–管理–服务和应用程序–服务,这时您会看到100多个服务,(MS也真是的,其中75%对个人用户无用,可以禁止。),慢慢找吧,看谁不顺眼就把它拎出来:),当然如果您以前曾经用导出列表功能对服务备份过,则用文件比较的方法会很容易发现哪些是外来客,这时您可以记录下服务加载的是那个文件,然后用Resource Kits里提供的srvinstw.exe来移除该服务并清除被加载的文件。

  通过以上五步,基本能发现并清除狡猾的动态嵌入式DLL木马了,也许您也发现如果适当地做一些备份,会对我们的查找木马的过程有很大的帮助,当然也会减轻不少工作的压力哦。

    一、问题的提出    

    校园网建成后,要求在服务器端把网内各工作站的MAC地址和分配的静态IP地址进行绑定,以方便统一管理,减小安全隐患。无论是在终端获取MAC地址后再在服务器端进行绑定,还是利用“MAC扫描器”远程批量获取MAC地址,对于网管员来说工作量都非常大。有没有更加方便快捷的方法呢?    

    二、解决问题思路    

    笔者经过摸索,发现组合使用“MAC扫描器”和Excel 2000可以很好地解决这个问题。思路如下:  

    1. 运行“MAC扫描器”(下载地址:http://dl.163.com/html/10/10456.html),扫描完成后,点击[保存]按钮,将扫描的结果保存为文本文件,如Mac.txt。          

    2. 利用Excel强大的数据处理功能,将文本文件中的MAC地址转换成ARP命令要求的格式后,把数据复制粘贴到记事本,保存为批处理文件。      

    3. 在服务器端运行这个批处理文件就大功告成了。   

    三、具体操作步骤    

    1.将Mac.txt导入Excel工作簿    

    (1)启动Excel 2000,新建一个工作簿,保存为“MAC地址表.xls”。单击“数据→获取外部数据→导入文本文件”,在弹出的对话框中,选择用“MAC扫描器”获得的文本文件“Mac.txt”,单击[导入]按钮,弹出“文本导入向导”对话框。    

    (2)在“文本导入向导——3步骤之1”中点击“原始数据类型”,在“请选择最合适的文件类型”单选项下,修改默认的“固定宽度”为“分隔符号”,然后单击[下一步]按钮;进入“文本导入向导——3步骤之2”,在“分隔符号”多选项下,取消“Tab键”,只选中“空格”项,再单击[下一步]按钮;进入“文本导入向导——3步骤之3”,单击[完成]按钮,弹出“导入数据”对话框时,单击[确定],完成数据导入。导入后的工作表如图3所示。      

    2. 利用Excel处理数据    

    (1)在A列前插入一列,在A1单元格内输入绑定MAC地址的命令和参数“ARP -S”。    
    (2)在MAC地址和计算机名两列之间插入7列,列号依次为D、E、F、G、H、I、J。    

    (3)利用字符串函数分割12位MAC地址为两两一组:    

在D1单元格输入“=left(C1,2)”;    

在E1单元格输入“=mid(C1,3,2)”;    

在F1单元格输入“=mid(C1,5,2)”;    

在G1单元格输入“=mid(C1,7,2)”;    

在H1单元格输入“=mid(C1,9,2)”;    

在I1单元格输入“=right(C1, 2)”。    

    (4)在J1单元格内把D1~I1单元格的内容合并起来,中间用减号分隔。合并方法:在J1内输入“=D1&&"-"&&E1&&"-"&&F1&&"-"&&G1&&"-"&&H1&&"-"&&I1”。

    (5)利用填充法完成A列和D~J列的数据处理

    (6)隐藏C~I列。    

    3. 制作批处理文件    

    (1)复制Excel工作表A、B、J列的数据,粘贴到记事本中。保存工作簿“MAC地址表.xls”,退出Excel。    

    (2)保存记事本文件为Mac.bat。

    4. 批量绑定MAC地址和IP地址 
  
   在服务器端DOS模式下运行Mac.bat,即可完成批量MAC地址和IP地址的绑定。

  大家在操作Windows 9X/NT/2000/XP/2003系统的过程中,都会或多或少会遇到这样或那样的问题;特别是网管员在维护单位的局域网或广域网时候,如果能掌握一些Windows 系统的网络命令使用技巧,常常会给工作带来极大的方便,有时能起到事倍功半的效果;本文就Net 网络命令在实际操作中使用技巧,供大家参考。

  我们知道NET命令是一个命令行命令,Net 命令有很多函数用于实用和核查计算机之间的NetBIOS连接,可以查看我们的管理网络环境、服务、用户、登陆等信息内容;要想获得Net 的HELP可以(1)在Windows下可以用图形的方式,开始->帮助->索引->输入NET;(2)在COMMAND下可以用字符方式:NET /?或NET或NET HELP取得相应的方法的帮助。所有Net命令接受选项/yes和/no(可缩写为/y和/n)。

  下面对NET命令的不同参数的使用技巧介绍如下:

  1、Net View

  作 用:显示域列表、计算机列表或指定计算机的共享资源列表。
  命令格式:Net view [\computername | /domain[:domainname]]

  有关参数说明:

  ·键入不带参数的Net view显示当前域的计算机列表
  ·\computername 指定要查看其共享资源的计算机
  ·/domain[:domainname]指定要查看其可用计算机的域

  例如:Net view \GHQ查看GHQ计算机的共享资源列表。
     Net view /domain:XYZ 查看XYZ域中的机器列表。

  2、Net User

  作 用:添加或更改用户帐号或显示用户帐号信息。
  命令格式:Net user [username [password | *] [options]] [/domain]

  有关参数说明:

  ·键入不带参数的Net user查看计算机上的用户帐号列表
  ·username添加、删除、更改或查看用户帐号名
  ·password为用户帐号分配或更改密码
  ·提示输入密码
  ·/domain在计算机主域的主域控制器中执行操作。该参数仅在 Windows NT Server 域成员的 Windows NT Workstation 计算机上可用。默认情况下,Windows NT Server 计算机在主域控制器中执行操作。注意:在计算机主域的主域控制器发生该动作。它可能不是登录域。

  例如:Net user ghq123查看用户GHQ123的信息。

  3、Net Use

  作 用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。
  命令格式:Net use [devicename | *] [\computernamesharename[volume]] [password|*]][/user:[domainname]username][[/delete]| [/persistent:{yes | no}]]

  有关参数说明:

  ·键入不带参数的Net use列出网络连接
  ·devicename指定要连接到的资源名称或要断开的设备名称
  ·\computernamesharename服务器及共享资源的名称
  ·password访问共享资源的密码
  ·*提示键入密码
  ·/user指定进行连接的另外一个用户
  ·domainname指定另一个域
  ·username指定登录的用户名
  ·/home将用户连接到其宿主目录
  ·/delete取消指定网络连接
  ·/persistent控制永久网络连接的使用。

  例如:Net use f: \GHQTEMP 将\GHQTEMP目录建立为F盘
     Net use f: GHQTEMP /delete 断开连接。

  4、Net Time

  作 用:使计算机的时钟与另一台计算机或域的时间同步。
  命令格式:Net time [\computername | /domain[:name]] [/set]

  有关参数说明:

  ·\computername要检查或同步的服务器名
  ·/domain[:name]指定要与其时间同步的域
  ·/set使本计算机时钟与指定计算机或域的时钟同步。

  5、Net Start

  作 用:启动服务,或显示已启动服务的列表。
  命令格式:Net start service

  6、Net Pause

  作 用:暂停正在运行的服务。
  命令格式:Net pause service

  7、Net Continue

  作 用:重新激活挂起的服务。
  命令格式:Net continue service   

  8、Net Stop

  作 用:停止 Windows NT/2000/2003 网络服务。
  命令格式:Net stop service

  下面我们来看看上面四条命令里服务包含哪些服务:

  (1)alerter(警报);
  (2)client service for Netware(Netware 客户端服务)
  (3)clipbook server(剪贴簿服务器)
  (4)computer browser(计算机浏览器)
  (5)directory replicator(目录复制器)
  (6)ftp publishing service (ftp )(ftp 发行服务)
  (7)lpdsvc
  (8)Net logon(网络登录)
  (9)Network dde(网络 dde)
  (10)Network dde dsdm(网络 dde dsdm)
  (11)Network monitor agent(网络监控代理)
  (12)ole(对象链接与嵌入)
  (13)remote access connection manager(远程访问连接管理器)
  (14)remote access isnsap service(远程访问 isnsap 服务)
  (15)remote access server(远程访问服务器)
  (16)remote procedure call (rpc) locator(远程过程调用定位器)
  (17)remote procedure call (rpc) service(远程过程调用服务)
  (18)schedule(调度)
  (19)server(服务器)
  (20)simple tcp/ip services(简单 TCP/IP 服务)
  (21)snmp
  (22)spooler(后台打印程序)
  (23)tcp/ip Netbios helper(TCP/IP NETBIOS 辅助工具)
  (24)ups
  (25)workstation(工作站)
  (26)messenger(信使)
  (27)dhcp client

  9、Net Statistics

  作 用:显示本地工作站或服务器服务的统计记录。
  命令格式:Net statistics [workstation | server]
  有关参数说明:

  ·键入不带参数的Net statistics列出其统计信息可用的运行服务
  ·workstation显示本地工作站服务的统计信息
  ·server显示本地服务器服务的统计信息

  例如:Net statistics server | more显示服务器服务的统计信息。

  10、Net Share

  作 用:创建、删除或显示共享资源。
  命令格式:Net share sharename=drive:path [/users:number | /unlimited] [/remark:"text"]
  有关参数说明:

  · 键入不带参数的Net share显示本地计算机上所有共享资源的信息
  · sharename是共享资源的网络名称
  · drive:path指定共享目录的绝对路径
  · /users:number设置可同时访问共享资源的最大用户数
  · /unlimited不限制同时访问共享资源的用户数
  · /remark:"text "添加关于资源的注释,注释文字用引号引住

  例如: Net share yesky=c: emp /remark:"my first share"
  以yesky为共享名共享C: emp
  Net share yesky /delete停止共享yesky目录

  11、Net Session

  作 用:列出或断开本地计算机和与之连接的客户端的会话。
  命令格式:Net session [\computername] [/delete]
  有关参数说明:

  ·键入不带参数的Net session显示所有与本地计算机的会话的信息。
  ·\computername标识要列出或断开会话的计算机。
  ·/delete结束与 computername 计算机会话并关闭本次会话期间计算机的所有打开文件。如果省略computername 参数,将取消与本地计算机的所有会话。

  例如:Net session \GHQ要显示计算机名为GHQ的客户端会话信息列表。

  12、Net Send

  作 用:向网络的其他用户、计算机或通信名发送消息。
  命令格式:Net send {name | * | /domain[:name] | /users} message
  有关参数说明:

  ·name要接收发送消息的用户名、计算机名或通信名
  ·* 将消息发送到组中所有名称
  ·/domain[:name]将消息发送到计算机域中的所有名称
  ·/users将消息发送到与服务器连接的所有用户
  ·message作为消息发送的文本

  例如:Net send /users server will shutdown in 10 minutes.给所有连接到服务器的用户发送消息。

  13、Net Print

  作 用:显示或控制打印作业及打印队列。
  命令格式:Net print [\computername ] job# [/hold | /release | /delete]
  有关参数说明:

  ·computername共享打印机队列的计算机名
  ·sharename打印队列名称
  ·job#在打印机队列中分配给打印作业的标识号
  ·/hold使用 job# 时,在打印机队列中使打印作业等待
  ·/release释放保留的打印作业
  ·/delete从打印机队列中删除打印作业

  例如:Net print \GHQHP8000列出\GHQ计算机上HP8000打印机队列的目录。

  14、Net Name

  作 用:添加或删除消息名(有时也称别名),或显示计算机接收消息的名称列表。
  命令格式:Net name [name [/add | /delete]]
  有关参数说明:

  ·键入不带参数的Net name列出当前使用的名称
  ·name指定接收消息的名称
  ·/add将名称添加到计算机中
  ·/delete从计算机中删除名称

  15、Net Localgroup

  作 用:添加、显示或更改本地组。
  命令格式:Net localgroup groupname {/add [/comment:"text "] | /delete} [/domain]
  有关参数说明:

  ·键入不带参数的Net localgroup显示服务器名称和计算机的本地组名称
  ·groupname要添加、扩充或删除的本地组名称
  ·/comment: "text "为新建或现有组添加注释
  ·/domain在当前域的主域控制器中执行操作,否则仅在本地计算机上执行操作
  ·name [ …]列出要添加到本地组或从本地组中删除的一个或多个用户名或组名
  ·/add将全局组名或用户名添加到本地组中
  ·/delete从本地组中删除组名或用户名

  例如:Net localgroup ggg /add 将名为ggg的本地组添加到本地用户帐号数据库;
  Net localgroup ggg 显示ggg本地组中的用户。

  16、Net Group

  作 用:在 Windows NT/2000/2003 Server 域中添加、显示或更改全局组。
  命令格式:Net group groupname {/add [/comment:"text "] | /delete} [/domain]
  有关参数说明:

  ·键入不带参数的Net group显示服务器名称及服务器的组名称
  ·groupname要添加、扩展或删除的组
  ·/comment:"text "为新建组或现有组添加注释
  ·/domain在当前域的主域控制器中执行该操作,否则在本地计算机上执行操作
  ·username[ …]列表显示要添加到组或从组中删除的一个或多个用户
  ·/add添加组或在组中添加用户名
  ·/delete删除组或从组中删除用户名

  例如:Net group ggg GHQ1 GHQ2 /add将现有用户帐号GHQ1和GHQ2添加到本地计算机的ggg组。

  17、Net File

  作 用:显示某服务器上所有打开的共享文件名及锁定文件数。
  命令格式:Net file [id [/close]]
  有关参数说明:

  ·键入不带参数的Net file获得服务器上打开文件的列表
  ·id文件标识号
  ·/close关闭打开的文件并释放锁定记录

  18、Net Config

  作 用:显示当前运行的可配置服务,或显示并更改某项服务的设置。
  命令格式:Net config [service [options]]
  有关参数说明:

  ·键入不带参数的Net config显示可配置服务的列表
  ·service通过Net config命令进行配置的服务(server或workstation)
  ·options服务的特定选项

  19、Net Computer

  作 用:从域数据库中添加或删除计算机。
  命令格式:Net computer \computername {/add | /del}
  有关参数说明:

  ·\computername指定要添加到域或从域中删除的计算机
  ·/add将指定计算机添加到域
  ·/del将指定计算机从域中删除

  例如:Net computer \js /add将计算机js 添加到登录域。

  20、Net Accounts

  作 用:更新用户帐号数据库、更改密码及所有帐号的登录要求。
  命令格式:Net accounts [/forcelogoff:{minutes | no}] [/minpwlen:length] [/maxpwage:{days | unlimited}] [/minpwage:days] [/uniquepw:number] [/domain]
  有关参数说明:

  ·键入不带参数的Net accounts显示当前密码设置、登录时限及域信息
  ·/forcelogoff:{minutes | no}设置当用户帐号或有效登录时间过期时
  ·/minpwlen:length设置用户帐号密码的最少字符数
  ·/maxpwage:{days | unlimited}设置用户帐号密码有效的最大天数
  ·/minpwage:days设置用户必须保持原密码的最小天数
  ·/uniquepw:number要求用户更改密码时,必须在经过number次后才能重复使用与之相同的密码
  ·/domain在当前域的主域控制器上执行该操作
  ·/sync当用于主域控制器时,该命令使域中所有备份域控制器同步

  例如:Net accounts /minpwlen:8 将用户帐号密码的最少字符数设置为8。

  当然Net命令具体在Win98/NT/2000/XP/2003环境中使用,可能会存在一些差异,请大家参考有关的资料说明,在此就不多说了。

  下面是一个将Net、ping 和ipconfig 命令组合起来使用,测试局域网的连通性,判定远程计算机Microsoft 网络服务的文件和打印机有无共享的实际例子。仅供同志们在学习操作Net网络命令做参考,具体步骤如下:

  1)首先我们要使用 Ping 命令测试 TCP/IP 的连接性,然后用 ipconfig 命令的显示,以确保网卡不处于“媒体已断开”状态。
  2)打开DOS命令提示符,然后使用IP地址对所需主机进行 Ping 命令测试。
  如果 Ping 命令失败,出现“Request timed out”消息,请验证主机 IP 地址是否正确,主机是否运行,以及该计算机和主机之间的所有网关(路由器)是否运行。
  3)要使用 Ping 命令测试主机名称解析功能,请使用主机名称 ping 所需的主机。
如果 Ping 命令失败,出现“Unable to resolve target system name”消息,请验证主机名称是否正确,以及主机名称是否能被 DNS 服务器解析。
  4)要使用Net view 命令测试 TCP/IP 连接,请打开命令提示符,然后键入 Net view\计算机名称。Net view 命令将通过建立临时连接,列出使用 Windows XP/NT/2000/2003 的计算机上的文件和打印共享。如果在指定的计算机上没有文件或打印共享, Net view 命令将显示“There are no entries in the list”消息。
如果 Net view 命令失败,出现“System error 53 has occurred”消息,请验证计算机名称是否正确,使用 Windows XP/NT/2000/2003 的计算机是否运行,以及该计算机和使用 Windows XP/NT/2000/2003 的计算机之间的所有网关(路由器)是否运行。

  如果Net view 命令失败,出现“System error 5 has occurred.Access is denied.”消息,请验证您登录所用的帐户是否具有查看远程计算机上共享的权限。

  要进一步解决连通性问题,请执行以下操作:

  a)使用 Ping 命令 ping 计算机名称。

  如果 Ping 命令失败,出现“Unable to resolve target system name”消息,则计算机名称无法解析为 IP 地址。

  b)使用Net view 命令和运行 Windows XP/NT/2000/2003 的计算机的 IP 地址,如下所示:

  Net view \IP 地址;如果Net view 命令成功,那么计算机名称 解析成错误的 IP 地址。

  如果Net view 命令失败,出现“System error 53 has occurred”消息,则说明远程计算机可能没有运行 Microsoft 网络服务的文件和打印机共享。

想看看英文版的我的Blog么?呵呵。点这个地址:

http://translate.google.com/translate?u=http%3A%2F%2Fwww.g0dspeed.com&langpair=zh-CN%7Cen&hl=zh-CN&newwindow=1&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools

对了,这个是Google的自动翻译功能。它可以把你想要看的网页翻译成为你所熟悉的语言。虽然翻译的不是很准确,但是大部分内容你还是可以看懂了。呵呵

不过我们可以利用它实现另外一个功能,就是比如我们不能访问 http://www.wikipedia.com , 你就可以利用Google Translate把 wikipedia 翻译为中文这个功能来访问wikipedia了。不错吧?