csatblogspotdotcom

Sunday, August 29, 2010

windows上的IIS配置

今天凌晨在自己win7_64的笔记本上配置了IIS,win7的IIS是7.5的版本,这个版本的IIS和win7一样,很强大,看来微软的实力还是很强的,要想集中精力去做一个东西,还是可以做的很好的。localhost的界面也和win7的风格一致,很漂亮。装好后里面的配置选项很多,管理工具集十分强大。安装IIS的过程也很容易,没碰到什么困难。
配好后把之前的一个default.asp文件弄进去,结果显示不了,并提示:
An error occurred on the server when processing the URL. Please contact the system administrator.

If you are the system administrator please click here to find out more about this error.

看了一下default.asp内容,发现只有这一句
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="CP_ACP"%>
可能出现错误,于是上网一查,将之改为
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
就好了。



以上是配置win7下的IIS。刚才弄了下我公司台式机XP下的IIS,发现真的是不好比,完全不是一个档次上的。
首先是把XP光盘放进去后,选上IIS(里面有几个简单的选项),安装很快结束,给人感觉这个东西很简易,和7.5版本比很不专业。
装好后访问不了,用firefox打开时提示要密码。。。随便搞一个还不行。估计是访问权限问题。于是把wwwroot的权限全设上了,还是不行,搞了半天,设了密码后又出现“Server Application Error”的错误。IIS 5.1 真是麻烦啊。弄了好一会最终解决掉。过程如下:

首先把相关文件夹的所有权限全加上。

其次在默认网站属性里有一个目录安全性,里面有个和匿名访问相关的选项,编辑之,选中匿名访问,选中IUSR_GDCCAISHUO这个用户,密码让IIS控制吧。

接下来启动MSDTC也就是Distributed Transaction Coordinator这个服务。刚开始用“net start msdtc”不能启动,错误码1073737712,需要在“C:\WINDOWS\system32\”中加个dtclog文件夹(如果已有该文件夹则重命名之再新建),运行命令“msdtc -resetlog”,再“net start msdtc”就可以成功了。

下一步给IUSR_机器名和IWAM_机器名这两个用户加上密码,我设的和机器的登录密码一样。

再后面运行如下几个命令:
cd C:\Inetpub\AdminScripts
cscript.exe adsutil.vbs set w3svc/wamuserpass 自己设置的密码
cscript.exe adsutil.vbs set w3svc/anonymoususerpass 自己设置的密码
cscript.exe synciwam.vbs -v
iisreset
cd %windir%\system32\inetsrv
rundll32 wamreg.dll, CreateIISPackage
regsvr32 asptxn.dll
关闭所有浏览器窗口,重新打开页面就OK了。

打开后发现http://localhost/IISHelp/iis/misc/default.asp这个页面的目录栏里的中文居然是乱码。。。
整个配置过程比较复杂,到中途我都有点不想配的感觉,还是win7好啊。

Labels: ,

Wednesday, August 25, 2010

优化维护windows系统的一些心得

用了几年电脑,现在总结几点优化电脑的心得。

1.系统的软件可以默认装到C盘。
可能这样会让C盘大一些,但现在的硬盘容量也不在乎这点点空间。所以装在C盘对于硬盘空间上没有害处。
可能重装系统后这些软件需要重装,但只要自己平时把安装软件备好,重装是很快的;即使实时下载安装包也很快;更重要的是根据我的经验,要么整个盘出了问题,全部重搞,即使装在D盘,最后还是没能避免重新安装软件的步骤;还有一点,现在的win7里,如果是绿色软件,不安装的话可能会出现UAC相关的问题。所以总的来说,装在C盘对于重装的时间上没有坏处。
更重要的是这样会减少一些潜在的莫名的错误,例如我前段时间帮一个同事装公司定制的Symantec软件,他之前还专门请了公司的技术人员也没搞定,我一接手就知道是路径问题,因为系统是我帮装的,系统的program files的默认路径在D盘,但公司定制的那个需要C,于是我在注册表里改回了C,注销后成功安装。
顺便说一句,对于那些喜欢搞些乱七八糟的东西的人,还是放到D盘,因为重装方便。

2. Desktop、文档、照片等资料,这些非程序性的东西,可以设置到D盘。
这些东西放到D盘对于重装来说省事,不需要迁移,因为重装的是C盘。如果放到C盘,万一系统坏了进不去,就可以直接装了,覆盖C盘,不然的话还要想办法把它们从C盘拷出来。再一个,虽然现在硬盘大,但这些资料和系统、程序之类的都挤在C盘也麻烦,毕竟分个类还是好一些。

3. 备份!千万要做好备份。
平时总听别人说备份多重要,自己也知道重要,但嫌麻烦于是没有身体力行。但吃过几次苦头后,我就老实了。尽管自己平时很小心,但仍难免出错,例如上次想对分区进行操作,结果弄了个动态磁盘,搞得不得不重新格式化整个硬盘,开始不知道那些资料还有救不,弄得我揪心死了。要是有备份的话,就不用担心资料丢失。
有备份恢复起来也方便。
我是把东西全部备份在一个移动硬盘里的。而且开了每月最后一天定时备份。
同时网络存储里的东西也在自己机子上备份,例如我开了离线gmail,在本地备份了gmail的全部内容。

4. 关掉不必要的进程、服务。
对于一台电脑来说,CPU和内存是很难坏的,一般都是硬盘出问题。硬盘出问题了,备份可以解决资料丢失的问题;另一方面,尽量减少不必要的写磁盘操作能延长磁盘寿命。
例如在win7里那个什么为了搜索方便而进行的索引操作,等等后台进程,还有一些程序,任务计划等,在360里把一些没必要开启的全关掉,这样不仅减少对磁盘操作,同时还可以增加系统启动速度和运行速度。
PS:我意思是关掉那些众所周知的没用的,一般拿不准的就别关了,免得哪个时候又要用到,查半天查不出问题原因,搞到最后是没开某某服务,毕竟一般服务并不会占用太多资源。

5. 不装不必要装的软件。
装多了,影响开机速度,运行速度,而且在注册表以及安装目录里增加垃圾文件。而且我一直相信东西越多,出问题的机会越多,说不定某个软件有后门之类的呢?

