近期评论

Archive for 四月, 2011

DNS缓存和屏蔽网站

对于网站域名解析,计算机是优先解析浏览器的DNS缓存,然后解析hosts文件里映射的域名,最后解析网络上的DNS服务器获得网站IP,进而打开网站。

 

hosts文件改了是可以屏蔽网站,但前提是必须清理掉相关网站的DNS缓存。有的情况,hosts 修改好了之后,并且清理掉DNS缓存之后,当前屏蔽的网站直接打开是打不开的,但是如果某个网站庞大,独立域名较多,DNS解析可能一样,结果打开与屏蔽网站相类似的网站,比如现在要屏蔽的是qq.com和 sports.qq.com  这两个域名独立的网站,但是news.qq.com这个网站没有屏蔽,如果先打开news.qq.com这个网站,然后再打开已经屏蔽的qq.com,sports.qq.com会发现屏蔽不了,原因就是news.qq.com这个网站和那两个已经屏蔽的网站,DNS服务器是一样的,而DNS是有缓存的,如果不刷新网页的话会保存一个小时。

 

所以对于独立域名较多,DNS解析相同的网站,建议屏蔽掉所有类似域名,或者清理DNS缓存,方法大概有三种:DOS命令 ipconfig /flushdns ,删除浏览器缓存包括cookies,重启电脑。

最近在研究怎么自己动手做U盘启动工具,优化工具

发现DOS自己还不是很熟,有写命令还没用过,比如choice,set /p sdfsdf=,exist,extract,%~dp0表示当前bat文件路径,%~d0当前磁盘,还有DOS控制注册表的批处理。

 

这两天自己弄了个DOS工具,集合了很多批处理程序,并终于编译成exe文件,发现原来这么简单。

 

choice 这个命令有比较严格的用法,昨天试了好多办法,发现原来DOS竟然不区分大小写,用了/CS这个开关没一点用,后来网上一搜,发现确实不区分大小写。

 

choice 这个命令其实还包括 if errorlevel 返回值 goto 循环名称。其中errorlevel后面的返回值是要降序排列的,不能随便排,必须从打到小,而且goto必须紧接着,不能换行,不然无效。

 

如果用set /p something= 这个语句的话,后面的判断语句,可以任意排列。但是这个语句,按了选项对应了的按键后,必须回车才有效。而choice不需要回车。只需要输入法是英文的就行了。

 

在后面的循环中,如果调用别的软件程序,最好用start这个命令,而不是直接调用,直接调用,要等打开的程序自己手动关闭才执行下一个命令,而多个start可以同时执行,不干扰。

 

echo这个单词的意思是回音,回响,这里表示DOS窗口显示内容。@echo 表示echo这个单词本身不显示,只显示本行后面的内容,@echo.即@echo后面不空格加点号,表示单纯空行。

 

shutdown这个命令其实参数也不少,以前只用来关机,其实注销logoff,重启restart,都可以用这个命令,如shutdown /l /f /t 0 表示强制关闭其他正在使用的进程重启,/f 即force强制的意思。shutdown /r /f /t 0 这个当然是重启了。