6. 系统运行慢的话,清理一下磁盘碎片。但不要开系统自带的自动碎片之类,免得耗资源。

7. 系统磁盘空间不足的话,删除不用或少用的软件,清理系统垃圾、缓存之类的。

8. 并不是软件版本越高越好。一般来说,版本越高占用资源越多,但增加的服务并不明显,得不偿失,还不如装低版本的。

9. 系统补丁没实质性作用。反正我从来不打补丁,反而是觉得大了补丁之后占用了一大堆磁盘空间。所以建议关掉自动更新。

10.关掉系统还原。作用不大,不仅占资源,而且真正出了问题,很可能不能解决,到最后还是要重装。

11.关掉一些不必要的特效,耗资源,影响速度,关掉后对用户体验来说并没有太大差别。

12.对笔记本来说,设置没电时进入休眠状态,这样保存了现场,充电后开机时资料不丢失。关机键也设为休眠,免得不小心按了那个键,东西一下子都没了。

13.一些没必要装的插件尽量少装。曾经对firefox的插件感兴趣,装了很多,但发现耗资源,影响速度,而且很多平时都没有去用,所以现在firefox上只装必用的几个插件了。

14.尽量少设置些用户,尤其是系统管理员组的用户,如果是自己的本本,就只设置一个用户吧。

15.不运行来历不明的,自己拿不准的软件;尽量不在其它人的电脑上用自己的账户登录,例如QQ、主邮箱等;系统设置简单密码,一来免得复杂密码输入麻烦,二来免得没密码了让别人随便都可以用;对于自己的电脑关闭远程桌面。

16.不要好几天不关机。这样不仅会让系统变的慢, 而且可能会出莫名其妙的问题。

17.减少浏览器缓存。我设为8M。大了影响载入速度(经验)而且占用磁盘资源,小了免得动不动就从服务器读,也影响速度。

18.关掉无用设备,少用光驱。例如笔记本如果有无线,关掉有线网卡,免得耗资源;光驱易坏,少用为妙,顶多在系统重装、复制光盘时用。

19.自己的文档、照片等等,还有一些软件例如netbeans和vs2008等,都可以放到微软windows默认的文件夹中。以前一直不喜欢往“我的文档”、“我的照片”,以及其它一些默认的目录里放东西,总是自己建文件夹。但用了这么久,也许是win7的成功吧,让我突然觉得其实用系统自己的目录挺好的,何必花那些不必要的精力去搞些自己的文件夹呢。

20.在网络上存储一些东西,例如书签,我就存在了Google上。一是安全,那些国际大公司服的务器总比自己电脑安全吧;二来他们提供的有些服务确实比自己弄要方便,网络存储的好处就是可以在多台不同计算机上登录,但看到的用到的是同样的东西,例如Google的书签。

21.保持一颗上进的心,不断学习接受新知识,不断探索解决新问题。

Labels: ,

虚拟内存不足造成的内存不足提示

我2G内存,减去集成显卡的0.25G,还有1.75G,平时所用的物理内存基本在1G左右,顶多也就1.5G,但经常提示内存不足,最严重的一次黑屏了,不得不重启,很奇怪。
然而我突然想起之前我设置过虚拟内存,而且把它设的很小,初始为256M,最多不超过512M。是啊,物理内存充足,但还是提示不足,一定是虚拟出的内存不足,让系统以为内存不足了。经过观察,发现虚拟内存对应的磁盘文件pagefile.sys未达到512M时没有提示内存不足,而当再次出现提示的时候这个文件果然到了512M。
于是把它设为了512-1024M。估计以后不会再次出现同样的问题了。
果然,再次看pagefile.sys文件时,大小突破了512M,到达544M,而且好像如饥似渴的一直在往上涨。

PS:通过邮件发布blog还是没那么好啊,明明邮箱里显示发送的邮件只有一封,但显示了两个同样的blog,而且也不知咋选标签。。。

Labels: ,

Monday, August 23, 2010

一些代理工具及方法杂谈

TOR太慢,况且TOR的overlay网络到目的地之间是没有加密的。不过总的来说,TOR除了速度慢之外,其它的真算不上真缺点。获取bridge的方法:
* You can find public bridge addresses by visiting https://bridges.torproject.org. The answers you get from that page will change every few days, so check back periodically if you need more bridge addresses.
* Another way to find public bridge addresses is to send mail to bridges@torproject.org with the line get bridges by itself in the body of the mail. However, so we can make it harder for an attacker to learn lots of bridge addresses, you must send this request from a Gmail account.

自由门、无界随快,但谁能保证开发人员没设置后门呢?况且这种反华背景的东西,还是少用的好

SSH虽快,但免费的不好找,像shellmix刚注册用了一天就不行了,要钱的没试过。像这个http://blockcn.com/里的报价一年40块就可以有每月10G流量,50块20G,100块50G。客观的讲,并不贵。如果自己用推荐dreamhost等有名气的。

VPN类的像UltraVPN、OpenVPN,没用过,也不想花精力去研究。

其它的像puff之类的没名气的不考虑了。

想了想还是觉得gappproxy实用,虽然用http实现https并不安全,但问我又不是什么什么人,谁会关注我?速度也不错。据说不能访问twitter和facebook,但我平时不怎么上。不过平时登录银行网站的时候确实要注意下。安全性高的还是要用TOR。


后记:
发现TOR是个socks代理,polipo(之前有privoxy)把它转换为了http代理,vidalia是TOR的图形界面,TorButton是浏览器插件。刚用了下,发现速度并不是想象中的那样慢,挺方便的。以后打算主用TOR。

Labels: ,

Sunday, August 22, 2010

QQ的update提示

2010-08-22 23:28
最近发现QQ在登录前经常提示更新,是否允许“QQ2010kb4_update.exe”对电脑操作之类的,而且有这样一个规律:用自己经常登录的账号登录的时候总是一次提示一次不提示,而我在提示的时候总是选择拒绝,而在拒绝之后QQ就退出运行了。很反感这样一种带有强制性升级意味的行为,就像计算机世界杂志所说的那样:狗日的腾讯。于是我决定找到这个文件,搞定它。

win7自带的搜索很快,一下就搜到了是在“C:\Users\caishuo1234\AppData\Roaming\Tencent\QQ \AuTemp\$T5B8A0MPBUHNDLRWK$A36D\1280997028823335664”中,进入C:\Users \caishuo1234\AppData\后发现里面还有很多程序搞的一些杂七杂八的文件,同时发现狗日的腾讯在我机子里在后台下了好多东西,什么软件管理器、QQ2009、QQ2010、QQ工具栏、QQ安全工具等等之类的安装程序,而且有些还有zip打包,旁边还有个偷偷解包了的exe文件,而且还有好多我聊天的图片在里面。最后看到不顺眼的就一口气全删!

同时里面还有QQmusic的一些缓存,每次我点开一个歌,缓存了一点点就删掉,但它还是在后台下载,等我重新打开这首歌听时,已经缓存完了,QQmusic就这样在后台用p2p的方式为用户上传下载在线歌曲。

搜QQ的update文件时还发现了C:\Program Files (x86)\Tencent\QQGAME\Update里有update.exe,这时我想起了每次运行QQ游戏,总提示是否允许修改(拒绝后自动重定向到VirtualStore里),估计就是这个搞的,于是也删之。

现在这种带有强制性升级意味的软件越来越多了。有时候QQmusic登录不上,等我改用有道音乐盒用了一天,回来发现又可以登录了,莫非也是强迫性的要我换最新版的?搜狗输入法也是,非要我用最新版的才让我上传下载用户词库。我干脆就不上传下载了。现在这个QQ也是这样。都没有选择的余地。

刚才我也顺便查了下C:\Users\用户名\AppData文件夹里Local,LocalLow,Roaming的区别。
Local和LocalLow存放用户的所装软件的配置文件和临时文件,而且是不随用户roam(漫游)的文件,相当于XP的“Documents and Settings\username\Local Settings\Application Data”文件夹,而Roaming也是存放用户软件配置文件和临时文件,只不过是一些随用户roam(漫游)的文件,和特定机器无关的文件,它相当于 XP的“Documents and Settings\username\Application Data”文件夹。对于roaming文件夹来说,如果用户在一个域里面登录,用户注销后这个文件夹会被拷贝到域的服务器上,下次这个用户即使在另一台电脑上登录,这些配置还是和上次一样。LocalLow里的文件很少,在一些有较低完整性(lower integrity level)的场合使用,例如和IE的add-on相关的,当IE运行在保护模式时,这些扩展会用到这个文件夹来保存文件和配置。

后记:
等我删完QQ的update之后,再次登录QQ,没有出现提示,但登录框下多了个QQ的安全提示,是什么要你了解QQ特有安全组件的信息,不理它了。

后记2:
刚才登录又出现了那个提示框,应该是和UAC相关的,仔细一看,发现下面点开就给出了文件所在位置,一个是AppData里Roaming文件夹中某地方,另一个是Tecent里的QQ文件夹,还有一个是Tecent/QQ/Bin里的auclt.exe,上网一查才知道这个才是真正的更新程序,可以把它的安全属性设置成拒绝所有,但我干脆删之,到时候不行再设属性。

Labels: ,

win系统出问题后的一些办法

2010-08-22 03:50
刚做备份的时候想起了几个月前的一次经历。
我硬盘250G,给Ubuntu分了160多吧,但一直都没怎么用Ubuntu,所以想格掉,但格的时候发现不行,google后发现是分区太大,网上说要把磁盘转换为动态磁盘,而我也没多想,也没觉得转换成动态磁盘会出什么问题,于是就按网上的说法,用一个命令转了。之后发现启动不了,又google 之,发现这还是个很大的问题哦,而且很麻烦,一般要把整个硬盘重新格掉才行,这个操作时不可逆的!我花了很多精力,还是没办法,只有进入winpe把里面的数据拷贝到我的移动硬盘上(可恶的是winpe不识别移动硬盘,只识别U盘,我要一点一点的搞),然后格硬盘、重装。
整个过程真是搞死我了。

结合今天思考研究过的一些东西,想记下以下几点:

1. 解决过程中,我偶然发现了一张Ghost碟里面有个破解win开机密码的小工具,这个是个意外收获。

2. 通过winpe的光盘,可以不用硬盘就启动,它相当于Ubuntu的livecd。以后出了大问题,例如硬盘坏了,可以用这个启动,然后在winpe里看硬盘,以及从机子里把能识别的资料拷到移动硬盘里。我也试过U盘启动的系统,不好使,不是每个U盘都可以,所以条件允许的话还是用winpe的CD,简单可靠。

3. 刚花了些时间,查得win的备份文件可以还原到一个分区大小不一样的分区里,但目标分区的大小要比原分区一样大或更大。参考资料:http://support.microsoft.com/kb/130928/en,标题为“Restoring a Backup of Windows NT to Another Computer”。我估计目标分区的大小需要容纳得下备份文件,这样就可以了。

4. 定期备份是很重要的,我现在设定了每个月最后一天备份,而且刻了张系统修复光盘(我的两百多兆,win7 64,网上的一般100多M)。我用移动硬盘做备份,B、C、D用系统自带的备份操作备份到移动硬盘里,E盘里的资料直接拷贝到移动硬盘里,这样计算机上的数据和移动硬盘里的互为备份。

5. 记一下我的分区:先分两个盘,各50G大小(当时分区的时候可能写的是50000M吧),剩下的全给E,系统自动从第一个分区里分离了一个boot分区出来,这样D比C略大。具体为:B(已用64,913,408; 可用39,940,096; 容量104,853,504)、C(已用29,908,336.640可用22,415,601,664容量52,323,938,304)、D(已用 21,075,128,320可用31,353,667,584容量52,428,795,904)、E(已用120,944,320,512可用 24,255,139,840容量145,199,460,352)。

6. win7里自己刻录的系统修复光盘,用安装盘也可以代替,只不过系统修复光盘可以直接进入修复界面,而且据网上说系统修复光盘运用面更广,可以适用于Vista。

7. 今天准备备份的时候发现控制面板里的备份里面全是空白,于是想起了我之前烦备份提示,也怕它占资源,于是把备份对应的服务给禁止掉了,刚才手动设置为“手动”就好了。

8. 最后最重要的一点,系统出问题后的解决步骤。
win7系统相对于XP很完善,一般的问题自动可以修复,例如我刚才,机子好多天没注销、重启,只是每天休眠或睡眠,同时开了很多程序,火狐里的页面一大堆,老是提示内存不足,但我没理会,结果出现了什么读内存的错误,复制操作的对话框一直卡在那儿,但复制的目标盘(移动硬盘,这个盘甚至打开里面的文件夹都不能弹出的)已经弹出了,我只好注销,结果不行,重启,但黑屏后硬盘一直工作,关不了机,等了半天只好强制重启,最后选择了正常启动后,啥事也没有。
自动修复不了的时候系统还原吧(我嫌系统还原占资源,把它禁掉了)。系统还原估计会把注册表恢复到之前的状态,所以新装的软件可能用不了,但用户的数据是全在的。
系统还原不顶用的时候,用系统映像还原吧,呵呵。映像必须是之前已经备份好的。用系统映像还原后系统会回到之前备份时的状态,后来的文件会被覆盖,所以恢复之前要把重要数据拷贝出来。
如果完全进不了系统,那只能用系统修复光盘或安装盘修复系统或者恢复系统。
如果用系统映像还原了系统,还是不行,那只有重装。
重装还不行那就是硬件问题了,电脑寿命到期了。

Labels: ,

可恶的台式机电源

2010-08-21 17:56

组内一台台式机,启动到中途就自动重启,用安全模式进入,运行一段时间后又重启。曾经在实验室碰到过类似的问题:分给我的一台电脑启动不了,换电源后就好了。像这种情况很可能是电源供电不足不稳。

于是我进入安全模式,用组内的一个移动硬盘来把里面的资料拷出来,结果把移动硬盘挂上去发现不能识别,挂倒其他机子上也不行。但这个硬盘之前是没听说坏掉的。硬盘自身有外接电源,有插头,另外用一个USB接口接到电脑上。同事说有可能是台式机有问题的电源的电流冲击了硬盘,我想了半天,觉得这种可能性最大,不过也有可能是之前就坏掉,但这种可能性很小。不管怎么说,这东西一到我手上就坏掉,真是郁闷。

这种用久了的台式机出现电源问题的不少,之前组内就碰到过一次。以后这种用了很久电源有问题的机子一定要提防,弄不好就把接上去的设备弄坏,最好是把硬盘拿下来,挂到另外的机子上,把资料拷贝出来。

Labels: ,

计算机加入域后保持桌面等个人配置和文件夹位置不变

2010-08-21 11:23

最近公司要求自己的电脑入域,我自己的电脑很顺利,一次性成功,也给另一个同事入域正常。但另外一个,总是在“Documents and Settings”下产生新的个人文件夹,这样最典型的一个症状就是用域账号登录后桌面变了,好像重装了一样。最后搞了好久,七搞八搞的也搞定了,但还是不确定具体是什么原因,只是反复参考操作指引上的来弄。

今天又在另一台电脑上入域,仍旧是桌面变了,在“Documents and Settings”下产生了新用户的文件夹。我反复对比自己电脑的配置,突然发现我电脑上的个人文件夹的可访问权限是“everyone”!我这时才记起来我的个人文件夹是我很早以前在D盘里自己建立的!于是我把用户文件夹的权限改为“everyone”,注销后搞定!

之前一直以为把文件夹的所有权限赋给域用户就可以了,但这样还是不行,原来是要“everyone”的权限。

下面再总结下入域过程。

其实入域就是增加了一个属于特定域的账号。整个过程依次为:启动相关服务,同时防火墙的相关端口打开,添加域用户至管理员组,修改用户文件夹的使用权限(建议改为everyone)(set userprofile查看当前用户文件夹),同时验证域中是否存在此用户(我们公司验证方法为,运行中输入“\\XX.XXX.INTRA”后输入用户名和密码),更改隶属于的域(有的还要修改计算机名为公司要求的规范名),重启OK。

若加入失败,可重新试一次。

如果要退出域,把“隶属于”从域改为任一计算机工作组,重启即可。为了安全起见,域用户也删掉。





后记:
今天帮一同事入域,XP系统,之前用入域工具出了问题,Documents and Settings下的Administrator文件夹可以访问,但里面的所有文件夹都没有权限,想修改、增加权限都不行,用户是Administrator,这就是说这些文件夹谁也访问不了了,于是google之,发现可以在文件夹属性的安全里的高级里的所有者里的选项:“替换子容器及对象的所有者”,选上后修改Administrator文件夹属性,这样就可以递归的修改它里面的子文件夹属性了,然后就可以访问这些文件夹了。
上面的操作使同事的机子可以正常登录了,接下来是入域。把Administrator文件夹属性设为everyone可读写后删除域用户文件夹,注销并用域账户登录,它还是创建了域用户文件夹,而不是使用了Administrator的文件夹。最后我用入域工具执行了一遍,就OK了,之前的Administrator用户和域用户使用了同样的用户文件夹,也就是说,用不同的用户登录可以有相同的设置。
我想了想,终于明白,我设置权限让以前的用户文件夹可被其它用户读写,并不能保证新用户的profile文件夹和以前的用户一样,而需要入域工具完成,或者手动设置。今天白天帮另一win7用户入域,由于入域工具并不支持win7,这样新用户就生产了新的profile,登录后就感觉重装了一样。这时就需要手动设置profile了。在注册表中有个profilelist,里面有profileimagepath(具体修改可参考google)

Labels: ,

IRC连接遇到的问题

2010-08-16 18:15

这两天调研了下IRC,发现windows下最好的客户端还是firefox的插件chatzilla,免费而且方便,它设置可以直接在firefox的地址栏里输入地址就行;而像mIRC这之类的并不是说它的易用性不好,它最大的缺点就在于只能试用30天,之后还想用就要交钱。
可能是学计算机的缘故,对系统的安全性比较敏感,使用过程中就想看能不能使用加密后的IRC,发现需要支持ircs协议的IRC服务器。连接时,碰到了一个问题:
[ERROR]ircs://irc.et8.net/ has an invalid security certificate. If you trust this server, [add an exception].
于是搜索了下,找到了如下两种方法:
1. 在firefox中输入
chrome://pippki/content/certManager.xul
选中servers这个tab,加入对这个网址的证书的信任:
ircs://irc.tty2.org:6697
这样就可以正常访问ircs://irc.tty2.org:6697/#kefwchess了。
同样加入对ircs://irc.et8.net:9999的信任,就可以访问ircs://irc.et8.net:9999/software了。
2. 在firefox中输入
https://irc.et8.net:9999/
浏览器会提示是否添加信任,直接添加就可以了
(在添加后,再次访问,就会提示:“You have connected to an IRC server as if it were a web server”)
添加后就可以正常访问了

在这个过程中我明白了三点:
1. SSL,一个基于TCP的协议,它为应用程序提供服务,提供API,让应用层协议能够加密的传输。所以如果想用IRC的加密版,需要服务端配置相应的加密服务ircs。而相应的应用程序如果要支持ssl也需要利用ssl提供的API编写相应的模块。各种不同的服务,各种不同的应用程序都可以利用ssl,例如irc和http。
2. ssl和ssh不同。ssh是应用层的,ssl是在传输层和应用层之间的。应用程序可以利用ssl,达到应用程序之间加密传输的目的,而ssh也可以为其它应用程序提供加密传输,但ssh程序和应用程序之间并不属于加密通道的一部分,这也就是说,ssl更底层,和应用程序的耦合性更高,而利用ssh的话,耦合性并不高。
3. sftp和ftp over ssh的不同之处就在于,sftp是利用了ssl的ftp,而ftp over ssh是一个应用程序利用了另一个应用程序。





后记:
第三点里面有误。sftp并不是ssl over ftp。
参考:
http://www.codeguru.com/csharp/.net/net_general/internet/article.php/c14329
http://blog.csdn.net/xiliuhu/archive/2010/01/30/5270465.aspx
http://en.wikipedia.org/wiki/Ftps
http://en.wikipedia.org/wiki/Simple_File_Transfer_Protocol
http://en.wikipedia.org/wiki/FTP_over_SSH
http://en.wikipedia.org/wiki/Sftp
http://en.wikipedia.org/wiki/FTP_over_SSH#FTP_over_SSH_.28not_SFTP.29
http://en.wikipedia.org/wiki/SSH_file_transfer_protocol
http://en.wikipedia.org/wiki/Secure_copy
http://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol
http://en.wikipedia.org/wiki/Rcp_(Unix)
下面简单记下这些协议的区别。

FTP--File Transfer Protocol,是用于传送文件的一个协议,服务端用端口21和客户端建立TCP连接,而对于要传输的数据,服务器用端口20来和客户端传送数据。

TFTP--Trivial File Transfer Protocol,FTP的简化版本,只是从服务端读写文件而已,它甚至都不能列出目录里的内容。它使用的是UDP协议。连接的端口69,但并不是必须的。数据传输初始化为69,但服务端和客户端可以在初始化时选择,并不一定要69。它占用的内存很小,所以可以用于启动时的路由器等这些没有多少资源的场合。

Simple File Transfer Protocol,复杂程度介于FTP和TFTP之间,现在已经很少用了。

以上的协议都是没有加密的,不安全。为了增强安全性,出现了以下的协议。

FTPS,也叫FTP Secure或FTP-SSL,是增加了对SSL和TLS支持的FTP,它分为两种:explicit(显式)和implicit(隐式)。explicit型的就是对客户端来说,需要显式的请求服务端建立安全连接。客户端用FTP命令:AUTH来建立安全连接,用命令:FEAT结束安全连接回到普通的FTP连接。这样的话,普通的FTP客户端一样可以连到FTPS服务端;implicit型的需要客户端支持FTPS才行,用新的端口990(数据端口为989)来建立TCP连接。直接一连上就是FTPS协议。
FTPS和HTTPS类似。

SFTP--SSH File Transfer Protocol,也被叫做Secure File Transfer Protocol,是能文件访问、文件传送、文件管理功能的网络协议。在SSH 2.0里面描述了该协议,但该协议是可以独立于SSH-2的。SFTP服务端使用端口22。

SCP--Secure Copy,和SFTP一样都是基于SSH的协议,它支持文件传送。SCP是在Unix上的RCP基础上的协议,它可以被看成是RCP与SSH的结合--RCP完成文件传送而SSH实现认证和加密。SCP使用端口22。SCP已经被同样基于SSH的SFTP所取代。
比较SCP和SFTP,二者同样基于SSH,都用到了同样的SSH加密算法,文件传送的开销差不多大,传送的速度差不多。SFTP支持的操作更多,例如支持断点续传、列出目录、远程文件删除,更容易开发相应的图形界面,SFTP在各方面都优于SCP。而有些SCP客户端实质上用的是SFTP,只有服务端不支持SFTP时才改用SCP。

FTP over SSH,也被叫做secure FTP,是建立在SSH隧道上的FTP。由于FTP传送时用到了两个TCP连接,这样在SSH上建立隧道就很难,所以这种被用的很少。21端口的控制连接建立在SSH隧道上后,传送时需要建立新的连接,这样就绕过了安全的SSH隧道。

rlogin--remote login、rsh--remote shell、rcp--remote copy,BSD系统里的。rlogin用于远程登录,rsh用于远程执行命令而无需登录,rcp用于远程拷贝。这一套r开头的工具(不止这三个)由于是明文传输,不安全,已经被其它工具替代:scp代替rcp,ssh代替rlogin和rsh。

以上基本是文件传送类的命令,还有远程登录类的,上面也有部分提到。telnet、rlogin、rsh、ssh等。这四个只有ssh是加密的。

顺便说一句,加密到底有无必要。首先要考虑是否需要加密,如果不是重要场合,加密反而画蛇添足。另外如果传送的文件已经加密过,再加密的话就是多余的了。还有,在SSL和TLS层面加密有时候也达不到加密的要求。

Labels: ,

GAppProxy的使用

在学校时就用过这个,现在下定了决心要翻墙,于是又开始研究起这个东西来。
GappProxy(http://code.google.com/p/gappproxy/)是一个运行在GAppEngine上的代理软件,有服务端和客户端。如果不想自己搭建服务端,就只用一个客户端,但需要一个能提供代理服务的GAppEngine的网址,而这样的网址在网上不好找,于是我准备自己搭建。过程如下:

(参考http://skydao.com/2009/02/google-app-engine-to-do-with-personal-proxy-server-second-edition/以及http://code.google.com/p/gappproxy/wiki/GAppProxy_Manual_for_Windows)

首先到http://code.google.com/p/gappproxy/downloads/list下载该下载的东西,并申请Google App Engine的账号(需要手机号)。然后安装GAppEngine。

接下来安装python。注意只支持2.4、2.5、2.6的,不支持3.x的。我开始用3.x版本的也出现了问题参考http://code.google.com/p/googleappengine/issues/detail?id=1013,改为2.6.5的就好了。以前的python版本不支持https,2.6的版本才支持,但实现的形式并不安全(GappProxy自己说的)。

下一步把fetchserver解压到GAppEngine SDK的安装目录里(我的是C:\Program Files (x86)\Google\google_appengine),再把app.yaml文件编辑下,把里面的应用程序名改为自己的XXX,例如自己的appengine是XXX.appspot.com那么就改为XXX。

再下面就是到命令行,到GAppEngine SDK目录(C:\Program Files (x86)\Google\google_appengine),运行命令“appcfg.py update fetchserver-1.0.0beta”(我加压的文件夹名就是“fetchserver-1.0.0beta”)。输入Google账户的用户名和密码后即可。这时访问“http://XXX.appspot.com/fetch.py”就有内容显示了。这里的fetchserver相当于GAppEngine下的一个应用,这个命令就是把这个应用上载到GAppEngine的服务器上,作为代理的服务端。

最后是客户端的设置,运行gui.exe,在“use fetch server”里面填上“http://XXX.appspot.com/fetch.py”,保存后重新运行gui.exe。浏览器代理设置为127.0.0.1:8000,OK(8000这个端口是定义在gappproxy-1.0.0beta\localproxy\common.py里面)。这个客户端的作用就是把浏览器的信息通过本地的8000端口发送给GAppEngine上的fetchserver服务,然后fetchserver服务再向所需网站发送请求。注意,每个GAppEngine的application每天是有流量限制的,1G。

用这种方式能访问绝大多数网站,但发现blogger这个网站不行,真是郁闷。同样https,百度空间可以。同时听网上人说facebook等上不了,我估计没被墙的网站的https没问题,但被墙之后的网站就不能用https访问了。现在写blog只能通过自由门或无界访问。顺便说下,自由门和无界真的是很强大,所有的都能上,而且支持https,速度也很快,但由于有反华背景,例如法轮功,而且受美国政府资助,所以担心个人隐私泄露后会有大麻烦,所以还是尽量不用这种东西。



后记:
现在发现可以支持https了,blogger可以上,https://reader.google.com也可以了。感觉是firefox设置改后,需要重启,或许是要等一段时间?不管怎么说,这种方式去连https还是不安全。
仔细研究了下设置发现,代理里只能选http并设之为127.0.0.1:8000,其它的像ssl、ftp、socks之类的都不能选,这样就可以随便浏览了。这样是用http的方式实现了https。
我win7 64的机子,发现注册服务后不管用,只能手动运行客户端。而且Google只让传1M以下的文件。。。

Labels: ,

Saturday, August 14, 2010

修改和写入的区别

刚才注意到:
windows下,文件的属性有修改和读写,二者的区别如下:
写入:创建、写入、附加
修改:创建、写入、附加、删除
区别在于是否可以进行删除操作

Labels: ,

win7的UAC造成的卡机问题的解决

前两个月解决的一个win7相关的问题:

在重装了win7后突然发现一种奇怪的现象:间歇性卡机,卡的时候啥也干不了,按道理我这种笔记本配置(Athlon X2 QL-64的CPU,2G DDR2 667MHz的内存,西数5400转/分的250G硬盘)运行个win7完全没问题,之前用的也好好的。于是我尽量减少一些不必要的程序的启动,而且也关掉了一些搜索索引相关的,等等吧,一些服务,但仍然间歇性卡机。网上搜了一大堆,找不到头绪。

转机出现在我注意到了一个现象:卡机的时候硬盘灯一直亮!于是使用win7自带的资源监视器,看看硬盘的相关情况。等到卡机的时候终于发现是那个foxmail的问题,关掉foxmail后就好了。打开foxmail继续观察,发现有个VirtualStore文件夹,foxmail一直朝里面写东西,google之,没有相关中文信息,没办法,只有搜索英文的(win7刚出不久,中文信息很少,尤其对于这种比较邪门的问题)。最后发现是win7的UAC机制的原因。UAC对于没有授权,但又想朝相关文件夹写东西的程序,使用了一种类似沙盒的机制,把这些写入的东西全写到一个指定的系统能控制到的安全的地方:VirtualStore文件夹,也就是C:\Users\XXX\AppData\Local\VirtualStore\。结果是foxmail以为自己写入了C:\Program Files (x86)\Foxmail\,实际上是写入了C:\Users\XXX\AppData\Local\VirtualStore\Program Files (x86)\Foxmail\。而如果需要修改的文件很大,例如foxmail的in.BOX之类的文件,在拷贝的时候(先把文件拷贝到VirtualStore再对VirtualStore中的文件进行修改),就会很耗时,而且很卡(这里有一点我想不太明白,为什么微软不把这个设计的更人性化一些呢,不要让它写的时候就霸占了所有资源,不让别人动了,毕竟我还是双核的本本啊,磁盘你也不要一直霸着写啊。这应该算是这个机制的一个bug吧)。

继续在网上读相关文章,找到了相应的解决方法:赋予这个应用程序相应的写权限。具体的操作可以是重新安装这个程序(我承认这个foxmail是我从原系统拷贝过来,把它当成了绿色软件来用的);也可以修改foxmail文件夹的属性,让当前用户可以对其进行写操作。我是直接修改文件夹属性,OK。之后发现VirtualStore里还有迅雷,刚打开迅雷的时候确实会卡一小会,觉得这个不影响大局,就不管了。

在解决这个问题的过程中我也学会了使用一个有用的工具procmon.exe,和procexp.exe类似,都是微软出的系统性能监视软件,不同的是前者针对于程序和性能的具体行为,是微观上的,而后者针对于程序和进程的表现,是宏观上的(个人理解哦)。

后来有个同事有同样的问题,说卡时强行关机后再开机就没问题了,但第二天问题仍会出现。难道强行关机后它就记得已经拷贝过去了?相关标志位已经被设为了正在拷贝?所以就不会拷贝了?应用程序重新启动后标志位就重新被清零,重新标识为未拷贝?(帮他设置好后过了好一段,前天问这个同事好了没,他说没死机了,顿了会又补了句说后来死了两次,之后就没了。。。真是搞笑!以后这种人要是不请我搞,我就不理会他的问题了)

之前玩斗地主时,发现每次都提示是否允许斗地主程序对系统的修改,我以为这家伙要下载更新,每次都拒绝了,今天重新看VirtualStore文件夹时发现其大小很大,进去一查原来是斗地主的问题。这时一切都清楚了:对于一个有写权限的程序来说,不存在问题;而对于一个没有写权限但又想进行写操作的程序来说,如果只是创建一个新的文件,没问题,只是写的地方不同,一个是原位置,另一个是在VirtualStore文件夹里面,对用户来说没有感知上的区别;但是如果是修改原位置的文件则需要先拷贝到VirtualStore中,再修改VirtualStore中的文件。原文件小的话,还是没问题,拷贝一个小文件有多大问题呢?毕竟现在能运行win7的机子的配置都蛮不错的;而如果需要修改也就是需要拷贝的文件很大的话,例如foxmail里面的收件箱之类的文件,问题就来了,写操作会把整台机子给霸了(微软是这样设计的),这时看到的现象就是:硬盘灯一直亮啊闪啊,鼠标键盘完全没反应,Num Lock键也没反应,让人以为是死了,其实是卡住了,耐心的等等还是等的来的,只不过等来之后,过一会还会出现这个问题:每次要修改就拷贝--它不记得之前已经拷贝过了(这点我真的不明白,为什么它不记得之前拷贝过,每次都要重新拷贝呢,我感觉这个问题很重要,但真实原因不得而知,可能是怕在拷贝并对VirtualStore里的文件修改之后,其它有权限的程序对原属文件夹里的文件进行操作,这样它需要更新吧,于是就每次修改都会拷贝一次以保证VirtualStore中数据的正确性和完整性,如果不是每次都拷贝,这样就存在两个文件不一致的可能。但这可以通过设置一些变量并比较来解决,而不需要用每次拷贝这种蛮办法啊,也许当时的设计人员每想到拷贝会造成什么问题吧。同时原文件也没法删,如果删了只留VirtualStore里的那个也不存在反复拷贝的问题了)。

刚才也看到VirtualStore里有个a.out文件,属于我前两天装的MinGW和MSYS的,于是我想到了前两天在MSYS这个模拟器里touch了一个文件,但到相应目录啥也没找到,于是创建了一个b文件,果然在VirtualStore相应文件夹中找到了“b”,同时还有一个“.bash_history”,把这个文件移到应属的文件夹后,VirtualStore里就没出现它了。从这里面可以看出,修改和创建文件是两个不同的操作!因为没有权限创建文件,所以被重定向到了VirtualStore;但可以修改和删除,于是把文件移动到原属文件夹后,就没有在VirtualStore产生新的文件了。后来我用这个实验证实了修改权限的存在:echo a > b,发现VirtualStore里的b里面的内容为a;把b移动到原属文件夹,echo bbb > b,发现原属文件夹里的文件的内容为bbb,而VirtualStore里没有新增b文件;而不管是VirtualStore里的文件还是原属文件夹里的文件,rm都可以删除,证实了删除权限的存在。(注意:这里的echo是个脚本,touch和rm是exe文件,echo和touch.exe以及rm.exe三个文件的权限一样!MSYS是个模拟器,把windows的接口通过windows上的这几个小程序转换成linux命令。)(这里还有一点,在VirtualStore中创建了文件后,以后每次都直接往里写了,没有一个拷贝的过程,很好。)

看来以后在win7里不能随便用绿色软件了,要把软件安装上去。下次运行斗地主提示我允许修改不的时候,也要允许了,免得往VirtualStore里写。





后记:win7间歇性死机

2010-08-22 04:01
在解决win7间歇性死机的过程中,系统自带的资源监视器起了很大作用,用它可以直接观测到到底是哪个程序狂读写磁盘,哪个程序占用了CPU资源,等等。
这个工具可以用perfmon直接调出(我觉得翻译成性能监视器更好,看名字显然是performance monitor,可能是性能监视器的名字已经被占用了吧)。

Labels: ,

VBA里时间处理

前段时间搞了些excel的宏,遇到了一些问题,其中有一个是保存用时间点命名的文件,时间可以用以下函数:
date1 = Format(Now, "yyyy_MM_dd")
time1 = Format(Now, "HH_mm_ss")
注意大小写要区分,这样出来的才是用0填充的24小时制的,年份4位其余2位的格式。

另外还有后台保存的函数:SaveCopyAs

另外少用“ThisWorkbook”,不然打开两个或以上含有同样代码的文件时会出问题,尽量用例如Workbooks("test.xlsm")的语句

另外定时刷新:
Application.OnTime Now + TimeValue("00:00:10"), "refresh"

另外还有一个过段时间就弹出个框提示什么和个人信息相关的东西,需要加入以下语句消除:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ThisWorkbook.RemovePersonalInformation = Falese
End Sub
加入ThisWorkbook

Labels: ,

mstsc远程桌面的设置

组内一技术牛人突然走人,也不交接,搞得这边人心惶惶。为了增强组内电脑的安全性,把远程桌面监听端口改改。测试的时候又发现防火墙可以对指定的端口指定让哪些IP访问,这样对于服务器来说可以把监听端口改掉,同时对于客户端来说,也可以选择让哪些IP访问,完美。
接下来网上搜了vbs和js的自动修改程序,vbs总是有问题,调不好,而js不够完美。于是想到了直接修改注册表。下面是我搞的modify-mstsc.reg:


REGEDIT4

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Repwd\Tds\Tcp]
"PortNumber"=dword:0000a97d

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"PortNumber"=dword:0000a97d

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]
"3389:TCP"="3389:TCP:*:Disabled:@xpsp2res.dll,-22009"
"43389:TCP"="43389:TCP:10.116.16.105,10.116.16.171:Enabled:我的远程桌面"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\GloballyOpenPorts\List]
"3389:TCP"="3389:TCP:*:Disabled:@xpsp2res.dll,-22009"
"43389:TCP"="43389:TCP:10.116.16.105,10.116.16.171:Enabled:我的远程桌面"

为了增强兼容性,第一行用了“REGEDIT4”(Windows 95/98/ME/NT 4.0第一行必须是“REGEDIT4”。Windows 2000/XP/Vista是“Windows Registry Editor Version 5.00")
修改后重启电脑
访问的时候在IP后加上“:43389”(原端口是3389,自定义为43389),或者在保存的XXX.rdp文件里加上这么一行“server port:i:43389”,直接写成“server port:43389”也可。




后记:在注册表中更改远程桌面监听端口
2010-08-21 15:55

更改远程桌面需更改注册表子项

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Rdpwd\Tds\Tcp]

中的PortNumber键,可惜我参考的网上的资料搞成了

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Repwd\Tds\Tcp]

幸好这个键并无实质性作用,而真正其作用的是

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]

中的PortNumber。今天google.com了一下这个键,发现都是中文文章记录了这个,偶尔有一两个韩文,看来很有可能是一个中国人弄错了,然后大家以讹传讹,不经过自己的验证就直接转别人的日志,搞的我也中了招。

我用以下的一个reg文件修改了下

REGEDIT4

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Rdpwd\Tds\Tcp]
"PortNumber"=dword:0000a97d

[-HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Repwd]






后记2:
用如下命令可以导出注册表为reg文件到指定目录:
regedit /e "%userprofile%\桌面\tmp.reg" HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\GloballyOpenPorts\List
对于注册表项名字有空格的可以加上引号:
regedit /e "%userprofile%\桌面\tmpa.reg" "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"

 后记3: 只需修改[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]中的PortNumber即可(测试环境:win7 64 SP1)

Labels: ,

二级运营商也屏蔽网站

昨天想从www.oracle.com上下载java,下不了,怀疑被墙,但用隧道连到国内另一服务器,可以正常访问,由于用的是珠江宽频,于是电信和网通某家墙了它。联系朋友,发现电信和网通都能,这下清除了:是珠江宽频这个东西墙了它。前两天要么上不了网,要么时断时续,今天又搞这个,真是。也不想和这个东西计较了,免得浪费电话费,反正自己也有办法上。

Labels:

笔记本共享上网的DNS问题

前两天表妹和她朋友用笔记本共享上网遇到了问题:QQ能用,但IE上不了网。
我第一反应是DNS,于是让她把DNS设为8.8.8.8,不行。
详细问了情况:她笔记本A直接连网线,朋友的笔记本B通过wifi连到A,显示连接正常,让他ping网关能通,ping www.baidu.com不通,搞了半天,我上网一查,原来B的DNS要设成和A一样,这样就正常了

Labels: ,

netbeans中加入javadoc

安装了JDK自带的netbeans,发现没javadoc,于是下载下来加入,工具-平台-javadoc-添加,没想到加不进去, 后来把jdk-6u21-docs.zip加进默认路径C:\Program Files (x86)\NetBeans 6.9\java\docs就可以了,解压后还非要一打开能看到index才行,其他都会提示“无法在此处执行显示javadoc”

Labels: , ,

使用google的免费域名服务器加快访问速度

2009-12-10 19:10:11

8.8.8.8
8.8.4.4
google提供的免费DNS
将自己的DNS设置为这两个IP,速度可以加快,而且可以防止访问DNS时被过滤信息

后记:除了google之外OpenDNS也提供免费DNS
208.67.222.222
208.67.220.220
用这些免费DNS可以防DNS相关的欺骗

Labels:

QQ能上但ping不通

2009-09-01 23:42:12
今天表姐的电脑出了点问题,网页打不开,但QQ可以上。
开始试着ping了下网关、本机IP都没问题,怀疑是病毒或路由器问题。于是一边杀毒一边重启了路由,但还是不行。于是上网查了下,据说是DNS问题,设置的默认DNS是192.168.1.1,改成了一个公网里的DNS的IP就好了。看来果然是DNS问题,准确的说是路由出了点小问题。可能QQ的DNS 解析用到了不同的机制所以没受影响。

Labels: ,

fan

2009-08-26 21:21:16
今天非常郁闷,这几天不知道什么原因把某人给得罪了,想写日志,但blogger一直到现在还不解封,想聊天,可是连聊天机器人居然都能不在线!连机器人都不搭理我!真的是非常郁闷。

Labels:

鼠标造成系统间歇性失去响应

2009-07-06 10:45:31

最近鼠标间歇性的失去响应,失去响应期间键盘正常而且所有的鼠标操作都被记录下,隔几秒正常后则执行这些操作。开始以为是系统驱动之类的原因,后来鼠标完全不能用了,换了一个之后就好了。

Labels: ,

源里面有的包但yum命令却找不到

源里面有的包但yum命令却找不到
2009-06-03 17:39:12

源里面明明看得到某某包,但yum search或yum install却找不着,后来发现是key的原因,
由于是把安装镜像制作成源,于是把/etc/pki/rpm-gpg/RPM-GPG-KEY-*全导入:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-*就可以了

Labels: ,

源里面有的包但yum命令却找不到

源里面明明看得到某某包,但yum search或yum install却找不着,后来发现是key的原因,
由于是把安装镜像制作成源,于是把/etc/pki/rpm-gpg/RPM-GPG-KEY-*全导入:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-*就可以了

Labels: ,