• 2005-01-23

    思考的方法 - [读书笔记]

    思考的方法(上)

      据说熊彼德(J.A. Schumpeter)曾在课堂上批评牛顿,指责这个如假包换的物理学天才只顾闭门思想,没有将他思考推理的方法公开而留诸后世!这批评有点道理。但牛顿在物理学上的丰功伟绩,是他在逃避瘟疫的两年中想出来的;其后就再没有甚么重大发现--虽是昙花一现,但这“一现”却是非同小可。爱因斯坦的思考方法,屡见经传:可惜他天赋之高,远超世俗,要学也学不到。

      有些朋友以为爱因斯坦既然可以不用资料而将相对论想了出来,他们也可照样推理。但爱因斯坦所能办到的,跟他们有甚么相干?不自量力,以此为最!爱因斯坦的思考方法很可能是那自命不凡的人的一种思想障碍。我不仅不敢与牛顿或爱因斯坦相比,就是半个天才也算不上。但正因为这个缘故,我倒可以写一点有实用性的思考方法。我的思考方法是学回来的。一个平凡的人能学得的思考方法,其他的凡夫俗子也可以学。天才的思考方法是天才的专利权,与我们无关。

      在大学念书时,我从不缺课的习惯就是为了要学老师的思考方法。所有要考的试都考过了,我就转作旁听生。有一次,赫舒拉发(J.Hirshleifer)在课后来问我:“你旁听了我六个学期,难道我所知的经济学你还未学全吗?”我回答说:“你的经济学我早从你的著作中学会了,我听你的课与经济学无关--我要学的是你思考的方法。”我这个偷“思”的习惯实行了很多年,屡遇明师及高手明友,是我平生最幸运的事。这些师友中,算得上是天才或准天才的着实不少。我细心观察他们的思考方法,在其中抽取那些一个非天才也可用得着的来学习,久而久之就变得甚为实用。但因为被我偷“思”的人很多,我就综合了各人的方法,作为己用。虽然这些人大都是经济学者,但天下思考推理殊途同归,强分门户就是自取平凡。兹将我综合了普通人也可作为实用的思考方法的大概,分析如下。

    一、谁是谁非毫不重要

      假如你跟另一个人同作分析或辩论时,他常强调某一个观点或发现是他的,或将“自己”放在问题之上,那你就可以肯定他是低手。思考是决不应被成见左右的。要“出风头”或者“领功”是人之常情,但在思考的过程上,“自己”的观点不可有特别的位置。“领功”是有了答案之后的事。在推理中,你要对不同的观点作客观的衡量。

      有些人认为佛利民好胜、强词夺理地去维护自己的观点,这是错的。佛利民的思想快似闪电,但他认错更快!因为他认错太快,往往给人的印象就是没有认错。在我所认识的高手中,没有一个推理时将“自己”加上丝毫重量的。事后“领功”是另一回事。

      同样地,在学术上没有权威或宗师这回事--这些只是仰慕者对他们的称呼;我们不要被名气吓倒了。任何高手都可以错,所以他们的观点或理论也只能被我们考虑及衡量,不可以尽信。当然,高手的推论较为深入,值得我们特别留意。我们应该对高手之见作较详尽理解,较⌒牡厝ズ饬俊5

  • 制作linux补丁文件(*.patch)的方法

    (更多技术知识请访问www.coolknight.net)

     

    linux下的补丁文件由diff这个命令创建

    diff 选项:
    -u 以统一格式创建补丁文件,这种格式比缺省格式更紧凑些。
    -N 确保补丁文件将正确地处理已经创建或删除文件的情况。
    -r 递归比较命令行上所给出的两个目录的所有子目录中的所有文件。
    -a 比较二制文件

    使用方法一:为文件创建补丁
    [root@snowli dirtest]# more test_0.txt
    11111111111111111111
    11111111111111111111
    11111111111111111111
    [root@snowli dirtest]# more test_1.txt
    22222222222222222222
    11111111111111111111
    00000000000000000000
    11111111111111111111

    下面我们创建针对test0_.txt的补丁:
    [root@snowli dirtest]# diff -uN test_0.txt test_1.txt > test_1.patch
    补丁文件的内容如下:
    [root@snowli dirtest]# more test_1.patch
    --- test_0.txt 2005-01-13 11:52:56.785874968 +0800
    +++ test_1.txt 2005-01-13 11:54:33.243211224 +0800
    @@ -1,3 +1,4 @@
    +22222222222222222222
    11111111111111111111
    -11111111111111111111
    +00000000000000000000
    11111111111111111111

    使用方法一:为工程目录下所有文件创建补丁
    有两个目录pro0 和pro1
    两个目录及下面的文件内容如下:
    [root@snowli dirtest]# ls pro0
    a_0.txt test_0.txt
    [root@snowli dirtest]# more pro0/*
    ::::::::::::::
    pro0/a_0.txt
    ::::::::::::::
    00000000000000
    000000000000000
    0000000000000000
    ::::::::::::::
    pro0/test_0.txt
    ::::::::::::::
    11111111111111111111
    11111111111111111111
    11111111111111111111
    [root@snowli dirtest]# ls pro1
    a_1.txt test_1.txt
    [root@snowli dirtest]# more pro1/*
    ::::::::::::::
    pro1/a_1.txt
    ::::::::::::::
    00000000000000
    33333333333333
    000000000000000
    55555555555555
    0000000000000000
    ::::::::::::::
    pro1/test_1.txt
    ::::::::::::::
    22222222222222222222
    11111111111111111111
    00000000000000000000
    11111111111111111111

    正面我们创建针对pro0的补丁pro1.patch
    [root@snowli dirtest]# diff -uNr pro0 pro1 > pro1.patch
    补丁内容如下:
    [root@snowli dirtest]# more pro1.patch
    diff -uNr pro0/a_0.txt pro1/a_0.txt
    --- pro0/a_0.txt 2005-01-13 11:59:59.084675792 +0800
    +++ pro1/a_0.txt 1970-01-01 08:00:00.000000000 +0800
    @@ -1,3 +0,0 @@
    -00000000000000
    -000000000000000
    -0000000000000000
    diff -uNr pro0/a_1.txt pro1/a_1.txt
    --- pro0/a_1.txt 1970-01-01 08:00:00.000000000 +0800
    +++ pro1/a_1.txt 2005-01-13 12:00:41.138282672 +0800
    @@ -0,0 +1,5 @@
    +00000000000000
    +33333333333333
    +000000000000000
    +55555555555555
    +0000000000000000
    diff -uNr pro0/test_0.txt pro1/test_0.txt
    --- pro0/test_0.txt 2005-01-13 11:52:56.785874968 +0800
    +++ pro1/test_0.txt 1970-01-01 08:00:00.000000000 +0800
    @@ -1,3 +0,0 @@
    -11111111111111111111
    -11111111111111111111
    -11111111111111111111
    diff -uNr pro0/test_1.txt pro1/test_1.txt
    --- pro0/test_1.txt 1970-01-01 08:00:00.000000000 +0800
    +++ pro1/test_1.txt 2005-01-13 11:54:33.243211224 +0800
    @@ -0,0 +1,4 @@
    +22222222222222222222
    +11111111111111111111
    +00000000000000000000
    +11111111111111111111
    [root@snowli dirtest]#

    怎么给程序打补丁,大家可以查一下patch 的联机帮助(man patch)吧。
  • 在搜索框上输入: “index of/ ”  inurl:lib 
    再按搜索你将进入许多图书馆,并且一定能下载自己喜欢的书籍。 

    在搜索框上输入: “index of /”  cnki 
    再按搜索你就可以找到许多图书馆的CNKI、VIP、超星等入口! 

    在搜索框上输入: “index of /”  ppt 
    再按搜索你就可以突破网站入口下载powerpint作品! 

    在搜索框上输入: “index of /”  mp3 
    再按搜索你就可以突破网站入口下载mp3、rm等影视作品! 

    在搜索框上输入: “index of /”  swf 
    再按搜索你就可以突破网站入口下载flash作品! 

    在搜索框上输入: “index of /”  要下载的软件名 
    再按搜索你就可以突破网站入口下载软件! 

    注意引号应是英文的! 

    再透露一下,如果你输入: 
    “index of /”  AVI 
    你会找到什么呢?同理,把AVI换为MPEG看看又会找到什么呢?呵呵!接下来不用我再教了吧?
    还有,输入:
    inurl:"ViewerFrame?Mode="
    是什么?它就是近段时间闹得沸沸扬扬的使用Google搜索全球网络摄像头!

  • 2005-01-10

    stdlib.h - [读书笔记]

    void abort ( void );
    打印“Abnormal termination program”,立即停止进程。不关闭任何已打开的流
    也不执行atexit确定的任何函数。
    The calling process does not receives back control. abort returns error
    code 3 to the parent process or the OS

    /* abort example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      FILE * pFile;
      pFile= fopen ("myfile.txt","r");
      if (pFile == NULL)
      {
        printf ("error opening file\n");
        abort();
      }

      /* normal file manipulation here */

      fclose (pFile);
      return 0;
    }
    If myfile.txt doesn't exist a message is printed, abort is called and
    the errorlevel.returned would be 3. Otherwise the file is normally
    closed and the errorlevel returned is 0 (return 0).

    ///////////////////////////////////////////////////////////////////////
    void exit ( int status );
    函数执行标准的清理过程,之后结束。在清理之前,被atexit注册的函数首先
    被执行。
    清理过程要关闭所有的缓存和关闭任何打开的文件。
    参数status 返回给父进程(如果存在),或者给操作系统(就象在main函数有
    一个return语句)
    总之,返回0或EXIT_SUCCESS表示成功,其它任何值或常量EXIT_FAILURE表示一
    个错误
    或不正常的程序终止。
    /* exit example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      FILE * pFile;
      pFile = open ("myfile.txt","r");
      if (pFile==NULL)
      {
        printf ("Error opening file");
        exit (1);
      }
      else
      {
        /* file operations here */
      }
      return 0;
    }

    /////////////////////////////////////////////////////////////////////
    int atexit ( void (* function ) (void) );

    指定函数在离开时执行。
    function变量指定的函数在程序正常结束时被调用。
    如果有一个以上的指定函数,它们将按相反顺序执行。
    ANSI标准指定最多32个函数可以在一个进程内被指定。
    这些函数在被调用时不会接受任何变量。
    如果成功返回0,如果存在一个错误返回一个非零值。
    /* atexit example */
    #include <stdio.h>
    #include <stdlib.h>

    void fnExit1 (void)
    {
      printf ("Exit function 1.\n");
    }

    void fnExit2 (void)
    {
      printf ("Exit function 2.\n");
    }

    int main ()
    {
      atexit (fnExit1);
      atexit (fnExit2);
      printf ("Main function.\n");
      return 0;
    }

    ///////////////////////////////////////////////////////////
    int abs ( int n );
    返回整数变量的绝对值
    ANSI-C++中还结合了 long abs (long n );
    其功能和函数labs相同

    ////////////////////////////////////////////////////////////////
    double atof ( const char * string );
    解析string的内容,并转换成浮点数。string 内容是一个浮点数的字符串表示。
    数字直到一个非数字字符被发现为止(数字,符号,E和e在指定的格式内认为是
    有效的)。
    格式为:[whitespaces][+|-][nnnn][.mmmm][e|E[+|-]nnnn]其中whitespaces
    是tab或space字符
    nnnnn是数字字符的任何一个。
    返回的是输入字符串转换成的浮点值。一旦溢出结果将不确定。如果有一个错误
    将返回0.0
    * atof example: sines calculator */
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>

    int main ()
    {
      double n,m;
      double pi=3.1415926535;
      char szInput [256];
      printf ( "Enter degrees: " );
      gets ( szInput );
      n = atof ( szInput );
      m = sin (n*pi/180);
      printf ( "sine of %f degrees is %f\n" , n, m );
      return 0;
    }

    Output:
    Enter degrees: 45
    sine of 45.000000 degrees is 0.707101
    ///////////////////////////////////////////////////////////////
    int atoi ( const char * string );
    把字符串转换为整数值,直到遇到非字符值时才结束()。
    格式为[whitespaces][+|-][nnnn][.mmm][e|E[+|-]nnn]
    如果溢出,结果将不确定。如果错误出现将返回0
    /* atoi example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      int i;
      char szInput [256];
      printf ("Enter a number: ");
      gets ( szInput );
      i = atoi (szInput);
      printf ("Value entered is %d, and its double %d",i,i*2);
      return 0;
    }

    Output:
    Enter a number: 73
    Value entered is 73, and its double 146
    //////////////////////////////////////////////////////////
    long atol ( const char * string );

    /* atol example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      int i;
      char szInput [256];
      printf ("Enter a long number: ");
      gets ( szInput );
      i = atol (szInput);
      printf ("Value entered is %d, and its double %d",i,i*2);
      return 0;
    }

    Output:
    Enter a long number: 567283
    Value entered is 567283, and its double 1134566

    ///////////////////////////////////////////////////////
    char * ecvt ( double value,int num, int *dec, int * sign );
    把数值转换为以'\0'结束的字符串。如果num大于可表示的value字符数,那么余
    下的字符串就填补为o
    如果num小于,那么多余的就舍去。
    仅当位数被返回时。十进数的可以从dec获得。The position of the decimal
    point can be otained from dec, that is a pointer to an int value
    representing the position of the decimal point respect to the beginning
    of the string (0 or less indicates that the decimal point lies to
    the left of the digits). 数值符号可以从sign变量获得。它指向一个int值
    (如果是0,值就是正,否则就是负)。
    行为象fctv
    value 为将被转换为字符串的浮点数
    num  返回数字的位数,如果大于可表示的位数,余下的部分将填补为0,如果小,
    低位的位数将被省略。dec 一个指向int的指针。存储小数点位置。如果是零或
    更小,小数点在位数的左边。
    sign 一个指向int的指针。0代表正号,非零代表负数。
    返回一个'\0'结束的字符串,其长度为num(代表数值的位数),小数点和符号
    不被返回。而在dec和sign变量中。
    这个缓冲器是静态分配。如果ecvt或fcvt调用,它将被重写。
    /* ecvt example: scientific notations */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      char *buffer;
      double value = 365.249;
      int precision = 5;
      int decimal, sign;
     
      buffer = ecvt (value, precision, &decimal, &sign);
      printf ("%c%c.%s x 10^%d\n",sign?'-':'+',buffer[0],buffer+1,decimal-1);
      return 0;
    }

    Output:
    +3.6525 x 10^2
    /////////////////////////////////////////////////////////////////////////////////////
    double atof ( const char * string )
    把字符串转换成double
    string代表一个浮点数。直到非数字符为止才认为输入结束(位数,符号数,
    e和E都认为在此特定格式下
    是有效数字)。[whitespaces][+|-][nnnn][.nnnn][e|E[+|-]nnn]
    返回的是转换的浮点值。如果溢出,结果不确定。如果出现错误,返回0.0
    /* atof example: sines calculator */
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>

    int main ()
    {
     char inputs[300];
     double n,m;
     const double pi = 3.1415926;
     printf("enter degrees : ");
     gets ( inputs );
     n = atof ( inputs );
     m = sin (n*pi/180);
     printf (" since of %f degrees is %f ",n , m);
     return 0;

    }

    /////////////////////////////////////////////////////////////////////////////////////////
    char * gcvt ( double value,int num,char * buffer );
    转换浮点数为一个'\0'结束位数为num的字符串。gcvt产生一个包括小数点的十
    进制数,如果需要还会有符号。num表示的位数不足,函数将产生一个指数形式
    的数,就像printf 的%e做的。函数还会在字符串后附一个'\0'
    所以存放string的buffer通常比num更大。
    value 将被转换为字符串的浮点数
    num   产生的位数
    buffer 存储转换结果的字符串。它应该比num大,以便可以存储小数点、符号
    和可能的指数信息还有一个'\0'
    总之,如果执行,buffer应该比num大8和9个字符。
    返回的是以'\0'结束的数字字符串。
    /* gcvt example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      char buffer [20];
      gcvt (1365.249,6,buffer);
      puts (buffer);
      gcvt (1365.249,3,buffer);
      puts (buffer);
      return 0;
    }

    Output:
    1365.25
    1.37e+003
    /////////////////////////////////////////////////////////////////////////////////////////////
    int atoi ( const char * string );
    把字符串存储的数字字符转换为整型,并返回一个int值。
    string代表一个数字字符表示的字符串。数字直到'\0'为止(数字符、和符号在
    特定的格式下认为是有效的)。这个格式
    为[whitespaces][+|-][nnnn]
    返回转换的整数值,一旦溢出,结果将不确定。如果有错误返回0
    /* atoi example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      int i;
      char szInput [256];
      printf ("Enter a number: ");
      gets ( szInput );
      i = atoi (szInput);
      printf ("Value entered is %d, and its double %d",i,i*2);
      return 0;
    }

    Output:
    Enter a number: 73
    Value entered is 73, and its double 146
    ////////////////////////////////////////////////////////////////////////////////////////////////
    long atol ( const char * string );与 int atoi ( const char * string );
    类似
    ///////////////////////////////////////////////////////////////////////////////////////////////
    double strtod ( const char * string, char * * endptr);
    endptr 一个指针。函数向它填充扫描结束时的地址。以便决定第一个非数字字符
    的位置。
    如果转换导致溢出结果将是+/- HUGE_VAL
    如果有错误出现返回0
    /* strtod example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      char szInput [256];
      char * pEnd;
      double dbl;
      printf ("Enter a floating-point value: ");
      gets (szInput);
      dbl = strtod (szInput,&pEnd);
      printf ("Value entered: %lf. Its square: %lf\n",dbl,dbl*dbl);
      return 0;
    }

    /////////////////////////////////////////////////////////////////////////////////////////////
    long strtol ( const char * string, char * * endptr, int radix);
    有效数字为0到radix-1格式为[whitespaces][+|-][0|0x][nnnnn]
    radix(基数)  0x代表16进制数。0代表8进制数。1到9的任何数代表10进制
    如果溢出结果是LONG_MAX OR LONG_MIN
    如果出现错误或没有转换将返回0
    /* strtol example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      char szInput [256];
      char * pEnd;
      long l;
      printf ("Enter an integer value: ");
      gets (szInput);
      l = strtol (szInput,&pEnd,0);
      printf ("Value entered: %ld. Its double: %ld\n",l,l*2);
      return 0;
    }
    //////////////////////////////////////////////////////////////////////////////////////
    unsigned long strtoul ( const char * string,char * * endptr, int rsdix);
    如果溢出结果为ULONG_MAX,如果出现错误返回0
    * strtoul example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      char szInput [256];
      char * pEnd;
      unsigned long ul;
      printf ("Enter an integer value: ");
      gets (szInput);
      ul = strtoul (szInput,&pEnd,0);
      printf ("Value entered: %lu. Its double: %lu\n",ul,ul*2);
      return 0;
    }
    /////////////////////////////////////////////////////////////////////////////////////////
    char * itoa ( int value, char * buffer, int radix);
    把整型转换为'\0'结束的radix进制的数字字符串。并且不结果存储在给定的
    buffer。如果radix是10而且值是负字符串前首先为-。对于任何其它的radix,
    value总是被认为是无符号的。buffer应该足够大。以便可以容下可能的值
    (sizeof(int)*8+1)(对于radix=2)。例如在16位的平台用在17个字节
    32位的平台用33字节。
    radix在2到36之间。
    /* itoa example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      int i;
      char buffer [33];
      printf ("Enter a number: ");
      scanf ("%d",&i);
      itoa (i,buffer,10);
      printf ("decimal: %s\n",buffer);
      itoa (i,buffer,16);
      printf ("hexadecimal: %s\n",buffer);
      itoa (i,buffer,2);
      printf ("binary: %s\n",buffer);
      return 0;
    }

    Output:
    Enter a number: 1750
    decimal: 1750
    hexadecimal: 6d6
    binary: 11011010110
    //////////////////////////////////////////////////////////////////////////////////////////////
    char * ultoa ( unsigned long value, char * buffer, int radix);
    char * ltoa ( long value,char * buffer,int radix);
    ///////////////////////////////////////////////////////////////////////////////////////////////////////
    char * getenv ( const char * varname );
    得到一个以'\0'结束的字符串,该字符串表示的是名字位varname的环境变量。
    如果要求的变量没有在环境中定义,函数返回指针NULL
    返回的指针不是旨在修改环境变量的操作。参考平台的手册。
    varename null结束的字符串,其包含所要求变量的名字。
    返回所要求环境变量的值,其以null结束的字符串表示。如果环境变量不存在返
    回NULL
    不要使用返回的指针直接修改程序的环境变量。
    /* getenv example: getting path */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      char * buffer;
      buffer = getenv ("PATH");
      if (buffer!=NULL)
        printf ("Current path is: %s",buffer);
      return 0;
    }
    ///////////////////////////////////////////////////////////////////////////////////////////
    int putenv ( const char * envvar);
    增加指定的字符串变量到现在进程的环境中去。因为环境每个名字只接受一个
    变量。这一函数也可以用于修改和删除现存的环境变量。putenv只能修改此进
    程的和由此创造的进程的环境变量,而不是操作系统的等级上。
    一旦此进程结束,父进程的环境变量将不会在这次调用十被改变。
    envvar 是null结束的字符串,其包含变量的名字、等号=和环境变量的值。
    varemane=value
    如果环境变量的值存在它的值将被代替。如果值没有指定,那么拥有此环境变
    量的值将被去除。
    如果成功返回0。如果发生错误返回-1
    /* putenv example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      char * buffer ;
      buffer = getenv ("RESOURCES");
      if (buffer==NULL)
      {
        putenv ("RESOURCES=www.cplusplus.com");
        puts ("environment variable successfully set");
      }
      else puts ("environment variable already existed");
      return 0;
    }

    ///////////////////////////////////////////////////////////////////////////////////////////
    int system ( const char * command);
    调用命令解释器执行一个命令。一旦结束,解释器把控制交还给程序,并且返还
    一个int值。command 是一个用'\0'结束的字符串表示的系统命令。
    如果命令成功执行将返回适当的值。一般0表示无错误的执行结束。返回-1表示
    一个错误
    全局变量errno被设置以便指定以下错误中的一个。
    ENOENT Command interpreter not found
    ENOEXEC Command interpreter is not executable
    ENOMEM Error allocating memory for the process
    E2BIG Argument list too big
    /* system example : DIR */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      int i;
      puts ("Trying to execute command DIR");
      i = system ("dir");
      if (i==-1) puts ("Error executing DIR");
      else puts ("Command successfully executed");
      return 0;
    }
    //////////////////////////////////////////////////////////////////////////////////////
    div_t ( int numer, int denom );
    numer被denom除,得到的商和余数返回给结构体div_t中。
    numer是分子,denom是分母。
    返回一个结构体div_t ,typedef struct { int quot; int rem; } div_t;
    div_t在stdlib.h中定义,quot代表商,rem代表余数。
    /* div example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      div_t divresult;
      divresult = div (38,5);
      printf ("38 / 5 = %d ( %d", divresult.quot, divresult.rem);
      return 0;
    }

    Output:
    38 / 5 = 7 ( 3
    ////////////////////////////////////////////////////////////////////////////
    ldiv_t ldiv ( long int numer, long int denom );
    typedef struct { long int quot, long int rem } ldiv_t;
    ////////////////////////////////////////////////////////////////////////////
    long labs (long n ); 与abs一样
    ////////////////////////////////////////////////////////////////////////////
    void * calloc ( size_t num, size_t size);
    动态分配num个size字节大小的元素的存储空间。其块空间全部初始化位0
    最终结果是分配num*size字节的存储空间。
    返回分配空间的指针。此指针的类型为void * 通常要对返回的指针进行相应的
    类型转换。如果系统不能分配相应大小的
    存储空间或者有变量为0 将返回指针NULL
    /* calloc example: rememb-o-matic */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      int i,n;
      int * pData;
      printf ("Enter number of items to be remembered: ");
      scanf ("%d",&i);
      pData = (int*) calloc (i,sizeof(int));
      if (pData==NULL) exit (1);
      for (n=0;n<i;n++)
      {
        printf ("Enter number #%d: ",n);
        scanf ("%d",&pData[n]);
      }
      printf ("You have entered: ");
      for (n=0;n<i;n++) printf ("%d ",pData[n]);
      free (pData);
      return 0;
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////
    void * malloc (size_t size);
    分配size字节的存储空间。如果成功,返回指向存储空间的指针。如果不能分配
    足够的空间或者size为0将返回
    NULL
    /////////////////////////////////////////////////////////////////////////////////////////////////
    void * realloc ( void * memblock,size_t size);
    menblock指针变量指向的存储空间大小变为size字节(可扩张也可减少)。
    此块能会移动到新的地方,此时存储空间的内容仍然不会变。
    如果memblock是NULL函数行为象malloc一样分配一个新的size字节的存储空间。
    并返回其指针。
    如果size是0先前分配的memblock被解析,并返回NULL
    /* realloc example: rememb-o-matic */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      int input,n;
      int count=0;
      int * numbers = NULL;

      do {
         printf ("Enter an integer value (0 to end): ");
         scanf ("%d", &input);
         count++;
         numbers = (int*) realloc (numbers, count * sizeof(int));
         if (numbers==NULL)
           { puts ("Error (re)allocating memory"); exit (1); }
         numbers[count-1]=input;
      } while (input!=0);

      printf ("Numbers entered: ");
      for (n=0;n<count;n++) printf ("%d ",numbers[n]);
      free (numbers);

      return 0;
    }
    ///////////////////////////////////////////////////////////////////////////////
    void free (void * memblock );
    释放先前malloc、calloc、realloc分配的空间。
    memblock必须为先前分配的空间的指针。如果无效的指针给函数,其结果将不确
    定。
    /* free example */
    #include <stdio.h>
    #include <stdlib.h>

    int main ()
    {
      int * buffer1, * buffer2, * buffer3;
      buffer1 = (int*) malloc (100*sizeof(int));
      buffer2 = (int*) calloc (100,sizeof(int));
      buffer3 = (int*) realloc (buffer2,500*sizeof(int));
      free (buffer1);
      free (buffer3);
      return 0;
    }
    ////////////////////////////////////////////////////////////////////////
    void * lfind ( const void * key,const void * base,size_t num,size_t
    width,int (* fncomparison)(const void *,const void *));
    线性搜索
    在指针base和num个元素形成的数组中搜索给定的key,每个元素大小为width字节。
    返回第一个匹配key的第一个元素地址。函数fncomparison
    执行比较操作。
    函数执行线性搜索,所以不必在调用之前进行排序。
    key 寻找对象的指针
    base 被查找的数组的指针
    num 数组的元素个数
    width 数组中每个元素的大小
    fncompare  比较两个元素的函数。 这个函数必须由其调用者提供,而且还要如
    下面一样申明。
    int fncompare ( const void * elem1,const void * elem2);
    函数需要接受两个变量,而且它们都是元素的指针。当两个变量相等就返回0,
    如果不等就返回非0值
    返回数列中与key匹配的值的指针。如果没有找到key 返回NULL
    /* lfind example */
    #include <stdio.h>
    #include <stdlib.h>

    int values[] = { 10, 40, 100, 20, 90, 25};

    int compare (const void * a, const void * b)
    {
      return ( *(int*)a - *(int*)b );
    }

    int main ()
    {
      int * pItem;
      int key = 40;
      pItem = (int*) lfind (&key, values, 6, sizeof (int), compare);
      if (pItem!=NULL)
        printf ("%d is in the array",*pItem);
      else
        printf ("%d is not in the array",key);
      return 0;
    }

    //////////////////////////////////////////////////////////////////////////////////////////
    void*  lsearch ( const void * key, void * base, size_t num, size_t
    width, int (*fncomparison)(const void *, const void * ) );
    与lfind基本相同
    /////////////////////////////////////////////////////////////////////////////////////////////////
    void * bsearch ( const void * key,const void * base,size_t num,size_t
    width,int (*dncompare)(const void *,const void *));
    因为函数执行的是binary serach,所以数组应该事先按从小到大的排序。
    int fncompare (const void * elem1,const void elem2);
    当 *elem1 < *elem2时返回值<0 ;当 *elem1 == *elem2时返回值0 ;
    当 *elem1 > *elem2时返回值>0
    /* bsearch example */
    #include <stdio.h>
    #include <stdlib.h>

    int values[] = { 10, 20, 25, 40, 90, 100 };

    int compare (const void * a, const void * b)
    {
      return ( *(int*)a - *(int*)b );
    }

    int main ()
    {
      int * pItem;
      int key = 40;
      pItem = (int*) bsearch (&key, values, 6, sizeof (int), compare);
      if (pItem!=NULL)
        printf ("%d is in the array",*pItem);
      else
        printf ("%d is not in the array",key);
      return 0;
    }
    //////////////////////////////////////////////////////////////////////////////////////////////
    void qsort (void * base,size_t num,size_t width,
    int (*fncompare)(const void *,const void *));
    使用快速排序法进行排序。
    int fncompare ( const void * elem1,const void * elem2);
    如果*elem1 goes before *elem2则<0;如果*elem1 goes before *elem2则<0;
    如果*elem1 == *elem2则 0;
    如果*elem1 goes after *elem2则>0;
    /* qsort example */
    #include <stdio.h>
    #include <stdlib.h>

    int values[] = { 40, 10, 100, 90, 20, 25 };

    int compare (const void * a, const void * b)
    {
      return ( *(int*)a - *(int*)b );
    }

    int main ()
    {
      int * pItem;
      int n;
      qsort (values, 6, sizeof(int), compare);
      for (n=0; n<6; n++)
      {
        printf ("%d ",values[n]);
      }
      return 0;
    }

    Output:
    10 20 25 40 90 100
    /////////////////////////////////////////////////////////////////////////////////////////
    void swab (char * scr,char * dest,int num);
    交换字节  交换scr指向的num个字节,并且将结果存储在dest。
    交换scr中的每两个字节的数据,如果num是奇数,最后一个数据不会传到dest中。
    /* swab example */
    #include <stdio.h>
    #include <stdlib.h>

    /* global arrays: destination[] initialized with zeros */
    char source [7] = "ABCDEF";
    char destination [7];

    int main ()
    {
      swab (source, destination, 6);
      printf ("swab: %s -> %s\n", source, destination);
      return 0;
    }
    ////////////////////////////////////////////////////////////////////////////////////////
    max(a,b); 是宏定义 #define max(a,b) ((a)>(b)?(a):(b))
    min(a,b); 是宏定义 #define min(a,b) ((a)<(b)?(a):(b))
    ////////////////////////////////////////////////////////////////////////////////////////
    int rand (void);
    返回一个伪随机数,此数在0到RAND_MAX范围内。它每次返回一个不相关的数。
    此算法需要函数srand
    产生更实际的随机数。RAND_MAX是在stlib.h中定义的常量。Its default value
    is implementation defined
    一个产生几乎全真的随机数的方法就是使用以秒表示的时间为参数的srand进行初
    始化。如果产生一个范围的随机数,最好是用取余(%)操作。例如:rand()%25产
    生0到24的值。
    /* rand example */
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    int main ()
    {
      /* initialize random generator */
      srand ( time(NULL) );

      /* generate some random numbers */
      printf ("A number between 0 and RAND_MAX (%d): %d\n", RAND_MAX,
      rand());
      printf ("A number between 0 and 99: %d\n", rand()%100);
      printf ("A number between 20 and 29: %d\n", rand()%10+20);

      return 0;
    }
    ////////////////////////////////////////////////////////////////////////////////////////
    void srand (unsigned int seed);
    初始化随机数 使用seed以便设置一个rand产生随机数的起点。
    如果seed被设置为1,函数将被重新初始化为调用rand或srand之前的初始值。
    为了产生真正的随机数,建议使用一个变化平凡的seed值。例如,函数time返回
    的值
    /* rand/srand example */
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    int main ()
    {
      /* initialize random generator */
      srand ( time(NULL) );

      /* generate some random numbers */
      printf ("A number between 0 and 100: %d\n", rand()%100);
      printf ("A number between 20 and 30: %d\n", rand()%10+20);

      return 0;
    }

    Output:
    A number between 0 and 100: 93
    A number between 20 and 30: 21

    ////////////////////////////////////////////////////////////////////////////////////////
    NULL
    NULL is a defined constant used to express null pointers, that is,
    an unassigned pointer or a pointer that points nowhere. It is defined
    as:
    #define NULL 0
    size_t
    Defined type used as arguments for some functions that require sizes
    or
    counts specifications. This represents an unsigned value generally
    defined
    in header files as unsigned int:
    typedef unsigned int size_t;
    //////////////////////////////////////////////////////////////////////////////////
    //////////stdio.h/stdio.h/stdio.h/stdio.h///stdio.h/stdio.h/stdio.h/stdio.h///////////////////////////////////////////////////////////////////////////////
    //////////stdio.h/stdio.h/stdio.h/stdio.h///stdio.h/stdio.h/stdio.h/stdio.h/////////
    //////////////////////////////////////////////////////////////////////////////////////

  • 2005-01-08

    无奇不有 - [无奇不有]

    http://www.core77.com/
  • 《死亡诗社》Dead Poets Society
    美国 1989年
    导演:彼得·威尔Peter Weir
    主演:罗宾·威廉姆斯Robin Williams
       罗伯特·西恩·莱纳德Robert Sean Leonard
       伊森·霍克Ethan Hawke
    片长:128分钟
    获得奥斯卡最佳原创剧本奖,法国恺撒奖最佳外语片

     

    从这部电影才知道,自己已经死了很久,从不经意间的清晨开始。

    我步入丛林,因为我希望生活有意义。我希望活的深刻,吸取生命中所有的精华,把非生命的一切击溃,以免在我生命结束的时候发现自己从来没。                        影片名为死亡诗社是借用了向死而生的含义。只有让不属于自己的那部分思想,那部分灵魂死去,才能真正把我住属于灵魂的那部分生命。开始真实的生、清醒的生、有意义的生!而割舍和死亡都是伴随痛苦的,所以有了月光下走向终结的尼尔,有了被迫离开学校的基丁。单,痛苦的背后是新生的孕育,所以,影片让我们看到了托德,满教室的托德,这就是延续和未来!

     

     

     

  • 原作者姓名 网络

    正文


    给C++初学者的50个忠告
      1.把C++当成一门新的语言学习(和C没啥关系!真的。);
      2.看《Thinking In C++》,不要看《C++变成死相》;
      3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;
      4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
      5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
      6.会用Visual C++,并不说明你会C++;
      7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;
      8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;
      9.看Visual C++的书,是学不了C++语言的;
      10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?
      11.浮躁的人容易问:我到底该学什么;——别问,学就对了;
      12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;
      13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
      14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
      15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
      16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
      17.C++不仅仅是支持面向对象的程序设计语言;
      18.学习编程最好的方法之一就是阅读源代码;
      19.在任何时刻都不要认为自己手中的书已经足够了;
      20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准;
      21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;
      22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
      23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
      24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;
      25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
      26.请看《程序设计实践》,并严格的按照其要求去做;
      27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
      28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
      29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已;
      30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;
      31.学习编程的秘诀是:编程,编程,再编程;
      32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》;
      33.记住:面向对象技术不只是C++专有的;
      34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
      35.把在书中看到的有意义的例子扩充;
      36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中;
      37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;
      38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;
      39.C++语言和C++的集成开发环境要同时学习和掌握;
      40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
      41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主;
      42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43);
      43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;
      44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
      45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;
      46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
      47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX;
      48.保存好你写过的所有的程序——那是你最好的积累之一;
      49.请不要做浮躁的人;
      50.请热爱C++!

    正文完

  • 各种各样的Spammer已经到了让人深恶痛绝的地步,各种反Spam的手段也层出不穷。现在Lycos Europe所推出的这个屏幕程序更绝,以DDoS攻击的方式来对付Spammer。这个屏幕保护程序在运行的时候会向Spam发送者的网络服务器发送请求,当有很多用户同时使用这个屏幕保护程序的时候,就可以达到阻塞Spam服务器带宽的目的。这个屏幕保护程序的标语也很有意思:"Make LOVE not SPAM"。

     

    这种富有攻击性的Anti-Spam方式引起了不少争议,因为DDoS会违反很多地方的法律。今年8月,在美国就有人因为用DDoS的方式攻击竞争对手的网站而遭到逮捕。

    DDoS攻击概念

    DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。

    DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等等各项性能指标不高它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS攻击的困难程度加大了 - 目标对恶意攻击包的"消化能力"加强了不少,例如你的攻击软件每秒钟可以发送3,000个攻击包,但我的主机与网络带宽每秒钟可以处理10,000个攻击包,这样一来攻击就不会产生什么效果。

    这时侯分布式的拒绝服务攻击手段(DDoS)就应运而生了。你理解了DoS攻击的话,它的原理就很简单。如果说计算机与网络的处理能力加大了10倍,用一台攻击机来攻击不再能起作用的话,攻击者使用10台攻击机同时攻击呢?用100台呢?DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。

    高速广泛连接的网络给大家带来了方便,也为DDoS攻击创造了极为有利的条件。在低速网络时代时,黑客占领攻击用的傀儡机时,总是会优先考虑离目标网络距离近的机器,因为经过路由器的跳数少,效果好。而现在电信骨干节点之间的连接都是以G为级别的,大城市之间更可以达到2.5G的连接,这使得攻击可以从更远的地方或者其他城市发起,攻击者的傀儡机位置可以在分布在更大的范围,选择起来更灵活了。

    被DDoS攻击时的现象

    • 被攻击主机上有大量等待的TCP连接
    • 网络中充斥着大量的无用的数据包,源地址为假
    • 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯
    • 利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求
    • 严重时会造成系统死机

    攻击运行原理

     

    如图一,一个比较完善的DDoS攻击体系分成四大部分,先来看一下最重要的第2和第3部分:它们分别用做控制和实际发起攻击。请注意控制机与攻击机的区别,对第4部分的受害者来说,DDoS的实际攻击包是从第3部分攻击傀儡机上发出的,第2部分的控制机只发布命令而不参与实际的攻击。对第2和第3部分计算机,黑客有控制权或者是部分的控制权,并把相应的DDoS程序上传到这些平台上,这些程序与正常的程序一样运行并等待来自黑客的指令,通常它还会利用各种手段隐藏自己不被别人发现。在平时,这些傀儡机器并没有什么异常,只是一旦黑客连接到它们进行控制,并发出指令的时候,攻击傀儡机就成为害人者去发起攻击了。

    有的朋友也许会问道:"为什么黑客不直接去控制攻击傀儡机,而要从控制傀儡机上转一下呢?"。这就是导致DDoS攻击难以追查的原因之一了。做为攻击者的角度来说,肯定不愿意被捉到(我在小时候向别人家的鸡窝扔石头的时候也晓得在第一时间逃掉,呵呵),而攻击者使用的傀儡机越多,他实际上提供给受害者的分析依据就越多。在占领一台机器后,高水平的攻击者会首先做两件事:1. 考虑如何留好后门(我以后还要回来的哦)!2. 如何清理日志。这就是擦掉脚印,不让自己做的事被别人查觉到。比较不敬业的黑客会不管三七二十一把日志全都删掉,但这样的话网管员发现日志都没了就会知道有人干了坏事了,顶多无法再从日志发现是谁干的而已。相反,真正的好手会挑有关自己的日志项目删掉,让人看不到异常的情况。这样可以长时间地利用傀儡机。

    但是在第3部分攻击傀儡机上清理日志实在是一项庞大的工程,即使在有很好的日志清理工具的帮助下,黑客也是对这个任务很头痛的。这就导致了有些攻击机弄得不是很干净,通过它上面的线索找到了控制它的上一级计算机,这上级的计算机如果是黑客自己的机器,那么他就会被揪出来了。但如果这是控制用的傀儡机的话,黑客自身还是安全的。控制傀儡机的数目相对很少,一般一台就可以控制几十台攻击机,清理一台计算机的日志对黑客来讲就轻松多了,这样从控制机再找到黑客的可能性也大大降低。

    黑客是如何组织一次DDoS攻击的?
    这里用"组织"这个词,是因为DDoS并不象入侵一台主机那样简单。一般来说,黑客进行DDoS攻击时会经过这样的步骤:

    1. 搜集了解目标的情况
    下列情况是黑客非常关心的情报:

    • 被攻击目标主机数目、地址情况
    • 目标主机的配置、性能
    • 目标的带宽

     

    对于DDoS攻击者来说,攻击互联网上的某个站点,如http://www.mytarget.com,有一个重点就是确定到底有多少台主机在支持这个站点,一个大的网站可能有很多台主机利用负载均衡技术提供同一个网站的www服务。以yahoo为例,一般会有下列地址都是提供http://www.yahoo.com服务的:

    66.218.71.87
    66.218.71.88
    66.218.71.89
    66.218.71.80
    66.218.71.81
    66.218.71.83
    66.218.71.84
    66.218.71.86
    

     

    如果要进行DDoS攻击的话,应该攻击哪一个地址呢?使66.218.71.87这台机器瘫掉,但其他的主机还是能向外提供www服务,所以想让别人访问不到http://www.yahoo.com的话,要所有这些IP地址的机器都瘫掉才行。在实际的应用中,一个IP地址往往还代表着数台机器:网站维护者使用了四层或七层交换机来做负载均衡,把对一个IP地址的访问以特定的算法分配到下属的每个主机上去。这时对于DDoS攻击者来说情况就更复杂了,他面对的任务可能是让几十台主机的服务都不正常。

    所以说事先搜集情报对DDoS攻击者来说是非常重要的,这关系到使用多少台傀儡机才能达到效果的问题。简单地考虑一下,在相同的条件下,攻击同一站点的2台主机需要2台傀儡机的话,攻击5台主机可能就需要5台以上的傀儡机。有人说做攻击的傀儡机越多越好,不管你有多少台主机我都用尽量多的傀儡机来攻就是了,反正傀儡机超过了时候效果更好。

    但在实际过程中,有很多黑客并不进行情报的搜集而直接进行DDoS的攻击,这时候攻击的盲目性就很大了,效果如何也要靠运气。其实做黑客也象网管员一样,是不能偷懒的。一件事做得好与坏,态度最重要,水平还在其次。

    2. 占领傀儡机
    黑客最感兴趣的是有下列情况的主机:

    • 链路状态好的主机
    • 性能好的主机
    • 安全管理水平差的主机

     

    这一部分实际上是使用了另一大类的攻击手段:利用形攻击。这是和DDoS并列的攻击方式。简单地说,就是占领和控制被攻击的主机。取得最高的管理权限,或者至少得到一个有权限完成DDoS攻击任务的帐号。对于一个DDoS攻击者来说,准备好一定数量的傀儡机是一个必要的条件,下面说一下他是如何攻击并占领它们的。

    首先,黑客做的工作一般是扫描,随机地或者是有针对性地利用扫描器去发现互联网上那些有漏洞的机器,象程序的溢出漏洞、cgi、Unicode、ftp、数据库漏洞...(简直举不胜举啊),都是黑客希望看到的扫描结果。随后就是尝试入侵了,具体的手段就不在这里多说了,感兴趣的话网上有很多关于这些内容的文章。

    总之黑客现在占领了一台傀儡机了!然后他做什么呢?除了上面说过留后门擦脚印这些基本工作之外,他会把DDoS攻击用的程序上载过去,一般是利用ftp。在攻击机上,会有一个DDoS的发包程序,黑客就是利用它来向受害目标发送恶意攻击包的。

    3. 实际攻击
    经过前2个阶段的精心准备之后,黑客就开始瞄准目标准备发射了。前面的准备做得好的话,实际攻击过程反而是比较简单的。就象图示里的那样,黑客登录到做为控制台的傀儡机,向所有的攻击机发出命令:"预备~ ,瞄准~,开火!"。这时候埋伏在攻击机中的DDoS攻击程序就会响应控制台的命令,一起向受害主机以高速度发送大量的数据包,导致它死机或是无法响应正常的请求。黑客一般会以远远超出受害方处理能力的速度进行攻击,他们不会"怜香惜玉"。

    老到的攻击者一边攻击,还会用各种手段来监视攻击的效果,在需要的时候进行一些调整。简单些就是开个窗口不断地ping目标主机,在能接到回应的时候就再加大一些流量或是再命令更多的傀儡机来加入攻击。

    DDoS攻击实例 - SYN Flood攻击
    SYN-Flood是目前最流行的DDoS攻击手段,早先的DoS的手段在向分布式这一阶段发展的时候也经历了浪里淘沙的过程。SYN-Flood的攻击效果最好,应该是众黑客不约而同选择它的原因吧。那么我们一起来看看SYN-Flood的详细情况。

    Syn Flood原理 - 三次握手
    Syn Flood利用了TCP/IP协议的固有漏洞。面向连接的TCP三次握手是Syn Flood存在的基础。

    TCP连接的三次握手

    如图二,在第一步中,客户端向服务端提出连接请求。这时TCP SYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位)。在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。

    Syn Flood攻击者不会完成三次握手

    假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃---即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称做:服务器端受到了SYN Flood攻击(SYN洪水攻击)。

    下面是我在实验室中模拟的一次Syn Flood攻击的实际过程

    这一个局域网环境,只有一台攻击机(PIII667/128/mandrake),被攻击的是一台Solaris 8.0 (spark)的主机,网络设备是Cisco的百兆交换机。这是在攻击并未进行之前,在Solaris上进行snoop的记录,snoop与tcpdump等网络监听工具一样,也是一个很好的网络抓包与分析的工具。可以看到攻击之前,目标主机上接到的基本上都是一些普通的网络包。

    ...
    ...
               ? -> (broadcast)  ETHER Type=886F (Unknown), size = 1510 bytes
               ? -> (broadcast)  ETHER Type=886F (Unknown), size = 1510 bytes
               ? -> (multicast)  ETHER Type=0000 (LLC/802.3), size = 52 bytes
               ? -> (broadcast)  ETHER Type=886F (Unknown), size = 1510 bytes
    192.168.0.66 -> 192.168.0.255 NBT Datagram Service Type=17 Source=GU[0]
    192.168.0.210 -> 192.168.0.255 NBT Datagram Service Type=17 Source=ROOTDC[20]
    192.168.0.247 -> 192.168.0.255 NBT Datagram Service Type=17 Source=TSC[0]
               ? -> (broadcast)  ETHER Type=886F (Unknown), size = 1510 bytes
    192.168.0.200 -> (broadcast)  ARP C Who is 192.168.0.102, 192.168.0.102 ?
               ? -> (broadcast)  ETHER Type=886F (Unknown), size = 1510 bytes
               ? -> (broadcast)  ETHER Type=886F (Unknown), size = 1510 bytes
    192.168.0.66 -> 192.168.0.255 NBT Datagram Service Type=17 Source=GU[0]
    192.168.0.66 -> 192.168.0.255 NBT Datagram Service Type=17 Source=GU[0]
    192.168.0.210 -> 192.168.0.255 NBT Datagram Service Type=17 Source=ROOTDC[20]
               ? -> (multicast)  ETHER Type=0000 (LLC/802.3), size = 52 bytes
               ? -> (broadcast)  ETHER Type=886F (Unknown), size = 1510 bytes
               ? -> (broadcast)  ETHER Type=886F (Unknown), size = 1510 bytes
    ...
    ...

    接着,攻击机开始发包,DDoS开始了...,突然间sun主机上的snoop窗口开始飞速地翻屏,显示出接到数量巨大的Syn请求。这时的屏幕就好象是时速300公里的列车上的一扇车窗。这是在Syn Flood攻击时的snoop输出结果:

    ...
    ...
     127.0.0.178 -> lab183.lab.net AUTH C port=1352 
     127.0.0.178 -> lab183.lab.net TCP D=114 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net TCP D=115 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net UUCP-PATH C port=1352 
     127.0.0.178 -> lab183.lab.net TCP D=118 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net NNTP C port=1352 
     127.0.0.178 -> lab183.lab.net TCP D=121 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net TCP D=122 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net TCP D=124 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net TCP D=125 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net TCP D=126 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net TCP D=128 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net TCP D=130 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net TCP D=131 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net TCP D=133 S=1352 Syn Seq=674711609 Len=0 Win=65535
     127.0.0.178 -> lab183.lab.net TCP D=135 S=1352 Syn Seq=674711609 Len=0 Win=65535
    ...
    ...

    这时候内容完全不同了,再也收不到刚才那些正常的网络包,只有DDoS包。大家注意一下,这里所有的Syn Flood攻击包的源地址都是伪造的,给追查工作带来很大困难。这时在被攻击主机上积累了多少Syn的半连接呢?我们用netstat来看一下:

    # netstat -an | grep SYN

    ...
    ...
    192.168.0.183.9      127.0.0.79.1801          0      0 24656      0 SYN_RCVD
    192.168.0.183.13     127.0.0.79.1801          0      0 24656      0 SYN_RCVD
    192.168.0.183.19     127.0.0.79.1801          0      0 24656      0 SYN_RCVD
    192.168.0.183.21     127.0.0.79.1801          0      0 24656      0 SYN_RCVD
    192.168.0.183.22     127.0.0.79.1801          0      0 24656      0 SYN_RCVD
    192.168.0.183.23     127.0.0.79.1801          0      0 24656      0 SYN_RCVD
    192.168.0.183.25     127.0.0.79.1801          0      0 24656      0 SYN_RCVD
    192.168.0.183.37     127.0.0.79.1801          0      0 24656      0 SYN_RCVD
    192.168.0.183.53     127.0.0.79.1801          0      0 24656      0 SYN_RCVD
    ...
    ...

    其中SYN_RCVD表示当前未完成的TCP SYN队列,统计一下:
    # netstat -an | grep SYN | wc -l
    5273
    # netstat -an | grep SYN | wc -l
    5154
    # netstat -an | grep SYN | wc -l
    5267
    .....

    共有五千多个Syn的半连接存储在内存中。这时候被攻击机已经不能响应新的服务请求了,系统运行非常慢,也无法ping通。

    这是在攻击发起后仅仅70秒钟左右时的情况。

    DDoS的防范
    到目前为止,进行DDoS攻击的防御还是比较困难的。首先,这种攻击的特点是它利用了TCP/IP协议的漏洞,除非你不用TCP/IP,才有可能完全抵御住DDoS攻击。一位资深的安全专家给了个形象的比喻:DDoS就好象有1,000个人同时给你家里打电话,这时候你的朋友还打得进来吗?

    不过即使它难于防范,也不是说我们就应该逆来顺受,实际上防止DDoS并不是绝对不可行的事情。互联网的使用者是各种各样的,与DDoS做斗争,不同的角色有不同的任务。我们以下面几种角色为例:

    • 企业网管理员
    • ISP、ICP管理员
    • 骨干网络运营商

     

    企业网管理员
    网管员做为一个企业内部网的管理者,往往也是安全员、守护神。在他维护的网络中有一些服务器需要向外提供WWW服务,因而不可避免地成为DDoS的攻击目标,他该如何做呢?可以从主机与网络设备两个角度去考虑。

    主机上的设置
    几乎所有的主机平台都有抵御DoS的设置,总结一下,基本的有几种:

    • 关闭不必要的服务
    • 限制同时打开的Syn半连接数目
    • 缩短Syn半连接的time out 时间
    • 及时更新系统补丁

     

    网络设备上的设置
    企业网的网络设备可以从防火墙与路由器上考虑。这两个设备是到外界的接口设备,在进行防DDoS设置的同时,要注意一下这是以多大的效率牺牲为代价的,对你来说是否值得。

    1.防火墙

    • 禁止对主机的非开放服务的访问
    • 限制同时打开的SYN最大连接数
    • 限制特定IP地址的访问
    • 启用防火墙的防DDoS的属性
    • 严格限制对外开放的服务器的向外访问

     

    第五项主要是防止自己的服务器被当做工具去害人。

    2.路由器

      以Cisco路由器为例
    • Cisco Express Forwarding(CEF)
    • 使用 unicast reverse-path
    • 访问控制列表(ACL)过滤
    • 设置SYN数据包流量速率
    • 升级版本过低的ISO
    • 为路由器建立log server

     

    其中使用CEF和Unicast设置时要特别注意,使用不当会造成路由器工作效率严重下降,升级IOS也应谨慎。路由器是网络的核心设备,与大家分享一下进行设置修改时的小经验,就是先不保存。Cisco路由器有两份配置startup config和running config,修改的时候改变的是running config,可以让这个配置先跑一段时间(三五天的就随意啦),觉得可行后再保存配置到startup config;而如果不满意想恢复原来的配置,用copy start run就行了。

    ISP / ICP管理员
    ISP / ICP为很多中小型企业提供了各种规模的主机托管业务,所以在防DDoS时,除了与企业网管理员一样的手段外,还要特别注意自己管理范围内的客户托管主机不要成为傀儡机。客观上说,这些托管主机的安全性普遍是很差的,有的连基本的补丁都没有打就赤膊上阵了,成为黑客最喜欢的"肉鸡",因为不管这台机器黑客怎么用都不会有被发现的危险,它的安全管理太差了;还不必说托管的主机都是高性能、高带宽的-简直就是为DDoS定制的。而做为ISP的管理员,对托管主机是没有直接管理的权力的,只能通知让客户来处理。在实际情况时,有很多客户与自己的托管主机服务商配合得不是很好,造成ISP管理员明知自己负责的一台托管主机成为了傀儡机,却没有什么办法的局面。而托管业务又是买方市场,ISP还不敢得罪客户,怎么办?咱们管理员和客户搞好关系吧,没办法,谁让人家是上帝呢?呵呵,客户多配合一些,ISP的主机更安全一些,被别人告状的可能性也小一些。

    骨干网络运营商
    他们提供了互联网存在的物理基础。如果骨干网络运营商可以很好地合作的话,DDoS攻击可以很好地被预防。在2000年yahoo等知名网站被攻击后,美国的网络安全研究机构提出了骨干运营商联手来解决DDoS攻击的方案。其实方法很简单,就是每家运营商在自己的出口路由器上进行源IP地址的验证,如果在自己的路由表中没有到这个数据包源IP的路由,就丢掉这个包。这种方法可以阻止黑客利用伪造的源IP来进行DDoS攻击。不过同样,这样做会降低路由器的效率,这也是骨干运营商非常关注的问题,所以这种做法真正采用起来还很困难。

    对DDoS的原理与应付方法的研究一直在进行中,找到一个既有效又切实可行的方案不是一朝一夕的事情。但目前我们至少可以做到把自己的网络与主机维护好,首先让自己的主机不成为别人利用的对象去攻击别人;其次,在受到攻击的时候,要尽量地保存证据,以便事后追查,一个良好的网络和日志系统是必要的。无论DDoS的防御向何处发展,这都将是一个社会工程,需要IT界的同行们来一起关注,通力合作。

  • 经济学网址大全
    2004年 12月31日
     
    经济学相关网址超级大全

    经济学家 
    http://www.jjxj.com.cn/ 
    北京大学国际经济研究中心 
    http://www.ccer.edu.cn/cn/ 
    中国经济学教育科研网 
    http://www.cenet.org.cn/cn/ 
    清华大学经济研究中心 
    http://www.ncer.tsinghua.edu.cn/ ? 
    1.经济学家的网上资源 
    http://netec.wustl.edu/EconFAQ/EconFAQ.html提供的网上资源. 
    2.经济学网上接入服务 
    http://ideas.uqam.ca/提供经济学研究方面的资料 
    3.经济学网上接入服务之论文系列 
    http://ideas.uqam.ca/ideas/data/PaperSeries.html提供论文的机构 
    4.Altaplana国际经济学门户 
    http://altaplana.com/gate.html ;与国际经济学相关的资料 
    7.5.金融经济学网站 
    http://www.finweb.com/ ;提供金融、经济学方面的资料,包括论文、期刊、数据等 
    6.神奇经济数据库 
    http://www.economagic.com/ ;集中了大量世界各国的宏观经济时间序列数据,主要供计量经济学家使用 
    8.国民经济研究局 
    http://www.nber.org ;世界著名的研究机构,提供讨论稿、数据,中国研究人员可以免费下载 
    9.经济政策研究中心 
    http://www.cepr.org ;世界著名的研究机构,有许多讨论稿,部分可以免费下载 
    10.普林斯顿大学Pliny Fisk经济学和金融图书馆 
    http://www.princeton.edu/~econlib/ ;提供经济学,金融方面的论文,数据,经济学和金融学网站等。 
    11.经济链接 
    http://econlinks.com/ ;提供经济学家、学生常用的链接 
    Elsevier Science / 
    North-Holland的经济数据库 
    http://www.elsevier.nl/homepage/sae/econbase/menu.sht 
    包含大量论文,有17000多条摘要,6500篇文章可以全文下载(尚在增加中),涉及经济学的大部分学科 
    12.期刊大全 
    http://www.jstor.org/ ; 
    收集了部分期刊的电子版,只有会员机构的研究人员可以进入,但可试用其演示数据库 
    13.Blackwell出版社出版的期刊 
    http://www.blackwellpublishers.co.uk/asp/listofj.asp 
    世界著名的出版社Blackwell出版的期刊,部分论文可以免费下载 
    14.思想图书馆 
    http://www.idealibrary.com/servlet/useragent?func=showHome 
    包括Academic Press, Churchill Livingstone, W.B. Saunders, 和 Baillière Tindall出版的期刊和百科全书 
    15.社会科学研究网 
    http://www.ssrn.com/ 
    包括社会科学方面的论文,有5个专业研究网,涉及会计,经济,金融,拉美和法律 
    16.金融教员目录 
    http://www.cob.ohio-state.edu/~fin/findir/ ; 
    收录全球180个学校,前50名学校的金融教师名单 
    17.金融和经济研究人员黄页 
    http://welch.som.yale.edu/dir 
    搜索经济和金融人员的地址 
    数据网 
    18.耶鲁大学社会科学数据http://statlab.stat.yale.edu/SSDA/ssda.html ; 
    19.美国统计署 http://www.census.gov/ ; 
    20.美国劳动统计署 http://www.bls.gov/ 
    21.(美国)健康统计中心 http://www.cdc.gov/nchs/default.htm 
    22.(美国)社会保障管理http://www.ssa.gov/ ; 
    23.政治和社会研究大学联合会(密歇根大学) http://www.icpsr.umich.edu/ 
    24.密歇根调查研究中心 http://www.isr.umich.edu/src/research.html 
    25.经济学和老龄人口中心(加州大学:伯克利) http://arrow.qal.berkeley.edu/ 
    26.老龄研究(政策研究中心:美国) http://www-cpr.maxwell.syr.edu/aging.htm ; 
    27.外国劳动统计 http://stats.bls.gov/flshome.htm ; 
    28.《计量经济学》杂志数据库 http://qed.econ.queensu.ca/jae/ 
    29.世界银行数据http://www.worldbank.org/data/ 
    30.货币,汇率数据 http://www.wiso.gwdg.de/ifbg/currency.html 
    31.欧盟 http://europa.eu.int/index.htm 
    32.经济合作与发展组织(OECDhttp://www.oecd.org/ 
    33.世界银行 http://www.worldbank.org/ 
    经济学会 
    34.美国经济协会 http://www.vanderbilt.edu/AEA/ 
    JOURNAL OF ECONOMIC LITERATURE和JOURNAL OF ECONOMIC PERSPECTIVES杂志的出版单位 
    35.美国金融学会 http://www.afajof.org/是《金融》杂志的出版单位 
    36.西方金融协会 http://www.gsm.cornell.edu/wfa/index.html 
      
    37. 美国会计协http://www.rutgers.edu/Accounting/raw/aaa/ ; 著名的《美国会计协会季刊》的出版单位 
    38.金融研究学会 http://www.sfs.org/ 
    为金融从业人员和学术研究人员提供关于学术理论,研究和金融实际 
    39.国际金融管理协会 http://www.fma.org/index.htm ;  
    40. 欧洲金融管理协http://www.odu.edu/~efma/ 

    经济学家的网上资源http://netec.wustl.edu/EconFAQ/EconFAQ.html 
    美国经济协会为经济学家提供的网上资源 
    经济学网上接入服务http://ideas.uqam.ca/            
    提供经济学研究方面的资料 
    经济学网上接入服务之论文系列http://ideas.uqam.ca/ideas/data/PaperSeries.html 
    提供论文的机构 
    Altaplana国际经济学门户http://altaplana.com/gate.html 
    与国际经济学相关的资料 
    http://www.mises.org 
    http://www.nobel.se 
    http://www.ebook007.com 目前网上能找到最全的免费图书下载网站,以前素心学苑的书几乎都有,哲学方面的比素心学苑更多。五星推荐!! 
    http://www.nd.edu/%7Ekmukhopa/cal300/calcutta/amartya.htm 阿玛蒂亚森的个人主页 
    http://www.robertmundell.net/ 蒙戴尔的个人主页 
    http://emlab.berkeley.edu/users/mcfadden/index.html 
    http://lily.src.uchicago.edu/jheckman.html 
    金融经济学网站http://www.finweb.com/ 
    提供金融、经济学方面的资料,包括论文、期刊、数据等 
    神奇经济数据库http://www.economagic.com/ 
    集中了大量世界各国的宏观经济时间序列数据,主要供计量经济学家使用 
    国民经济研究局http://www.nber.org 
    世界著名的研究机构,提供讨论稿、数据,中国研究人员可以免费下载 
    经济政策研究中心http://www.cepr.org 
    世界著名的研究机构,有许多讨论稿,部分可以免费下载 
    普林斯顿大学Pliny Fisk经济学和金融图书馆http://www.princeton.edu/~econlib/ 
    提供经济学,金融方面的论文,数据,经济学和金融学网站等。 
    经济链接http://econlinks.com/ 
    提供经济学家、学生常用的链接 
    Elsevier Science / 
    North-Holland的经济数据http://www.elsevier.nl/homepage/sae/econbase/menu.sht 
    包含大量论文,有17000多条摘要,6500篇文章可以全文下载(尚在增加中),涉及经济学的大部分学科 
    期刊大全http://www.jstor.org/  
    收集了部分期刊的电子版,只有会员机构的研究人员可以进入,但可试用其演示数据库 
    Blackwell出版社出版的期刊http://www.blackwellpublishers.co.uk/asp/listofj.asp 
    世界著名的出版社Blackwell出版的期刊,部分论文可以免费下载 
    思想图书馆http://www.idealibrary.com/servlet/useragent?func=showHome 
    包括Academic Press, Churchill Livingstone, W.B. Saunders, 和 BailliereTindall出版的期刊和百科全书 
    社会科学研究网http://www.ssrn.com/ 
    包括社会科学方面的论文,有5个专业研究网,涉及会计,经济,金融,拉美和法律 
    金融教员目录http://www.cob.ohio-state.edu/~fin/findir/  
    收录全球180个学校,前50名学校的金融教师名单 
    金融和经济研究人员黄页http://welch.som.yale.edu/dir 
    搜索经济和金融人员的地址 
    数据网 
    耶鲁大学社会科学数据库http://statlab.stat.yale.edu/SSDA/ssda.html 
    美国统计署http://www.census.gov/ 
    美国劳动统计署http://www.bls.gov/ 
    (美国)健康统计中心http://www.cdc.gov/nchs/default.htm 
    (美国)社会保障管理局http://www.ssa.gov/ 
    政治和社会研究大学联合会(密歇根大学)http://www.icpsr.umich.edu/ 
    密歇根调查研究中心http://www.isr.umich.edu/src/research.html 
    经济学和老龄人口中心(加州大学:伯克利)http://arrow.qal.berkeley.edu/ 
    老龄研究(政策研究中心:美国)http://www-cpr.maxwell.syr.edu/aging.htm 
    外国劳动统计http://stats.bls.gov/flshome.htm 
    《计量经济学》杂志数据库http://qed.econ.queensu.ca/jae/ 
    世界银行数据库http://www.worldbank.org/data/ 
    货币,汇率数据http://www.wiso.gwdg.de/ifbg/currency.html 
    欧盟http://europa.eu.int/index.htm 
    经济合作与发展组织(OECD)http://www.oecd.org/ 
    世界银行http://www.worldbank.org/ 
    经济期刊 
    《兰德经济学》杂志。原名为《贝尔(Bell)经济学杂志》,1984年后改名至今。 
    http://www.rje.org/ 
    《政治经济学》杂志http://www.journals.uchicago.edu/JPE/home.html 
    《金融》杂志http://www.afajof.org/jofihome.shtml 
    《金融经济学》杂志http://jfe.rochester.edu/ 
    《金融和数量分析》杂志http://depts.washington.edu/jfqa/ 
    《金融中介》杂志 http://www.apnet.com/www/journal/jf.htm 
    《商务和经济统计》杂志http://www.amstat.org/publications/jbes/index.html 
    《应用计量经济学》杂志http://jae.wiley.com/jae/ 
    《经济研究评论》 http://www.exeter.ac.uk/restuds/Home.html 
    《金融和推测学》http://www.finasto.uni-bonn.de/journal/index.html 
    《农业经济学http://www.elsevier.nl/inca/publ ... 0/3/2/9/6/index.htt 
    经济学会 
    美国经济协会http://www.vanderbilt.edu/AEA/ JOURNAL OF ECONOMIC 
    LITERATURE和JOURNAL OF ECONOMIC PERSPECTIVES杂志的出版单位 
    美国金融学会http://www.afajof.org/ 是《金融》杂志的出版单位 
    西方金融协会http://www.gsm.cornell.edu/wfa/index.html   
    美国会计协会http://www.rutgers.edu/Accounting/raw/aaa/ 著名的《美国会计协会季刊》的出版单位 
    金融研究学会http://www.sfs.org/ 为金融从业人员和学术研究人员提供关于学术理论,研究和金融实际 
    国际金融管理协会http://www.fma.org/index.htm   
    欧洲金融管理协会http://www.odu.edu/~efma/   
    商业和经济新闻 
    bloomberghttp://www.bloomberg.com/ 
    《商业周刊》http://www.businessweek.com/ 
    CBS市场观察http://cbs.marketwatch.com/news/newsroom.htx 
    CNBChttp://www.cnbc.com/ 
    《经济学家》http://www.economist.com/ 
    CNNfn金融市场价格http://www.cnnfn.com/markets/index.html 
    YAHOO金融市场价格http://quote.yahoo.com/ 
    《金融时报》http://www.ft.com/index.htm 
    《福布斯》http://www.forbes.com/ 
    《财富》http://pathfinder.com/fortune/ 
    《纽约时报》http://www.nytimes.com/ 
    《华尔街日报》http://www.wsj.com/ 
    金融市场 
    CBS市场观察http://cbs.marketwatch.com/news/newsroom.htx 
    YAHOO金融http://quote.yahoo.com/ 
    纽约联邦储备银行http://www.ny.frb.org/pihome/mktrates/ 
    投资指南http://www.investmove.com/ 
    证券专家http://www.stockmaster.com/ 
    CNN金融市场http://www.cnnfn.com/markets/index.html 
    开放经济宏观经济学 
    普林斯顿大学Brian Doylehttp://www.princeton.edu/~bmdoyle/open.html 
    Giancarlo Corsetti(耶鲁大学http://www.econ.yale.edu/~corsetti/wami/wami.html 
    Aykut Kibritcioglu  http://dialup.ankara.edu.tr/~kibritci/oem.html 
      
    著名经济学家个人网站 
    Paul Krugmanhttp://web.mit.edu/krugman 国际经济学 
    Nouriel Roubinihttp://www.stern.nyu.edu/~nroubini/asia/AsiaHomepage.html 亚洲金融危机专题网站 
    Brad DeLonghttp://econ161.berkeley.edu/ 经济史 
    Nicholas Economideshttp://www.stern.nyu.edu/networks/site.html 网络 
    Samuel Brittanhttp://www.samuelbrittan.co.uk/ 《金融时报》专栏作家 
    Steve Suranovichttp://internationalecon.com/ 国际经济学(供学生学习用) 
    Ed. Yardenihttp://www.yardeni.com/welcome.asp 经济和金融 

    经济学资源(社科信息网关SOSIG ) 
    大型的资源指南,是英国和欧洲的几个研究机构建立的社会科学信息网关的一部分。包含了很多经济学和相关资源的链接。 
    http://www.sosig.ac.uk/roads/subject-listing/World-cat/econ.html 
    1. 新思维 
    --秉承人文关怀,关注中国经济,力图构建学界、金融界与新闻界的交流平台,设有思维评论、经济观察、学术争鸣、学人专栏、思维书斋等栏目。 
    http://www.swbbs.net/ 
    2. "人本经济学-自主劳动"网 
    "人本经济学-自主劳动理论"创始人学术网站。探索人类经济活动深层的人性动因,探索自主劳动理论的发展与应用。 
    http://www.wayee.com/ 
    3. 自由经纪人 
    个人观点,冷眼观察,探索,金融规则,ALL win。 
    http://locals.nease.net/index.html 
    4. 经济学习 
    一个高校经济学教师的个人网站,内容以原创为主,极富特色。 
    http://www.china-21cn.com 
    5. 经济学前沿 
    介绍经济学前沿理论,信息经济学、制度经济学、博弈论、产权经济学等。 
    http://www.hutc.zj.cn/jjxqy 
    6. 经济学文献访问服务处 
    -从几百种期刊中收录了60,000篇工作论文,供经济学研究人员免费使用。 
    http://ideas.uqam.ca/ideas/index.html 
    7. 经济学网络 
    -美国和世界经济与金融市场的在线图表、经济指南、每周经济分析与简评,以及指向其它资源的链接。所有文件都是PDF格式。 
    http://www.yardeni.com 
    8. 经济学阶梯教室——南京审计学院刘玉主讲 
    一个经济学、国际贸易等课程的教学网站。 
    http://www.gjmy.org 
    9. 经济学资源(社科信息网关SOSIG) 
    -大型的资源指南,是英国和欧洲的几个研究机构建立的社会科学信息网关的一部分。包含了很多经济学和相关资源的链接。 
    http://www.sosig.ac.uk/roads/subject-listing/World-cat/econ.html 
    10. 经济学论文检索(EconWPA) 
    http://econwpa.wustl.edu/wpawelcome.html 
    11. 经济学模拟 
    -供经济学原理、货币经济学、计量经济学和公共经济学课程使用。 
    http://ecedweb.unomaha.edu/ecosim.htm 
    12. 经济学综合 
    -促进学生探索现实世界并理解前辈经济学家的思想。 
    http://www.theeconomistsquartet.org 
    13. 凯恩斯理论讨论组检索 
    -将经济学家和其它对凯恩斯理论感兴趣的人聚集起来建立一个电子社区。该站点可以进行超文本讨论组检索。 
    http://csf.colorado.edu/econ 
    14. 资本主义 
    -从哲学、经济学和政治学等角度,解释资本主义。 
    http://www.capitalism.org 
    15. 资本主义与自由 
    经济学经典学术著作全文版阅读资料,由社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/mingzhu/zbzyyzy/zbzy.html 
    16. 资本异论 
    一个工学博士对商品交换和利润来源理论的反思。 
    http://www.nows.com/z 
    17. 经济学网络(华盛顿大学) 
    -连接全球经济学家的联机论坛,强调原创作品的发布。 
    http://netec.wustl.edu/NetEc.html 
    18. 经济学学科"十五"研究规划及课题指南(草案) 
    咨询组负责人:林岗(中国人民大学)。 
    http://www.sinoss.net/commfiles/subject/790.htm 
    19. 聚焦新经济 
    经济学经典学术著作全文版阅读资料,由社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/mingzhu/jjxjj/jjxjj.html 
    20. 经济著作书目 
    -美国经济学会(AmericanEconomicAssociation)发布。 
    http://www.econlit.org 
    21. 经济增长 
    -提供了关于经济增长方面的资源。包括数据集、期刊、链接、邮件列表、论文、参考工具和等内容。 
    http://www.nuff.ox.ac.uk/Economics/Growth 
    22. 江苏财经信息网 
    经济管理企业管理成本控制、财会实务教育、财政税收投资理财、股票证券金融保险。 
    http://economic.jscj.com 
    23. 今日财商网 
    以营销财商理念、为各类大中型企业提供现代管理综合培训的智力型机构。 
    http://www.todayfinancialiq.com 
    24. 金融论文在线 
    金融论文、金融数据及论坛。 
    http://www.finance-cn.com 
    25. 金融杀手 
    作者:RobertSlater 
    http://www.mypcera.com/book/zhengzhi/financial-killer/index.html 
    26. 国际政治与安全大事记(1999年10月-2000年9月) 
    社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/ziliao&shujuku/gjzzyaqdsj.htm 
    27. 国民财富的性质和原因的研究 
    经济学经典学术著作全文版阅读资料,由社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/mingzhu/gmch/gmch.html 
    28. 健康经济学 
    -网上健康经济学、政策、医药成果资源的指南。 
    http://www.exit109.com/~zaweb/pjp/econ.htm 
    29. 国内外政要、学者、经济界人士对日元汇率暴跌的评论 
    社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/ziliao&shujuku/rypl.htm 
    30. 国内外政要、学者、经济界人士对美国经济的述评 
    社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/ziliao&shujuku/mgjjps.htm 
    31. 经济论文和管理论文 
    中国总经理网提供。 
    http://www.cnceo.com/school/lwj.asp 
    32. 经济商务调研 
    迅速而有效地把握外部竞争环境和内部管理元素的变化、优化管理体系。 
    http://research.daochina.com 
    33. 经济学阶梯教室 
    含经济要闻、时评、经济论文、案例学习、名着下载、以及经济学讲义等。 
    http://www.gjmy.com 
    34. 经济学家 
    经济学家发表文章,建立自己的网上文集,向社会宣传自己的经济学思想的网站。 
    http://www.jjxj.com.cn 
    35. 经济学工作论文 
    -该站点上有华盛顿大学圣·路易斯分校的大量论文。22个主题领域。可通过e-mail免费订阅这些论文。 
    http://econwpa.wustl.edu/Welcome.html 
    36. 金融学堂-金融论文 
    金融论文参考。 
    http://www.finasea.com/asp/artic ... d=6&Nclassid=74 
    37. 经济导报 
    涵盖香港、中国及世界各地的经济新闻报导。 
    http://www.eiahk.com 
    38. 经济论文 
    选登经济论文。 
    http://www.cnceo.com/school/jjlw.asp 
    39. 经济专题 
    含经济热点、民意测验、经济类着作评说、书籍推荐和相关课程介绍。 
    http://free.prohosting.com/~wangyc 
    40. 经济发展理论 
    经济学经典学术著作全文版阅读资料,由社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/mingzhu/jjfz/jjfz.html 
    41. 商业参考 
    -德克萨斯大学关于经济学和商业的参考资源,按主题排列。 
    http://www.texshare.edu 
    42. 通货膨胀计算器 
    -有5个计算器,可以帮助大家计算消费者物价指数等不同指标的通货膨胀情况。 
    http://www.jsc.nasa.gov/bu2/inflate.html 
    43. 统计计算园地 
    武汉理工大学数学系与湖北省数量经济学会联合主办。 
    http://www.whut.edu.cn/slx 
    44. 系统经济学 
    介绍昝廷全博士关于中国系统经济学的最新研究成果。 
    http://www.systems-economics.net 
    45. 世纪之交的世界形势及中国的国际战略专题资料 
    社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/ziliao&shujuku/gjzl.htm 
    46. 世界经济论文集萃 
    提供世界经济专题文献,时间范围1999年至今,目前共收录20余篇。 
    http://www1.cei.gov.cn/forum50/50sjjj.htm 
    47. 认识经济论 
    经济学经典学术著作全文版阅读资料,由社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/mingzhu/rsjjl/rzjjl.html 
    48. 社会主义市场经济 
    含有关社会主义市场经济的文章。 
    http://www.qsjournal.com.cn/qs/20020501/GB/3-QS-CLASS.HTM 
    49. 世界上的经济学系、研究所和研究中心 
    -提供了178个国家和地区的4161个经济学系、研究所和研究中心,经济学学会和协会,以及财政部门、统计部门、中心银行及非赢利机构的链接。按国家、地区排列。 
    http://netec.mcc.ac.uk/EDIRC 
    50. 现代资本主义市场经济基本数学模型 
    单篇论文。 
    http://www.zippercn.com/shuzhong.htm 
    51. 望劲天涯路 
    含刘正山在经济学领域的学术成果、专着、经济学名家介绍及资料。 
    http://yetsun.y365.com 
    52. linb工作室 
    linb的个人网站,列出部分个人文章,并含有各类文献、资料。欢迎志同道合者。 
    http://www.linb.zj001.net 
    53. 学生论文 
    包含论述组织和谐、国有企业人事管理制度过渡、股票期权激励等论文。 
    http://www.myshow.com.cn/2MBA.htm 
    54. 香港自由经济体系 
    探讨经济自由的意义及好处、政府扮演的角色及专家对香港的评价。 
    http://www.freeconomy.org 
    55. IDEAS论文 
    -收录了大约58,500篇工作论文、11957篇期刊论文和个软件。 
    http://ideas.uqam.ca 
    56. Inomics搜索引擎:检索经济信息 
    -专门检索经济学信息的搜索引擎。 
    http://www.inomics.com/query/search 
    57. 天润财经-证券论文资料 
    含金融论文资料。 
    http://www.forumcn.com/zqjr 
    58. 天润财经 
    含会计审计、财政税收、工商管理、CPA考试培训等论文资料。 
    http://www.forumcn.com 
    59. 1998年世界经济大事记 
    社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/ziliao&shujuku/dsj1998.htm 
    60. 2002-2003中国经济形势分析与预测 
    世界和中国宏观经济发展趋势分析与预测。 
    http://www.china.com.cn/chinese/zhuanti/249651.htm 
    61. 2003中国经济十大预测报告 
    提供2003年中国经济形势分析和预测。 
    http://finance.sina.com.cn/nz/2003report 
    62. 2003中国经济十大预测报告推出 
    提供报告目录和内容简介。 
    http://www.lawhighway.com.cn/fav ... .asp?articleid=1037 
    63. 自由秩序原理 
    经济学经典学术著作全文版阅读资料,由社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/mingzhu/zyzxyl/ziyzx.html 
    64. 1800年至今美元的通货膨胀换算因子 
    -根据通货膨胀率将1999年的美元转换为其它年代的等值数量,也可以将其它年度的货币相互转换。 
    http://www.orst.edu/dept/pol_sci/fac/sahr/sahr.htm 
    65. 1997年世界经济大事记 
    社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/ziliao&shujuku/dsj1997.htm 
    66. 1996年世界经济大事记 
    社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/ziliao&shujuku/dsj1996.htm 
    67. 1929美国股市崩溃原因 
    分析1929年美国股市崩溃原因。 
    http://www.1929stockmarketcrash.com/chinese-simplified.htm 
    68. 情报官世界 
    提供科技和商贸新闻、竞争策略、经营智慧、兵法书籍推介。 
    http://www.cioworld.net 
    69. 全球化和人权 
    -美国公共广播公司(PBS)关注的焦点问题。 
    http://www.pbs.org/globalization 
    70. 水价理论与实践 
    《水价理论与实践》专著介绍。 
    http://www.chinawater.net.cn/CWSNews/NewBook-02.html 
    71. 全球化与中国专题研究文献目录 
    社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/k ... alization/index.htm
    72. 全球化监察 
    以批判的角度解释全球一体化,是如何深刻地影响着每个人。 
    http://globmon.hypermart.net 
    73. 美国经济文摘 
    社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/z ... jiwenzhai/index.htm 
    74. 论美国的民主 
    经济学经典学术著作全文版阅读资料,由社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/mingzhu/mgmz/mgmz.html 
    75. Bos的经济预测 
    -阿拉巴马大学经济系的TedBos基于自创的预测机制进行的经济预测。它是用Web网展示复杂学术成果的一个范例。 
    http://bos.business.uab.edu/forecast/fore.htm 
    76. 论文索引 
    提供国内经济论文专题索引。 
    http://www.fec.com.cn/lwsy 
    77. 论文前线 
    为您提供多学科论文资料查询服务。 
    http://lw123.vip.sina.com 
    78. 经济学毕业论文 
    提供免费的毕业论文。包括毕业论文答辩过程、毕业论文答辩前的准备、毕业论文指导的意义等。 
    http://iloveyousheng.y365.com 

    79. 企业经营管理制度系统 
    提供会员制管理制度文章在线阅读服务。 
    http://www.smartplan.com.cn/manageregulation.htm 
    80. 企业制度与改制 
    提供企业管理制度相关文章。 
    http://www.boraid.com/darticle3/ ... d=8&Nclassid=45 
    81. 慢慢的网络-世界经济论坛频道 
    介绍经济焦点、论文资料、经济专题。 
    http://www.manmandi.net/it 
    82. 会计论文资料 
    提供会计理论的相关资料。 
    http://www.taxwebs.com/lunwen/lunwen.htm 
    83. 会计论文写作的基本程序与要求 
    介绍如何现状、特点、作用、写作准备。 
    http://www.kj2000.com/kjasp/lunweng/jiben.htm 
    84. 经济论文-贸易论文 
    提供经济论文文章和搜索。 
    http://www.gjmy.com/jjlw.asp 
    85. 建立现代企业制度的关键问题 
    提供相关文章。 
    http://www.chinawater.net.cn/Journal/Three_Gorges/200105/01.html 
    86. 会计学论文参考 
    介绍会计实务及会计实务。 
    http://www.hitmba.net/zy/kuaijilunwen.htm 
    87. 东北财经大学数量经济系 
    系情简介、机构设置、教师介绍、专业建设、课程设置等。 
    http://www.dufe.org/sl 
    88. 计量经济学初级教程课件下载 
    采用高等教育出版社出版的、李子奈教授编著的《计量经济学》进行教与学。。 
    http://minixi.myrice.com/xxyd/kjxz.htm 
    89. 计量经济学是以经济理论为指导 
    量经济学是以经济理论为指导,以事实为依据,以数学、统计学为方法。 
    http://202.203.178.88/homepage/sunhq/quantity%20economics.htm 
    90. 计算经济模型(卡耐基·梅隆大学) 
    -该主题主要资源的热门链接。 
    http://zia.hss.cmu.edu/econ 
    91. 剩余价值理论证伪 
    黄佶政治经济学论文集和讨论。 
    http://www.fortunecity.com/victorian/bellow/89/hjpapers.html 
    92. 天润财经行业经济论文资料 
    提供各行业论文集萃。 
    http://www.forumcn.com/hyjj 
    93. 张瑞敏、柳传志和现代企业制度 
    提供相关经济观察文章。 
    http://www.c-fol.net/news/content/504/20030422114513.htm 
    94. 现代企业制度与财务管理模式 
    提供相关论文。 
    http://www.chinaacc.com/new/2003_4%5C30409103506.htm 
    95. 现代企业制度 
    提供现代企业制度相关文章。 
    http://www.yfzs.gov.cn/gb/info/yfzq/xdqyzd 
    96. 白鲨在线 
    致力于传播经济学知识,交流经济学思想,推动中国经济现代化、市场自由化。 
    http://baisha.xiloo.com 
    97. 地方税知识园地 
    地方税税收政策、税收论文、企业财务、漯河地税。 
    http://lhds.diy.163.com 
    98. 海霖山居 
    集经济理论,企业管理,市场营销和三国论坛于一身。 
    http://whbcn.vip.sina.com 
    99. 2002中国国际企业网络论坛 
    涉及到卫星通信、媒体网络、企业管理、无线及宽带五大方面六个主体日的论坛。 
    http://www.enterprisechina.com 
    100. 財團法人連德工商發展基金會 
    辦理獎助與研究工作,探討工商問題,培育人才,改進工商管理技術,而以促進工商發展為宗旨. 
    http://lianteh.org.tw 
    101. 中国社会科学院青年读书会 
    致力于现代经济学理论研究及学术交流。 
    http://yaaf.xiloo.com 
    102. 力东宣言 
    本文详细阐述了人力资本(力东)和物力资本(股东)的基本价值构成要素。 
    http://www.chinaliaoyang-window.com/ldxy 
    103. 经济学俱乐部 
    经济学文章交流。 
    http://www.y-dxs.com 
    104. 工商管理0001班级主页 
    长安大学工商管理0001班级主页。 
    http://jgxy.chd.edu.cn/xueban/cla/s0001/index.asp 
    105. 国际优秀获奖论文 
    包括经济论文目录和文章。 
    http://www.interoutstandingthesis.com/zjlw3/zjlwml3.htm 
    106. 管理制度大全 
    提供管理制度文章及文件下载。 
    http://www.teamdo.com.cn/fir.asp?o=107 
    107. 会计类论文资料站 
    提供文章。 
    http://lycos16497.w59.lycos.com. ... efault.asp?fenlei=4 
    108. 会计专业硕士博士学位论文 
    提供论文题目。 
    http://www.tcage.com/shuoshi/kuaiji.htm 
    109. 会计专业硕士、博士学位论文 
    提供会计论文。 
    http://hxlw.vip.sina.com/zd/kuaiji.htm 
    110. 新时代亚洲经济研讨会 
    由北京大学经济学院、ACAES、改革开发论坛等主办。 
    http://162.105.192.88/aecnm.htm 
    111. 环境经济学 
    环境经济学是一门新兴的学科。 
    http://www.xyg-hb.com/huanjing/049.htm 
    112. 对企业核心竞争力的再认识 
    刘新萍(青岛教育学院)。 
    http://www.qddx.gov.cn/acade/journal/200203/arti013.htm 
    113. 东南亚金融风暴报道专辑 
    详细记载了1997年东南亚金融风暴对新加坡、马来西亚、泰国、菲律宾、印尼、中港台等地的影响。 
    http://www.zaobao.com/zaobao/special/pages/money1808.html 
    114. 东方论文库 
    会计史、会计基础理论、会计要素理论等。 
    http://www.accgo.com/wenku/lw_index.htm 
    115. 创业潮 
    创业指南,公司服务,mba,创业项目,企业孵化,创业新闻,创业基金。 
    http://www.keyedu.com 
    116. 道·琼斯指数一百多年来的波动历程 
    社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/ziliao&shujuku/bdlc.htm 
    117. 道中国 
    协助企业迅速而有效地把握外部竞争环境和内部管理元素的变化、分析并管理经营风险。 
    http://www.daochina.com 
    118. 地球经济论坛 
    分析研究过去、现在及将可能发生的各种经济问题、构建更为合理稳定的地球经济。 
    http://www.dqjj.com 
    119. 阿里巴巴WTO专业频道 
    -提供丰富的WTO资料,全面剖析中国入世之道的专业站点。 
    http://wto.china.alibaba.com 
    120. 北京大学网络经济研究中心 
    从事网络新经济发展研究,含中心介绍、研究课题、教育培训、合作伙伴。 
    http://www.ebc.pku.edu.cn 
    121. 财政网 
    -该站点有很多链接都是最好的经济和金融资源,包括数据库和论文。 
    http://www.finweb.com 
    122. 博士咖啡--中国经济学人 
    博士咖啡成员赵晓、钟伟、高辉清、巴曙松等经济学博士群体的经济学网站。 
    http://doctor-cafe.com 
    123. 北望经济学园 
    经济学学术站点,主要关注制度经济学、新政治经济学、近现代经济史等。 
    http://www.beiwang.com 
    124. 复旦大学中国经济研究中心 
    中心下设市场经济基础理论与制度研究部、经济结构与公共政策研究部、上海经济发展与体制创新研究部等。 
    http://www.fudancces.org 
    125. 个人主义与经济秩序 
    经济学经典学术著作全文版阅读资料,由社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/mingzhu/gerenzhuy/gerenzhuy.html 
    126. 高木大幸福工作室 
    借助网络和生命科学实现人人幸福理想。 
    http://www.gaom.net 
    127. 规则与力量:关于国际经济惯例的思考 
    讨论在国际经济关系中规则与力量的互动关系等问题。 
    http://www.juns.com.cn/rules/mulu.htm 
    128. 第四产业论 
    使用分析方法,对中国正在形成的社会主义市场经济,从与传统的经济研究方法不同的角度,作一个较为合乎实际的描述,使人们对经济的宏观运行有一个较为全面的和较为系统的认识。 
    http://www.mypcera.com/book/zhengzhi/disichanye/index.html 
    129. 法律与经济学 
    -有非常多的经济学和法律资源的链接,以及书目、邮件列表、出版商和工作论文等内容。可检索。 
    http://www.findlaw.com/lawecon 
    130. 福布斯杂志(ForbesMagazine) 
    提供了福布斯的杂志上的内容,还有专门为福布斯网站设计的内容。 
    http://www.forbes.com 
    131. 芬兰赫尔辛基大学经济学信息 
    -内容含盖经济学大部分学科。 
    http://www.helsinki.fi/WebEc 
    132. 反托拉斯政策 
    -提供了大量经济研究的站点链接。可以检索或按主题浏览。主要类目包括:兼并、价格固定等。 
    http://www.antitrust.org 
    133. 应用计量经济学期刊(JournalofAppliedEconomitrics) 
    -收录1988年到现在的各期论文。 
    http://qed.econ.queensu.ca/jae 
    134. 复旦计量经济学小站 
    计量经济学,金融工程学。相关软件和论文及以及相关学习内容。 
    http://ysdxf.myetang.com 
    135. 计量经济学软件园地 
    计量经济学是定量化的实证经济学。正是有了方便的计量经济学软件包,才使计量经济学有了繁荣的今天。 
    http://minixi.top263.net 
    136. 当前我国政府的经济职能 
    大型经济类专业网站,是向领导者和投资者提供经济决策支持的权威的信息平台。 
    http://drcnet.com 
    137. 经济计量学及计算链接集萃 
    -由伊里诺斯大学Urbana-Champaign分校经济计量学实验室建立和维护。 
    http://www.econ.uiuc.edu/~morillo/links.html 
    138. 经济计量学实验室 
    -美国加州大学伯克利分校建立的站点。上面有数据、各种免费软件、指向其它经济学资源的链接。 
    http://emlab.berkeley.edu/eml 
    139. 英国布里斯托尔大学经济学软件目录 
    -统计分析和经济计量学软件的销售信息。给出了软件简介、价格和销售商。 
    http://www.ilrt.bris.ac.uk/ctiecon/software.htm 
    140. 经济学与计算(芬兰赫尔辛基大学) 
    -主要提供经济学计算的研究及软件等内容。 
    http://www.helsinki.fi/WebEc/webecc8c.html 
    141. 经济统计学情况介绍(美国白宫) 
    -主要内容有:雇佣、失业和工资;收入;国际统计学;货币、信用卡和保险市场;进出口;价格;产品和商业活动,以及运输业。 
    http://www.whitehouse.gov/fsbr/esbr.html 
    142. 全国政策咨询信息网 
    国务院发展研究中心信息中心主办。 
    http://www.drcnet.gov.cn 
    143. 远东经济评论 
    -香港出版,亚洲主要的经济学杂志。 
    http://www.feer.com 
    144. 《商业周刊》商学院排行榜 
    -年度全美最好的商学院排行榜的联机版。 
    http://www.businessweek.com/tocs/bschools.htm 
    145. "学习经济"论坛(研究中心) 
    围绕姚余栋《学习经济》一书提出的思想,研究、促进"学习经济"思想。 
    http://learning.vip.sina.com 
    146. 新经济网(nem2000.com) 
    依托北京大学市场经济研究中心,介绍新经济、经济信息、市场行情及经济论坛。 
    http://www.nem2000.com 
    147. 持续经济波动对宏观经济学的挑战 
    北京大学中国经济研究中心陈平教授的主题发言。 
    http://www.unirule.org.cn/symposium/c169zongshu.htm 
    148. 当前工商领域固定资产投资重点 
    《当前工商领域固定资产投资重点》文章。 
    http://www.gzii.gov.cn/right/zwxx/tzgh/tzzc/008.htm 
    149. 诺贝尔经济学奖 
    介绍1969年至1999年历届诺贝尔经济学奖获奖者及其研究成果。 
    http://www.fslib.com.cn/fsbook/nobel/n-jing1.htm 
    150. 经济学家杂志 
    分析世界经济形势,提供权威视点,讨论世界政治、经济和文化。 
    http://www.economist.com 
    151. 财经媒体网上投稿平台 
    财经类媒体网上投稿平台,欢迎媒体编辑与作者良性互动,共同发掘有吸引力的文章。 
    http://www.dobig.org 
    152. 朝阳经济论坛 
    研究经济问题,探索经济动向。 
    http://cyxc.yeah.net 
    153. 看吧网上理财俱乐部 
    财务管理,会计师,注册会计师,会计人员,企业、家庭、个人理财服务。 
    http://www.kanba.com.cn 
    154. CPA考友同盟 
    CPA考试,财税讨论,经验交流。 
    http://home.cityhot.com/cpa 
    155. 会计师在线 
    注册会计师资讯考试信息、辅导、资料、论文、交流、咨询。 
    http://www.cpafocus.com 
    156. 文渊阁四库全书电子版 
    古典文集网上免费检索\阅读. 
    http://www.sikuquanshu.com 
    157. 经理人图书超市 
    经营管理类图书订购和在线阅读。 
    http://www.wiseman.com.cn/booksmarket 
    158. 易筋经 
    经济学术网——EMBA超级讲座。 
    http://www.ejj.com.cn 
    159. 新思维经济学术网 
    新闻中心、学术家园、经济时评、证券地带、燕赵书斋、综合论坛。 
    http://www.cnecol.net 
    160. 财政金融 
    经济类作品。 
    http://www.cbook.net/readbook/sortliebiao.asp?sort=I0 
    161. 河南证券新乡营业部 
    以研究中国特色证券交易技术为主导,求真务实为基础的广泛技术交流。 
    http://www.lhbcn.com 
    162. 搭下阳减成交量组合 
    作者:李雨青。 
    http://www.mypcera.com/book/jing/qinahouj.htm 
    163. 股市资料之股票发行的条件 
    股市资料 
    http://www.cj888.com/book/jing/gscont1106.htm 
    164. 股市资料之不同时机的投资策略 
    股市资料 
    http://www.cj888.com/book/jing/zz02.htm 
    165. 美国会计协会 
    http://www.aaa-edu.org 
    166. 美国管理会计协会 
    http://www.rutgers.edu/accounting/raw/ima 
    167. 浙江丽水市预算会计核算中心 
    设有中心介绍、办事指南、理论交流、政策法规、访客留言等栏目。 
    http://www.lskjzx.net 
    168. 上海财经大学会计学院 
    全国重点会计学科。 
    http://www.shufe.edu.cn/kjxy/index.htm 
    169. 加拿大会计协会 
    http://www.cap-acp.ca 
    170. 中国商业经济学会 
    http://www.cbm.com.cn 
    171. 亚太经济文化研究 
    澳大利亚介绍,英文期刊《亚太经济文化研究》征集英文论文。 
    http://ausapec.cc333.com 
    172. 资讯管理研究 
    台湾中央大学资讯管理系所发行的期刊。 
    http://www.ncu.edu.tw/~im/IMR/IMR.html 
    173. 台湾立报 
    立报首页。内有社论,大事扫描,教育风云及教育专题等专栏。 
    http://lihpao.shu.edu.tw 
    174. 商务统计 
    介绍和探索商务统计分析方法,SPSS的使用方法和技巧等。 
    http://bizstat.yeah.net 
    175. RegionalBureauofStatistics 
    http://www.stat.vil.ee 
    176. 中国留美经济学家学会 
    中国经济学的权威学术组织,与中国的经济繁荣一起成长。 
    http://www.china-ces.org 
    177. 电子商务研究 
    南京审计学院的电子商务教研机构。 
    http://www.dzsw.org 
    178. 赢一世(WinYes.com) 
    电子政务、电子商务、电子杂志、综观经济 
    http://www.winyes.com 
    179. 大中华财税网(论坛交流) 
    包括与会计和税务相关的财税论坛、考试交流、职业探讨。 
    http://www.abacn.com/bbs 
    180. 青年经济论坛 
    经济学理论和实际问题。 
    http://lgao.yeah.net 
    181. 传世藏书 
    收集五千年中华经典。 
    http://www.chengcheng.com 
    182. 经济论坛文摘 
    各大经济论坛有独到见解的文章集锦。 
    http://eelion.yeah.net 
    183. ResearchDepartmentArchiveof 
    http://research.mpls.frb.fed.us/research 
    184. 哈佛商业评论(Harvard 
    http://www.hbsp.harvard.edu/frames/groups/hbr 
    185. 询问经济先生 
    经济,金融,政治的探讨。 
    http://www.amosweb.com/ame 
    186. Stephen经济网站 
    一个有关经济学的个人站点。 
    http://hsyu.533.net 
    187. 经济学家讨论园地 
    COM经济论坛前卫经济学家的讨论园地。 
    http://www.economist.com.cn 
    188. 世界经济论坛-亚太前瞻 
    http://www.wereview.org 
    189. 如何申购新股 
    股市资料。 
    http://www.mypcera.com/book/jing/market(1).html 
    190. 影响股票价格的因素 
    股市资料。 
    http://www.mypcera.com/book/jing/ghkj.html 
    191. 高抛后一定要低吸吗? 
    股市资料。 
    http://www.mypcera.com/book/jing/j213.htm 
    192. 随机指标(KD) 
    股市资料。 
    http://www.mypcera.com/book/jing/fdh.html 
    193. 股市资料之乖离率(BIAS) 
    股市资料 
    http://www.cj888.com/book/jing/hfyfhg.html 
    194. 股市资料之庄家操盘技巧 
    股市资料 
    http://www.cj888.com/book/jing/zz12.htm 
    195. 选股绝招 
    股市资料。 
    http://www.mypcera.com/book/jing/gu.htm 
    196. 佚名小说之《动态看成交密集区》 
    佚名小说 
    http://www.cj888.com/book/jing/dongtaikan.htm 
    197. 追涨有门道 
    作者:邹建一。 
    http://www.mypcera.com/book/jing/zhuizhang.htm 
    198. 不同类型股票的投资策略 
    股市资料。 
    http://www.mypcera.com/book/jing/newpage5.htm 
    199. 技术分析常用术语 
    股市资料。 
    http://www.mypcera.com/book/jing/market.html 
    200. 基础分析与技术分析 
    股市资料。 
    http://www.mypcera.com/book/jing/ghfhg.html 

    201. 乖离率(BIAS) 
    股市资料。 
    http://www.mypcera.com/book/jing/hfyfhg.html 
    202. 蓄之既久,其发必速 
    股市资料。 
    http://www.mypcera.com/book/jing/j202.htm 
    203. 套牢以后怎么办 
    股市资料。 
    http://www.mypcera.com/book/jing/j206.htm 
    204. 明修栈道暗渡陈仓 
    股市资料。 
    http://www.mypcera.com/book/jing/j201.htm 
    205. 股份公司的特点 
    股市资料。 
    http://www.mypcera.com/book/jing/jichuzhis.htm 
    206. 股市孙子兵法 
    股市资料。 
    http://www.mypcera.com/book/jing/guard004.htm 
    207. 股市资料之明修栈道暗渡陈仓 
    股市资料 
    http://www.cj888.com/book/jing/j201.htm 
    208. 股市资料之技术分析常用术语 
    股市资料 
    http://www.cj888.com/book/jing/market.html 
    209. 股市资料之笑里藏刀 
    股市资料 
    http://www.cj888.com/book/jing/j217.htm 
    210. 黄家坚小说之《普涨阶段如何优中选优》 
    黄家坚小说 
    http://www.cj888.com/book/jing/puzhangjd.htm 
    211. 股市资料之选股绝招 
    股市资料 
    http://www.cj888.com/book/jing/gu.htm 
    212. 股市资料之证券名词解释 
    股市资料 
    http://www.cj888.com/book/jing/zz11.htm 
    213. 股市资料之不同类型股票的投资策略 
    股市资料 
    http://www.cj888.com/book/jing/newpage5.htm 
    214. 股市资料之股份公司的特点 
    股市资料 
    http://www.cj888.com/book/jing/jichuzhis.htm 
    215. 股市资料之移动平均线 
    股市资料 
    http://www.cj888.com/book/jing/market2.html 
    216. 莫言钧小说之《金融炼金术:证券分析的逻辑》 
    莫言钧小说 
    http://www.cj888.com/book/jing/gold.html 
    217. 翟斌小说之《跳空十字星》 
    翟斌小说 
    http://www.cj888.com/book/jing/tkongshizi.htm 
    218. 双底与双顶 
    作者:翟斌。 
    http://www.mypcera.com/book/jing/shuangdidng.htm 
    219. 证券名词解释 
    股市资料。 
    http://www.mypcera.com/book/jing/zz11.htm 
    220. 李雨青小说之《上叉阳后阴成交量组合》 
    李雨青小说 
    http://www.cj888.com/book/jing/shangyanghy.htm 
    221. 翟斌小说之《连收小阳线》 
    翟斌小说 
    http://www.cj888.com/book/jing/xiaoyangx.htm 
    222. 翟斌小说之《双底与双顶》 
    翟斌小说 
    http://www.cj888.com/book/jing/shuangdidng.htm 
    223. 李雨青小说之《选择最佳买点的定位仪》 
    李雨青小说 
    http://www.cj888.com/book/jing/dingweiyi.htm 
    224. 股市资料之价量分析问答 
    股市资料 
    http://www.cj888.com/book/jing/zz05.htm 
    225. 李雨青小说之《搭下阳减成交量组合》 
    李雨青小说 
    http://www.cj888.com/book/jing/qinahouj.htm 
    226. 如何阅读上市公告书 
    股市资料。 
    http://www.mypcera.com/book/jing/zz08.htm 
    227. 怎样看财务报表 
    股市资料。 
    http://www.mypcera.com/book/jing/zz10.htm 
    228. 庄家操盘技巧 
    股市资料。 
    http://www.mypcera.com/book/jing/zz12.htm 
    229. 普涨阶段如何优中选优 
    作者:黄家坚。 
    http://www.mypcera.com/book/jing/puzhangjd.htm 
    230. 如何减少盲动 
    股市资料。 
    http://www.mypcera.com/book/jing/j207.htm 
    231. 拔高吸货和压低出货 
    股市资料。 
    http://www.mypcera.com/book/jing/j204.htm 
    232. 股票的发行与交易 
    股市资料。 
    http://www.mypcera.com/book/jing/zq11.htm 
    233. 证券业基本概念及其分类 
    股市资料。 
    http://www.mypcera.com/book/jing/zq01.htm 
    234. K线图测市技巧 
    股市资料。 
    http://www.mypcera.com/book/jing/qx01_0.htm 
    235. 跳空十字星 
    作者:翟斌。 
    http://www.mypcera.com/book/jing/tkongshizi.htm 
    236. 金融炼金术:证券分析的逻辑 
    作者:莫言钧。 
    http://www.mypcera.com/book/jing/gold.html 
    237. 上叉阳后阴成交量组合 
    作者:李雨青。 
    http://www.mypcera.com/book/jing/shangyanghy.htm 
    238. 缺口理论的指导意义 
    作者:关景峰。 
    http://www.mypcera.com/book/jing/quekoulilun.htm 
    239. 动态看成交密集区 
    http://www.mypcera.com/book/jing/dongtaikan.htm 
    240. 连收小阳线 
    作者:翟斌。 
    http://www.mypcera.com/book/jing/xiaoyangx.htm 
    241. 选择最佳买点的定位仪 
    作者:李雨青。 
    http://www.mypcera.com/book/jing/dingweiyi.htm 
    242. 股市资料之股市孙子兵法 
    http://www.mypcera.com/book/jing/zz04.htm 
    243. 移动平均线 
    股市资料。 
    http://www.mypcera.com/book/jing/market2.html 
    244. 中国金融资讯网 
    和讯网简版。 
    http://www.homeway.cn.net 
    245. 中国经济门户网 
    从事有关中国经济网上资源的收集与分类,网站涉及有关中国经济的各个方面,力求全面准确的反映中国经济的概貌,提供有关中国经济的各种信息,分析与服务。 
    http://www.egate2china.com 
    246. 中国经济统计教育科研网 
    统计院校、教学科研、统计资源、学术前沿等栏目。 
    http://stats.xmu.edu.cn 
    247. 中国经济之窗 
    提供新闻,工商法规,外贸企业等信息的网页。 
    http://www.chinaeconomy.net 
    248. 学习经济论坛(研究中心) 
    由姚余栋领导的研究机构,从事宏观经济、科技经济及电子商务的研究。 
    http://www.learning-economy.org 
    249. 英国政治和经济科学图书馆 
    -英国政治经济图书馆建于1896年,是伦敦经济学院的工作图书馆。它藏有大量经济学资料。该站点收集了该馆的书目、电子文献以及指向其它检索工具和图书馆的链接。 
    http://www.lse.ac.uk/blpes 
    250. 中国会计资讯 
    含会计资讯、财经新闻、经济法规、会计法规制度、相关处理会计及相关考试。 
    http://www.accinfo.net 
    251. 折纳K象研究室 
    以建立东方经济理论体系和全息时空波浪机制为宗旨。 
    http://www.zhenakx.com 
    252. 造币厂 
    -教育学生和青少年,管理自己手中的金钱,介绍一些最基本的经济学原理和方法。 
    http://www.themint.org 
    253. 中国县域经济网 
    关于全国县市的县域经济及其竞争力评价的网站。 
    http://www.china-county.org 
    254. 新诞生的货币-欧元专题资料 
    社科院世界经济与政治研究所提供。 
    http://www.iwep.org.cn/chinese/ziliao&shujuku/oyml.htm 
    255. 自助委托解疑 
    股市资料。 
    http://www.mypcera.com/book/jing/4rthy.html 
    256. 新牌会计人 
    会计审计税务,法律法规,会计电算,软件,新闻,考试,人文,实务交流。 
    http://www.newpai.com 
    257. 新经济政策研究 
    -内容是关于"国家的经济社会退化转变的学位论文,由EllisCooper撰写。 
    http://www.asis.com/economy 
    258. 中国经济运行追踪 
    提供对当前中国宏观经济运行的一些及时分析,提供最新运行数据,并不定期的给出一些深度研究报告。 
    http://www.economycn.com 
    259. 中国经济信息网 
    用数据库方式,按行业和地区,全面介绍每日中国经济信息。 
    http://www.chinawave.co.jp 
    260. 中国现代化网 
    第二次现代化、知识经济、知识社会、创新、战略、管理、咨询。 
    http://www.modernization.com.cn 

    261. 中国21世纪网 
    包括论文、新闻评论、经济学知识和聊天室。 
    http://www.21aht.com 
    262. 中国经济信息网论文商务中心 
    提供经济类论文。 
    http://doc.cei.com.cn 
    263. 钱小安个人主页 
    经济金融发展,银行、证券、保险业,货币政策,金融创新。 
    http://www.xaqian.com 
    264. 银行目录 
    http://www.mybank.com 
    265. 金融证券重要数据库Ohio 
    http://www.cob.ohio-state.edu/dept/fin/osudata.htm 
    266. 经济学爱好者之家 
    关于经济学及人文思想方面的论文、言论、论坛,经济学家介绍。 
    http://bwt.126.com 
    267. 中南财经政法大学个人求职 
    金融学院2001届毕业生求职主页。 
    http://touziren.126.com 
    268. 龙阳税务 
    税务法规、税收政策、94年以来国家及湖南省地方税收政策文件。 
    http://hnhs.51.net 
    269. 投资专家论坛 
    http://www.chinainvest.net.cn/99tzzx/forum.htm 
    270. 财经纵横 
    在线管理培训、经典案例解析、风险投资、资本运营、商贸信息。 
    http://www.i-power.com.cn/ipower/finance/news.htm 
    271. 中国人民大学中国财政金融政策研究中心 
    从事财政金融理论与政策研究的专业性学术机构 
    http://www.frc.com.cn 
    272. 浙江省永嘉县统计局 
    http://tj.yj.zj.cn 
    273. 松滋统计 
    了解松滋经济、松滋社会、经济统计数据、统计法规的站点。 
    http://hbsztj.yeah.net 
    274. 经济学和统计学的学习与研究 
    经济、统计爱好者的网页。 
    http://wmqs.yeah.net 
    275. StatisticsScope 
    统计学理论,统计学软件介绍,统计学软件应用和编程技巧等。 
    http://statistics.yeah.net 
    276. CentralOfficeofStatistics 
    http://www.magnet.mt 
    277. 经济和社会发展白皮书 
    http://www.sdpc.gov.cn/d/dindex.htm 
    278. 经济学阶梯 
    经济学原理与学习,经济学书评,财经与电子商务时论。英文原版著作 
    http://eeco.yeah.net 
    279. 菲律宾国家统计 
    http://www.census.gov.ph 
    280. 芬兰统计 
    http://www.stat.fi 
    281. 世界农业统计数据库 
    http://apps.fao.org/default-c.htm 
    282. 股票发行的条件 
    股市资料。 
    http://www.mypcera.com/book/jing/gscont1106.htm 
    283. 股市资料之术语集锦 
    http://www.mypcera.com/book/jing/syjj.htm 
    284. 股市资料之重势不重价(2) 
    http://www.mypcera.com/book/jing/stockbook003-002.html 
    285. 不同时机的投资策略 
    股市资料。 
    http://www.mypcera.com/book/jing/zz02.htm 
    286. 缩量两颗星 
    作者:翟斌。 
    http://www.mypcera.com/book/jing/liangkex.htm 
    287. 投资理念要高科技化 
    作者:张建峰。 
    http://www.mypcera.com/book/jing/gaokejihua.htm 
    288. 成交量组合的使用技巧 
    作者:李雨青。 
    http://www.mypcera.com/book/jing/chenjilin.htm 
    289. 操盘一分钟 
    作者:金雨。 
    http://www.mypcera.com/book/jing/1min.htm 
    290. 圆弧底与圆弧顶 
    作者:翟斌。 
    http://www.mypcera.com/book/jing/hudihuding.htm 
    291. 中国会计视野社区 
    会计审计税务管理ERP等领域的专业社区。 
    http://club.esnai.com 
    292. 审计宝典 
    有审计宝典、审计项目管理系统、审计取证管理系统等实用软件。 
    http://www.jtbbx.com/shenji 
    293. 财富网 
    http://www.quicken.com 
    294. 审计之窗 
    讲解审计、会计知识的个人网站。 
    http://audit.126.com 
    295. 贾洪涛审计之窗 
    提供审计,会计相关信息。 
    http://sjzc.yeah.net 
    296. 笑里藏刀 
    股市资料。 
    http://www.mypcera.com/book/jing/j217.htm 
    297. 价量分析问答 
    股市资料。 
    http://www.mypcera.com/book/jing/zz05.htm 
    298. 财会手册 
    政策法规,职业书籍,软件推荐。 
    http://www.tjdns.com/kuaiji 
    299. 企业财务网 
    为企业财务运作提供咨询、服务。 
    http://www.qycw.com 
    300. 如何分析消息问答 
    股市资料。 
    http://www.mypcera.com/book/jing/zz06.htm 
    301. 经济与管理研究(清华同方) 
    主办单位:首都经济贸易大学。 
    http://jjyg.chinajournal.net.cn 
    302. 纽芬兰(Nuffield)大学 
    杂志介绍、订阅办法、目录、论文摘要等。 
    http://hicks.nuff.ox.ac.uk 
    303. 农业经济(清华同方) 
    主办单位:辽宁省农业经济学会。 
    http://nyjj.chinajournal.net.cn 
    304. 兰德公司经济学杂志 
    -主编JamesR.Hosek。 
    http://www.rje.org 
    305. 经济问题(清华同方) 
    主办单位:山西省社会科学院。 
    http://jjwt.chinajournal.net.cn 
    306. 经济学家(清华同方) 
    主办单位:西南财经大学。 
    http://jjxj.chinajournal.net.cn 
    307. 经济研究评论(ReviewofEconomicsStudies) 
    -Bristol大学经济系的杂志。 
    http://www.ecn.bris.ac.uk 
    308. 经济学期刊 
    -有200余种经济学期刊的网址。 
    http://www.helsinki.fi/WebEc/journals.html 
    309. 经济学教育杂志 
    杂志的订阅办法、征稿办法、内容目录、作者目录及年度报告、未发表的论文等。 
    http://www.indiana.edu/~econed 
    310. 税务与经济(清华同方) 
    主办单位:长春税务学院。 
    http://swyj.chinajournal.net.cn 
    311. 世界经济(清华同方) 
    主办单位:中国社会科学院世界经济与政治研究所中国世界经济学会。 
    http://sjjj.chinajournal.net.cn 
    312. 涉外税务(清华同方) 
    主办单位:中国国际税收研究会、深圳市税务学会。 
    http://swsw.chinajournal.net.cn 
    313. 社会和经济政策杂志 
    -提供社会和经济政策方面的资料,并开设相关论坛。 
    http://www.scu.edu.au/schools/business/jesp/page1/introsubs.html 
    314. 美国经济评论 
    《AER》,经济理论刊物。 
    http://www.aeaweb.org/aer 
    315. 旅游学刊(清华同方) 
    主办单位:北京联合大学旅游学院。 
    http://lyxk.chinajournal.net.cn
    316. 林业经济(清华同方) 
    主办单位:国家林业局经济发展研究中心中国林业经济学会。 
    http://lyjj.chinajournal.net.cn 
    317. 南开经济研究(清华同方) 
    主办单位:南开大学经济学院。 
    http://nkjj.chinajournal.net.cn 
    318. 企业活力 
    1985年创建,河南省社会科学院主管主办,是中国工业经济类核心期刊。 
    http://www.qyhl.com 
    319. 福建税务 
    包括辅导纳税、指导工作、研究学术,免费阅读等。 
    http://www.fjsw.com.cn 
    320. 国际金融研究(清华同方) 
    主办单位:中国国际金融学会中行研究所。 
    http://gjjr.chinajournal.net.cn 
    321. 国际经济评论(美国国际贸易委员会) 
    -研究国际经济和全球贸易。月刊。文件为PDF格式。可检索。 
    http://www.usitc.gov/ier.htm 
    322. 国际经济学评论 
    -收录1992年到2002年的各期论文。 
    http://www.ag.iastate.edu/journals/rie 
    323. 财经论丛(清华同方) 
    主办单位:浙江财经学院。 
    http://cjlc.chinajournal.net.cn 
    324. 财经问题研究(清华同方) 
    主办单位:东北财经大学。 
    http://cjwt.chinajournal.net.cn 
    325. 当代经济研究(清华同方) 
    主办单位:中国<<资本论>>研究会,长春税务学院。 
    http://ddjj.chinajournal.net.cn 
    326. 财贸经济(清华同方) 
    主办单位:中国社会科学院财贸经济研究所。 
    http://cmjj.chinajournal.net.cn 
    327. 财经研究(清华同方) 
    主办单位:上海财经大学。 
    http://cjyj.chinajournal.net.cn 
    328. 经济参考文摘 
    中国经济新闻。 
    http://come.to/cer 
    329. 经济科学(清华同方) 
    主办单位:北京大学。 
    http://jjkx.chinajournal.net.cn 
    330. 经济社会体制比较(清华同方) 
    主办单位:中共中央编译局当代马克思主义研究所。 
    http://jjsh.chinajournal.net.cn 
    331. 经济理论与经济管理(清华同方) 
    主办单位:中国人民大学。&

  •  
    网络攻击分析

    由于黑客攻击最近在新闻中屡有报导,我们都知道需要认真地对待计算机安全问题。尽管有许多出版物介绍可以用来确保计算机环境安全的软件,但很少有出版物说明黑客攻击实际上是如何执行的。如果您负责确保公司的计算机环境的安全,那么,理解黑客攻击的工作原理对您就很重要了。在本文中,Michael Pichler 分析了一些有趣的网络攻击并说明了它们是如何工作的。您将看到黑客是多么富于创造性,并将了解自己的软件中所包含的一些特性是如何被利用来对付您的。本文适合于对网络有一定理解,但不一定从事网络领域日常工作的读者。
    黑客基础知识
    不难想象,本文可选择的攻击类型范围很广。我之所以选取本文所讨论的几种特定攻击,是因为它们不需要太多关于所涉及协议的知识,但仍然能有效地说明了攻击是如何执行的、攻击实际上是多么简单(一旦您知道了详细信息)以及攻击者所需的资源(计算和网络)是多么有限。尽管不可能在本文中涵盖关于黑客攻击的整个主题,但我已尽可能简化基本原理,而仍然尽量多地提供必要信息,以便您理解所描述的攻击。

    攻击的种类
    稍后您将了解关于所选取的攻击及其执行方式的详细信息。但在开始讨论之前,您需要理解这个领域的一些术语。通常,攻击是按其特征分类的。下面描述了这些特征中的两种:

    扫描:扫描或跟踪足迹(footprinting)是黑客的初始信息收集过程的一部分。在黑客能够攻击系统之前,他们需要收集关于该系统的信息,如网络布局、操作系统类型、系统可用服务、系统用户等。黑客可以根据所收集的信息推断出可能的弱点,并选择对选定目标系统的最佳攻击方法。

    拒绝服务攻击:通常,黑客瞄准特定系统,闯入系统以便将其用于特定用途。那些系统的主机安全性经常会阻止攻击者获得对主机的控制权。但进行拒绝服务攻击时,攻击者不必获得对系统的控制权。其目标只是使系统或网络过载,这样它们就无法继续提供服务了。拒绝服务攻击可以有不同的目标,包括带宽消耗(bandwidth consumption)和资源缺乏(resource starvation)。
    协议
    本文讨论了针对网际控制报文协议(ICMP)和传输控制协议(TCP)上的攻击,这两个协议都属于网际协议(IP)系列。在深入研究关于这些协议的详细信息之前,我打算先在适合于这些协议的环境中讨论它们。将以太网假定为底层物理网络技术时的网际协议(Internet Protocol)栈通常是分层的。这样做是有意义的,因为底层协议提供很基本的服务,如网络电缆上的信号传输。此外,较高级别的协议提供更复杂的应用层服务,如 Telnet。每个层都使用下面一层的服务,这使得顶层协议能够在物理网络上传输消息。让我们简要地研究一下这个协议。

    称为物理层协议的两个底层处理网络电缆上的实际信号传输。高一级别的协议 — 网际协议(IP)使用这一服务。

    网际协议(IP)提供“主机对主机”包(或数据报)传递服务。IP 在底层物理网络的边界之间提供最基本的数据报传递形式。反过来,IP 层又提供由网际控制报文协议(ICMP)和传输控制协议(TCP)使用的服务。

    网际控制报文协议(ICMP)是 IP 的组成部分,但它使用某些 IP 服务。ICMP 提供服务,使主机能够彼此交流控制信息。ICMP 由 IP 和一些更高级别的协议使用,如传输控制协议(TCP)。

    传输控制协议(TCP) 是本文中讨论的第三个重要协议。TCP 的功能比 IP 更进一步,并提供两个重要特性:连接和服务质量。这意味着您可以在两台主机之间开一个虚拟通道,通过这个通道,使得所发送的包的顺序及其实际传递都得到保障。

    接下来更高的一级是应用层协议,如 Telnet 和 SMTP。它们都使用由 TCP 提供的服务。例如,当您用 Telnet 连接到主机时,打开一个连接,并且您希望所有输入这个 Telnet 会话的数据都以正确的顺序发送到接收主机。
    理解 IP
    尽管我将不在本文中介绍任何 IP 级别的攻击,但我确实需要稍微详细地讨论 IP,因为它是 ICMP 和 TCP 的底层协议。

    IP 提供在两个设置为 IP 节点的网络节点(称为源和目的地)间传输数据块的服务。源和目的地节点都用 IP 地址标识。要使一个 IP 网络中的两个节点能够通信,那些 IP 地址必须在整个网络中是唯一的。IP 地址(IP 版本 4)是一个 32 位数,通常以点分十进制符号(如 10.0.0.1)表示。

    因为 IP 提供的是无连接、不可靠、最高效的(best-effort)数据报传递服务,所以 IP 的使用范围多少受到了限制。但是,它提供两个基本功能:寻址和分段。地址(在 IP 数据报头中封装为源和目的地地址)用来将数据报传输到其目的地,这个过程称为路由。有两种基本情况:

    接收主机和发送主机位于同一子网,这种情况下数据报将被直接从发送方发送到接收方。

    接收主机位于不同的子网,这种情况下发送主机将把数据报转发到网关(连接两个子网的 IP 主机),然后,如果目的地主机在一个与网关相连的子网中,则网关会尝试将数据报传递到目的地主机。如果目的地主机不在与网关相连的子网中,网关将会把数据报转发到另一个网关。这个过程将反复进行,直到能够将数据报传递到其目的地主机为止。

    如果要传输的数据报超过了底层物理层规定的最大包的大小,则 IP 模块会在发送前将该数据报分割成几个较小的包(称为分段),然后在接收中时重新组装它们。

    既然我已经介绍了基础知识,现在可以讨论个别协议了。在以下几节中,您将找到关于 ICMP 和 TCP 的更详细的信息以及一些使用这些协议的有趣的攻击。

    使用 ICMP
    因为 ICMP 是面向包的,所以它在相互连接的网络系统中是不可靠的主机对主机数据报服务,提供无保证的传递。ICMP 使用 IP 的基本支持,就好象是更高级别的协议。但是,ICMP 是 IP 的组成部分 — 这基本上意味着 ICMP 包将 IP 头用于传输 — 而且 ICMP 必须由每个 IP 模块实现。通常,ICMP 用来报告主机上数据报处理中的错误。ICMP 的部分功能包括:

    目的地不可到达消息:如果根据网关的路由表,数据报中指定的要转发的目的地地址是不可到达的,则网关会向源主机返回 ICMP 的目的地不可到达消息,通知发送主机包传递不成功。

    超时消息:每个 IP 数据报头中都包含一个字段 — 称为“生存时间字段” — 它指出数据报在被丢弃之前还能在因特网上保持多久。数据报在因特网上保持的时间以跳跃点(hop)衡量,其中一个跳跃点表示数据报通向目的地节点路径上的一个网关。当数据报经过网关转发时,它就将生存时间字段中的值减一。如果处理数据报的网关测定该数据报 IP 头中的生存时间字段为 0,则丢弃该数据报并用超时消息通知源主机。

    回应请求和回应应答消息:如果主机 A 想知道主机 B 是否是活动的,则主机 A 会向主机 B 发送一条 ICMP 回应请求消息。主机 B 将用 ICMP 回应应答消息来应答,以表明自己是活动的。这条消息就是众所周知的 ping 包。
    以上这些并不是 ICMP 所使用的全部消息类型,但它们能使您大致了解 ICMP 的用途。接下来我将向您介绍两种 ICMP 攻击。

    目的地不可到达攻击
    类别:拒绝服务攻击

    描述:如上所述,ICMP 目的地不可到达消息向尝试转发消息的网关提供了一种工具,用来通知发送方:因为在数据报目的地地址中指定的主机不可到达,所以无法传递该消息。

    您可能会猜想“目的地不可到达攻击”会是什么情形。让我们假设网关 G 连接了两个网络:网络 10.1.0.0 和网络 10.2.0.0。假设主机 A 地址为 10.1.23.3(因此属于网络 10.1.0.0),它想将数据报发送到主机 B,其地址为 10.2.156.34(因此属于 10.2.0.0)。在传输过程中,数据报将被发送到网关 G,而网关 G 又会将它转发到目的地主机。

    如果入侵者获得了网络 10.1.0.0 中一台主机的访问权,那么,他可以广播一条“目的地不可到达消息”,声明网关 G 对于他所在网络的所有主机是不可到达的。这将使网关 G 和网络 10.2.0.0 暂时变得不可用,因而不可能从网络 10.1.0.0 向网络 10.2.0.0 传输任何消息。

    这种攻击背后的动机只是使网络或服务暂时瘫痪。因为攻击者不需要功能强大的机器或高速的网络连接来执行这种攻击,所以它特别危险。

    Smurf 攻击
    类别:拒绝服务攻击

    描述:Smurf 攻击是拒绝服务攻击的一种非常可怕的形式,因为它具有放大效应。Smurf 攻击利用 ICMP 回应消息。如上所述,主机 A 每次向主机 B 发送回应请求消息时,主机 B 都会返回回应应答消息以表明自己是活动的。名称“Smurf 攻击”源自一个名为 smurf 的利用程序,攻击者用该程序来执行这种攻击。

    在深入研究这种攻击的详细信息之前,我应该解释一下术语电子欺骗(spoofing)。电子欺骗可以解释成用于伪造的网络安全术语。它指的是攻击者有办法构造包含错误数据的网络数据报。例如,攻击者可以从主机 A 向主机 B 发送数据报,但在该数据报头的源地址字段使用主机 C 的 IP 地址。这样,主机 B 就会认为包是来自主机 C 而不是主机 A。实际上,主机 C“假扮”了主机 A,而主机 B 对此一无所知。

    知道了这一点,假设攻击者构造了一条 ICMP 回应消息,它的头中包含伪造的任意主机 A 的源地址,如 192.168.2.2。让我们进一步假设主机 A 位于网络 192.168.2.0,并且攻击者将该数据报发送到这个网络的网络广播地址而不是某台特定主机。通过将该数据报发送到网络广播地址,该数据报将被广播到这个网络上的每台主机,而该网络上的每台主机都会向假想的发送方(主机 A)返回回应应答消息。假设有 255 个子网,每个子网有 255 台计算机,则会有超过 65,000 台计算机向主机 A 发送回应应答消息 — 而这还只是假设攻击者仅仅广播了一条欺骗数据报(255 * 255 = 65,025)。通过增加欺骗包广播的次数或网络广播的规模,您将发现这能够成为非常严重的攻击形式。

    Smurf 攻击的动机与前一种攻击相同。容易发现,由于这种攻击的放大效应,它甚至能够使工业强度的 Web 服务器瘫痪。同样,攻击者只需要很少的资源。

    传输控制协议(TCP)
    TCP 协议在包交换计算机网络中提供面向连接的、可靠的流传递服务。这意味着 TCP 模块保证传递无重复、无传输错误,而且数据以正确顺序传输。TCP 进一步提供了端口抽取功能,这使得主机可以并行地打开多个 TCP 连接。您可以由此发现 TCP 是由源地址/端口和目的地地址/端口四部分标识的。IP 地址/端口对被称为套接字。

    TCP 与下面的 IP 层和上面的表示层及应用层协议(如 Telnet 或 SMTP)相互操作,如图 1 所述。

    在继续讨论攻击之前,我将更详细地讨论 TCP 的某些方面,这些知识对于下面讨论的攻击是必需的。尤其是 TCP 包(称为段)的结构、如何在主机之间建立 TCP 连接和如何关闭连接。

    TCP 包的结构
    与 IP 数据报类似,TCP 段包含头部分、可选(选项)部分和数据部分。现在,让我们更仔细地研究一下 TCP 头的某些重要字段:

    源端口:分配给启动连接的主机上虚连接的端口号。

    目的地端口:目的地端口号。这也由启动连接的主机分配,因为只有该主机知道自己“想”连接到哪里。例如,如果您打开到特定主机的 Telnet 连接,则目的地端口将被设置为 23。

    序列号和确认号:发送方和接收方使用两个序列号来确保包没有丢失、没有重复以及可以在目的地节点以正确顺序重新组装。

    标志:这个字段包含六个控制位:
    URG:向接收方表明一接收完数据就进行紧急处理。
    ACK:表明确认号字段是有意义的。
    PSH:表明必须迅速地将数据传递到接收方。
    RST:表明要立即复位连接。
    SYN:在需要同步序列号的情况下设置。
    FIN:表明不会再有来自发送方的数据了(也就是说,连接将要关闭)。
    以上是 TCP 头中的重要字段,下面关于 TCP 连接的建立和关闭的几节将使您更好地理解这些字段的用途。

    建立和关闭 TCP 连接
    连接建立:TCP 连接的建立由要建立连接的客户机和该客户机联系的服务器通过三步握手过程执行。要开始连接,您需要有一个在特定端口提供服务的服务器;例如,在端口 23 侦听的 Telnet 服务。当客户机想要打开与服务器的连接时,它向服务器发送一个连接请求。这意味着向服务器发送一个设置了 SYN 标志的 TCP 包。服务器以设置了 SYN 和 ACK 标志的包应答。最后,客户机通过向服务器发送设置了 ACK 标志的 TCP 包进行确认。这样,客户机和服务器之间的连接就建立起来了。

    连接关闭:在发送完所有数据之后,通信伙伴中的一方想要关闭连接。假设是客户机要终止连接。它将通过向服务器发送设置了 FIN 标志的 TCP 包来完成该操作。服务器将通过返回设置了 ACK 标志的包进行确认。从此刻起,客户机将不再向服务器发送任何数据。它将仅以空段确认由服务器发送的数据。当服务器关闭客户机流时,连接关闭。

    讲完了预备知识,我将向您介绍两个 TCP 攻击的示例。

    TCP SYN 扫描
    类别:端口扫描

    描述:TCP SYN 扫描是端口扫描的变体。端口扫描用来检查给定主机上的端口是否打开。收集此类信息是跟踪足迹(先前的攻击种类中讨论过)的一部分,用来获得主机上的额外信息。知道主机上哪些端口是打开的,对于攻击者推断目标主机上可能存在的弱点是重要的第一步。

    TCP 端口扫描的最简单形式是打开一个到主机所有端口的连接。如果成功地打开了到给定端口的连接,则攻击者知道该服务是可用的。但是,因为操作系统和/或工具可能会记录此类行为并因此察觉端口扫描,所以,攻击者通常想在被扫描主机不知道的情况下执行端口扫描。在本节中,我将讨论攻击者所使用的一种端口扫描形式,它不会被目标主机轻易地侦测到。

    TCP SYN 扫描也称为半开扫描。顾名思义,攻击者只是部分地打开连接。要实现这一点,攻击者向目标主机发送设置了 SYN 标志的 TCP 包,就象打开常规 TCP 连接时一样。如果该端口是打开的,则被扫描主机返回设置了 SYN 和 ACK 标志的包进行响应。如果端口未打开,则被扫描主机发送设置了 RST 和 ACK 标志的包。

    在被扫描主机返回了 SYN/ACK 包后,连接在服务器端将进入挂起状态,表明连接正处于建立的过程中,但还没有完全建立。但是,攻击者会发送设置了 RST 和 ACK 标志的包回应 SYN/ACK 包。这将触发被扫描主机再次关闭已部分建立的连接。

    这种攻击的想法是找出特定目标主机上打开的端口,但完成的方式非常狡猾,因此被攻击的主机或质量低劣的入侵检测工具不会发现。

    SYN 扩散
    种类:拒绝服务攻击

    描述:在 Smurf 攻击流行之前,SYN 扩散攻击是最具破坏性的拒绝服务攻击。如上所述,当主机 A 想建立到目的地主机 D 的 TCP 连接时,它首先发送设置了 SYN 标志的 TCP 段。当接收这个段时,主机 D 通过返回设置了 SYN 和 ACK 标志的包确认它。但主机 D 同时将挂起(部分打开的)连接放到挂起连接队列中。当等待连接的发起方(主机 A)的确认时,连接保持挂起状态。

    主机 D 在特定的超时周期以内等待确认的到来,通常根据中断的 IP 实现从 75 秒到 25 分钟不等。因为挂起连接队列大小有限(大约是十二个左右的连接),所以最终将被填满。您会发现,攻击者只要每十秒钟左右发送几个 SYN 包就可以禁用特定端口。这种攻击方法是一种非常严重的拒绝服务攻击方式,因为在接收新的 SYN 包之前,被攻击的系统将永远无法清除积压队列,因此也就无法响应任何其它请求。

    这种攻击的动机也很明显。攻击者想要使特定服务(例如 Web 服务器)瘫痪。您可以再次发现,对攻击者一方而言,只需少得惊人的资源就可以执行这种攻击。

    结束语
    沉浸在计算机安全性的世界里会感觉既可怕同时又令人着迷:可怕是因为您会慢慢了解攻击者用非常简单的方法(作为安全初学者,您可能从未注意过这些事情)能造成什么样的破坏。令人着迷是因为您学得越多,就越能发现改进的余地和随之而来的新工作。

    ::: posted by Sephiroth at 10:33 PM Comments(1)


     
    在Blog 中增加内容折叠/展开的特性

    Blog 突出一个简单易读的特性,但是有时候摘取文章的时候却往往舍不得丢弃完整的内容(毕竟很多网站的内容缺少存档管理,好的内容可能稍纵即逝)。所以可能会导致有的Blog条目太长,让人“不忍卒读”。所以我也想到了增加能够自动折叠展开的功能,大块的内容可以折叠起来,如果阅读者有兴趣读下去,可以展开继续阅读。这种情况出现了很多次,所以我在自己的Blog中作了一些尝试,效果还不错。你也赶紧利用Blogger的模版功能试试看吧。
    这是一个例子,也是详细设置方法的网页地址,请展开看看!




    http://www.cnblog.org/blog/archives_backup/showEntryCont.asp?id=82796185&file=2002_10



    ::: posted by Sephiroth at 7:50 PM Comments(0)


     
    好消息, Blog-City.com来了

    古人云:“士大夫三日不读书,则面目可憎,言语无味”。借此贵言,我想说一句:“E时代三日不Blog,任光阴流逝,乐趣全无。”要知道好花不常开,好景不常在,莫犹豫了,你的生活E状态,你的Blog-City.com来了^_^!

    ·Blog-City的独具风格
    作为一个提供Blog(网络日志)服务空间的站点,Blog-City.com自称:“It is the easiest way for you to publish and maintain your own website without having to worry about all the logistics of a website。” 耳听为虚,眼见为实,以我的个人体验,相比较现在全球最流行的Blog服务空间Blogger.com,Blog-City.com的确有着自己鲜明的特色,尤其适合不懂HTML语言但又希望有自己风格的Blogger们。如果你还没尝试过做个Blog,我倒觉得你很幸运,因为赶上好时候了。
    和Blogger.com一样,Blog-City.com所有基本服务都Free,免费哦!当然,你要交钱的话可以享受到更好的待遇。不过两个地方的基本服务项目很不一样,Blog-City.com明显比Blogger.com大气多了。
    1、实用直接的管理界面。在Blogger.com你需要进入编辑页面才能编辑,浏览网页需要重开窗口,Blog-City.com一个窗口就能搞定,而且有内置的HTML文挡编辑器,和Word一样简单,一样编辑丰富多彩的页面。
    2、可视化极强的首页面。在Blogger.com你只有在后台才能看到的日历表,但Blog-city.com不和我们卖关子,直接把日历贴在首页,而且每个日期都对应着当天你的Blog记录,查阅方便。
    3、高级的书签功能。在Blogger.com你多少要会看点HTML网页制作语言,才知道怎么给自己的页面加链接,Blog-City.com则提供了一个书签目录让你直接增加管理链接。
    4、自带的Comment留言。说实话,再怎样孤芳自赏的人也是渴望与人交流,多听听人家的赞美之词也是人生的一大享受啊,Blog-City.com自身带有留言功能,而且每个留言会自动发到你的信箱,请你过目。这项服务多贴心啊!
    5、提供邮件列表功能。通过这个功能,你可以寄发自己的Blog给那些订阅的访客,也可以去订你喜欢的Blog,正如有人预言:以后每个人都有自己的崇拜者,也会有十几个崇拜你的人。
    6、提供RSS(即RDF Site Summary,是一种描述互联网内容的格式)。喜欢用新闻浏览器的朋友就可以通过你的RSS订阅你的Blog,而你根本无需去学怎么设置RSS了。
    这些也只是Blog-City.com特色风格的一部分,相信吊了你不少胃口吧。那就赶紧成为Blog-City.com的自由公民,更多功能,一定会被聪明的你一一捕获。

    ·成为Blog-City的自由公民
    有你自己的e-mail吗?回答是肯定的!那就登陆www.blog-city.com,点“Create Blog”,填入你的电子邮件地址,申请一个帐号,你的Blog地址就是http://yourname.blog-city.com(注意,不是www开头)。申请成功后,登陆同个地址就可以编辑你的Blog了。
    Blog-City.com有个很大的优点就是它不用你记繁杂的用户名,只用你自己的e-mail帐号(密码另设)就能进入“Console”(操作台)。进入操作页面,你会发现其实与首页没什么两样,就是最上头多了一排工具条,没错,现在你就可以永远在一个窗口里编辑了。
    “Blog Entry”:进入你的信息输入编辑页面,点下面的“Edit”可以修改以前的记录;
    “Options”:在此设置你的Blog介绍和显示信息;
    “Themes”:可以选择你的模版及对细节进行调整;
    “Bookmarks”:编辑管理你喜欢的链接,会显示在你首页的导航条上;
    “Profile”:修改你的个人信息,登记你在Blog-City上的相关资料。

    OK,介绍完毕。最后,发点感慨,本人以为:Blog-City.com化繁为简的精神很值得我们学习!对那些开发面向对象程序的技术人员而言,如果能更多考虑用户追求快速便捷的要求,肯定能让自己的产品胜人一筹。当然,这在我们快节奏E时代也是大势所趋,要不怎么说Blog-City.com的到来,是个好消息呢^_^!


    ::: posted by Sephiroth at 4:19 PM Comments(0)


     
    关于博客的读者问答录
    作者:方兴东 来源:博客中国

    我把论坛中、文章中、聊天中、邮件中、留言中等等各种渠道,自己收到的有关博客的读者疑问和责问综合整理了一下,作出一些简单的回答,因为没有什么参考书,就根据自己的理解简单回答如下,与大家一起探讨,也希望大家继续提问,不怕尖锐:

    问:博客到底有什么特别之处?其标志是什么?
    答:的确有点难以说清楚,博客丰富多彩,而且以后只能更加多样化。一般来说,比较完整的博客概念,其的界定主要三个方面:一是内容主要为个人性的表达;二是以日记体的方式,并且频繁更新;三是充分利用超链接,拓展文章内容、知识范围以及与博客界的联系。当然,也不一定全部符合,博客本来就是很自由的,尤其是形势。虽然,也不能把互联网上的任何东西都归为博客,一个事物总要有自己一定的特征。
    关于博客的定义,大家可以参考以下内容。但是,要了解什么是博客,最佳的方式就是自己马上去实践一下,实践出真知。如果你现在对博客还很陌生,我希望你先不要看下去了,直接去:www.blogspot.com。先开一个自己的博客帐号。反正比注册邮件更简单,也不用花费一分钱,觉得没劲也就随手扔掉得了。

    问:什么样的博客才是正宗的博客?如何分门别类?
    答:又是一个难题,一说到正宗问题往往只能引发无谓的争论。但是,我们可以从不同角度给博客分分类。从内容出发,博客也可以大致分为三类:一类是以时效性的内容为主的博客,比如过滤各类新闻的博客;一类以专业性的知识为主的博客,专注于某一特定领域,进行知识过滤和知识积累;一类以个人性的交流为主的博客,比如写真正记录个人生活的日记,或者有着共同兴趣的人形成一个博客社区。当然,更多的博客都包含三类的成份,只不过比例不同。而且,互相可以演变。
    博客汇聚的方式也不一样,也可以分为三类:一类是单打独到的纯个人博客,目前托管在www.blogger.com的大部分博客都属于这一类;一类是几个或几十个兴趣相近的群体博客,可以更有力量和影响力,“博客中国”就是如此;一类是博客非博客等汇聚在一起的社区博客,比如IT技术人员最喜欢的www.slashdot.org。当然,个人性和公共性是一对矛盾,不可得兼。
    从博客存在的方式,也可以分为三类:一类是托管博客,无须自己注册域名、租用空间和编制网页,www.blogger.com等提供这样的服务,是最“多快好省”的方式;一类是自建独立网站的博客,有自己的域名、空间和页面风格,需要一定的条件;还有一类是附属博客,将自己的博客作为某一个网站的一部分,一个栏目一个频道或者一个地址,不少媒体网站都开始有了这样的举措。当然,三类之间也是可以演变,甚至可以三者兼得,一人拥有多个博客网站。
    从博客个体的层次上看,也可以大致分为三类:一类是草根博客,主要将博客作为个人表达的方式,是博客世界里沉默的大多数,有着自己非常有限的拥戴者,甚至无所谓有没有读者或读者的多寡;一类是追求内容价值和影响力的知识博客,把博客作为自己知识过滤、知识积累和知识传播的精英类博客;第三类就是出于两者之间的综合性博客,兼而有之而没有侧重。
    以上是从不同角度的大概分类,当然界限都不是绝对的,可以综合,可以演变,可以更另类。只是说明博客世界的丰富性,而不要被单一的概念与模式所局限。博客中国推荐了200个与IT相关的英文博客网站,大家可以根据自己的兴趣选择。

    问:许多人认为“博客”不过又是IT业炒作的概念而已
    答:说到炒作,其实目前为止,国内没有哪个公司参与博客的炒作,也没有一分钱的市场投入炒博客,仅仅是我和其他几位朋友写过几篇介绍性的文章,就让一些人大呼小叫得不行。博客究竟惊动了谁?惊动了风险投资?惊动了股票市场?惊动了哪家企业?惊动了消费者?好像什么都没有。可能仅仅刺激了个别人的神经,波动了个别人的心态,在没有充分了解博客之前,造成潜意识的失衡。
    博客是趋势,是非常有价值的,对许多人意味着一场真正的革命,那为什么不能理直气壮地喝采?现在连基本的博客知识普及还没有完成,如果这样也算炒作,那么我要说,真正的炒作还没有开始呢。我不但要继续这样炒,而且要炒得理直气壮,炒个十年八年!关键是博客也好,博客中国也好,为大家创造真正的价值。有独特的价值就是我们推动博客的底气。
    是不是炒作,大家可以看看这些年来,国外主流媒体的大量报道。

    问:从“博客中国”网站的外表看起来,博客网站和一般的个人网站或BBS并没有什么明显的不同?看不出博客有什么特别的。
    答:博客浪潮是真实的,是大势所趋,任何力量都不可阻挡。众多的事实都在证明博客的真实。当然,更不以“博客中国”本身成败、是非为转移。博客中国虽然立志于推动中国博客的发展而摇旗呐喊,但它绝不能代表博客的全部,网站本身只是代表众多博客实践中的一个而已。目前,它的外表目前与一般个人网站没有明显不同,主要是因为国内博客还很少,大家都在尝试摸索中,包括我本人。因此,我们只是说测试版,但是我相信博客含量会越来越高,与一般网站的区别会越来越大。
    什么事情都需要一个过程,博客不是一夜之间造就的。我想本月新版出来,博客风格和含量就会有大幅提高。目前中国的状况就是美国在1998年的博客发展一样,还处于萌芽状况,处于好奇与尝试阶段,还远远没有步入真正的发展阶段。但是,这一天不会太远。一个新生事物,最少起码要给一两年的时间吧。现在,发展趋势就是最好的答案。

    问:博客不可能取代传统媒体和网站,博客也与BBS、个人网站、电子刊物等没有技术或形式上的革命,怎么能说革命?
    答:博客是一场革命,并不意味着博客一定要推翻什么传统,也不一定非要与传统毫无关系,非要是从头到脚的全新事物。比如博客与个人网站、BBS、电子邮件、电子刊物等都有着本质的联系,因为大家都是“互联网的子孙”。博客不推翻和替代什么,也不妨碍它的革命性意义。就像互联网一样,传统力量利用好博客也可以成为很好的补充和新的工具。比如对于传统媒体,对于传统网站,善于利用好博客,就会是很好的补充手段,可以促进记者的积极性。又比如,目前一篇主流媒体的文章,因为博客网站的推荐,可以使访问量大增。因此,博客的价值关键在于如何利用。

    问:那么博客的革命性到底在哪里?能不能最简单直观地用一句话说清楚?与个人主页有何不同?
    答:这的确是个高难问题。我只能试一试。我想还是引用我自己的一个比喻,我认为博客对于作者和许多知识工作者来说,就相当于70年代末农民们的“包产到户”,都是对“生产力”的一次大解放。在网络所有的表现方式中,博客与个人主页最接近,我们不妨称博客为“个人主页的2.0版”。但是,与过去一般的个人主页又有着本质提升,这也是为什么我这么多年来都想有一个个人主页却一致难以实现的根源,博客突破了传统个人主页的诸多局限,具体后面我再说。

    问:新浪、搜狐这样的门户越来越强大,博客对它们有冲击吗?
    答:对于传统门户,现在互联网出现了两股新兴的变革力量,会逐渐形成冲击:一股是博客,博客的汪洋大海把写作和知识管理的专业性和个人性推向一个新的深度,比如一个有关无线互联网的博客网站,他整天就关注这个领域的一举一动,其无线互联网知识的丰富性和对技术产业最新动态的追踪,是任何一个再大的门户不可能做到的。因此,越专业、越深度的鲜活知识,以后主要是博客来完成。
    另一股力量就是最近推出的“Google新闻”,它利用机器搜索和处理,以互联网上千万家媒体为基础,及时“挑选”出最人们的新闻,可以最大程度地满足一般读者的普遍需求,这也是目前依赖个别编辑的门户所不可比拟。专业性比不过博客,普遍性比不过机器。
    因此,在“专业性”和“普遍性”两极分化的趋势下,现在的网络媒体将处于一个越来越尴尬的中间地带!

    问:博客被称为继电子邮件、BBS和ICQ之后的第四种网络沟通工具,他们的主要差异在哪里?
    答:与过去的电子邮件、BBS和ICQ这三种主要的互联网沟通方式相比,博客方式是更严肃的沟通工具。BBS公共性很强,而个人性很弱,因此缺乏约束,会形成“谁比谁傻”的负面效应。而电子邮件和ICQ是纯粹的个人性,而博客是个人性和公共性的结合。

    问:博客会不会成为“思想自由化”的工具,会不会成为网络垃圾的制造者。
    答:博客是个人展示给所有网上读者的自己的家。因此,博客的管理远远比BBS来得简单。其实只要想想看,谁会在自己的博客网站理不负责任地乱写乱涂?博客形式的自爱、自律使其更具建设性、更便于管理、更具生产力价值。因此,美国许多政府部门要求政府官员用博客方式来进行沟通和知识管理。而BBS、ICQ等都有自己的局限性。未来博客的商业应用,就是成为企业、政府等机构的知识管理工具,这是其他几种方式所不能实现的。当然,博客并不取代哪一种方式。

    问:博客是否是互联网的技术和理念发展的必然产物?成为博客需要什么技术条件?
    答:实际上,博客的革命性,就是因为充分利用互联网,而突破了传统方式、传统技术和传统理念的束缚和制约。不受任何技术、形式和理念的约束,是博客的理想。博客网站无论是技术还是形式,肯定是目前世界上最朴素、最简单的。可以说,成为博客没有任何“技术含量”,没有任何新技术,所有的技术方法都是互联网一出生就基本具备的。比如我说自己的个人网站多少年没有做成,说明做个人主页也是“门槛”很高的,正式点的个人主页,需要注册域名,需要租用服务器空间,需要许多网页制作知识、FTP知识和许多软件工具的使用,所以只有少数人才能真正实现。
    但是,博客不同,一个会申请电子邮件的网民就完全可以“零技术知识”、“零成本”地拥有自己的写作空间。比如你去www.blogspot.com申请,整个过程比申请邮件更简单,每天写作、编辑、上传比你发邮件更容易。
    因此可以说,是互联网的发展和普及,使得博客这种方式很自然而然地成为现实,以前所有的互联网商业模式都由于资本和商业的驱动,多少偏离了互联网的本质。而博客则是互联网天然的方式。

    问:博客以链接为武器,可是所有网站都是以链接为手段的,有什么特别的?
    答:目前的门户从根本上看还是传统媒体的简单网络化,还是传统媒体的运作模式。比如虽然门户网站也是以链接为方式,但是它的链接都是指向自己网站内部的,还是完全封闭。比如我的一篇文章,要么全文搬到它的网站里面,否则就不可能“看”到我的文章。而博客不一样,博客真正以链接为武器,所有的文章都可以在这里看到,而无须把文章“拷贝”到网站中。所以,一个个人的博客网站其表现力和丰富性不见得会输于一个商业性门户。

    问:对于作者来说,博客有什么特别,互联网本来就给人充分表达和发表文章的机会?
    答:从根本上看,博客改变了编辑、作者和读者的关系。博客实现了编辑与作者的完美统一,成了自己文字的“主人”。不会因为哪个网站怕得罪广告客户不发你的文章,违背你的意愿肢解、修改你的文章。当然,博客也就不是简单的只会“码字的人”,就像拥有土地的农民不再是仅仅会锄地的人。博客可以超越自己个人的局限性,把整个互联网作为自己的资源,把你看到的好文章、好知识链接过来,可以站在别人的肩膀上评点和批注。一个博客视野能及的好东西,都可以成为他的资源。
    博客第一次真正拥有了自己的读者。比如我的文章发在新浪,访问量很高,有很多留言。但那还是新浪的读者,而不是我自己的读者。但是,在自己的博客网站,就是你自己真正的读者。那是完全不同的心理交流,一条读者留言可能比其他地方100条留言更让你在意。
    对于博客心理学的研究,是一个有意思的话题,我正在继续关注和思考。

    问:说什么“博客之于知识,就如Linux之于软件,Napster之于音乐”,是不是太夸张了。
    答:与Linux和Napster一样,博客的诞生纯粹是出于兴趣与爱好,是出于人们渴望共享的精神,而不是为了商业利益和功利目的而推动的。因此,我说博客再怎么炒都不会是真正的炒作。当然,与Linux和Napster一样,博客发展到一定阶段,也可能会有商业价值,但是如果现在追求商业,那肯定是走错门。博客的写作不是一般已金钱为目的的职业写作和商业写作,而完全是处于兴趣和爱好。没有人为你博客里的文字付稿费,也没有“领导”要求你天天必须在上面写东西。如果有人连这样的东西都要刻薄地批评,都要大惊小怪地惊呼是炒作,那只能说明他自己的心态有问题。

    问:我博客了几天,但还是不明白自己为什么要天天傻乎乎来写东西?我不知道自己究竟为了什么?你能指点一下吗?
    我倒是要劝告一些朋友,如果不是出于兴趣和爱好,而是因为时髦、功利和好玩,我劝他们先不要急于成为博客。许多人玩了几天就困惑了,不知道自己为什么要“博客”,我只能说,你还没有成为博客的基础。等哪一天你的兴趣和爱好足以让你天天博客,再尝试不迟。就以我来说,我可以保证自己一辈子博客下去,因为这就是我自己最大的爱好。一个人活着,能够有时间和精力投入兴趣和爱好,是多大的快乐。因此,成为博客,还应该有一定的基础,比如生活保障、业余时间和精力。目前为止,博客还是一种业余内容。应该用业余的态度对待,才能每天愉快地博客。

    问:博客会不会是一阵热潮,很快过去?没有利益,谁能够老这样写下去?
    答:博客的生命力就是因为它是来自人们内心的兴趣和爱好,一般不会因为产业变化、股市起伏、风险投资喜好或者工作变动而改变,因此我会担心现在许多互联网商业模式和公司的未来,但我根本不担心博客美好的未来。

    问:是不是只有学历较高、知识比较渊博的人才能成为博客?
    答:每个人都有自己独特的才能,每个人都会拥有自己忠实的崇拜者,因此每一个人都可以成为博客。未来,博客就是网民,网民就是博客。就像日常生活中一样,博客是一个人体现自己和表达自己的方式之一。
    博客与学历等传统资历关系不大,主要是充分张扬自己个性和特长的。

    问:博客世界真的完全没有功利和名利?
    那当然是不可能的,那样纯净的世界只可能在神话中。与现实世界一样,博客生态也会有一套自己的竞争机制。优秀的博客会拥有很多的读者,有很高的知名度。我觉得挺好,就像市场经济一样,博客的发展也应该有一种积极的动力机制。
    因此,博客的竞争与现实世界的竞争有必然的联系,也有本质的区别。博客开辟了一个全新的战场,给许多优秀人士以造福他人的机会,也同时给自己脱颖而出的机会。
    一分付出一分回报。当一名博客能否名利双收,核心还是看你能否利用博客这种全新的形式,给世界创造多大的价值。

    问:您是怎么成为博客的?
    答:说到自己,话题就轻松了。一切都是从想做个人网站开始。实际上,我已经想过很多年,但是一直望而却步(因此做一个个人网站实际上的门槛是很高的,成为博客就不会有这样的门槛)。直到7月份,自己的文章遭遇个别厂商封杀,有着长期合作的网站为了不得罪广告客户,而开始很谨慎地有选择地刊登文章。于是,自己相当一部分文章无从发表,而不是以前那样每篇都会及时刊登。不过也难怪,几年来,人家网站规模和收入已经10倍、几十倍地增长,而作为个人,你的文字产量、文字含金量和文字影响力当然是不可能这样增长的。因此,现在人家“抛弃”你是情有可原的。因此,想想又是气愤又是悲凉,一个作者的命运总是那么脆弱。但是再气愤我们也应该承认变化和面对现实。唯一的办法就是有一个自己的网站,虽然访问量不高,但是起码自己的文章可以随时发表。
    于是开始规划我自己的个人网站。我无意中跟孙坚华谈起这个念头。他就马上推荐我上他的博客网站看看,实在惭愧,那时候我对博客还一无所知。但是,一看到博客,我的头脑就马上被触发、被点燃:这种理念和形式与我的兴趣简直是天作之合。于是,开始疯狂研究,才知道在国外早就形成汹涌的浪潮。我们虽然迟到了,但是还不晚。于是,就有了“博客中国”。当然,我觉得它不应该成为一个纯粹个人的网站,而应该把业内诸多朋友的作品汇聚起来。
    我觉得再也没有比博客更适合自己的了。有了博客,可以把自己长年积累的,平时所见、所闻、所思、所谈的方方面面都精选和分享出来。有了博客,我不仅仅只是一个会“码字”的作者,而可以表现出比我的文章高出10倍以上的价值。

    问:您觉得做博客最大的乐趣是什么?
    答:最大的乐趣就是分享的乐趣。比如我积累了2000多份IT相关的各种研究报告;我对国内外几百个IT相关网站可以说了如指掌;它们都静静地存在于网络世界,等待人们来分享。但是,我觉得更多人都不知道这些好东西躲在什么地方,我就可以把他们共享出来。而且更重要的是,网络上的好东西源源不绝,每天都在产生,而这些年来,自己每天都要花好几个小时浏览这些信息。如果这些好东西仅仅是我自己一个人消化,仅仅是藏在我的硬盘里,那价值太有限。而如果我及时把他们精选出来,同时能够供更多的人参考,应该具有更大的意义,甚至远远超过我自己的文章本身。
    当然,还有很快乐的一点,就是我写了6年文章,却从来没有进入一个媒体,没有自己可以完全作主的“地盘”,每一篇文章出来都得为发表而发愁。现在,我第一次可以真正成为我自己文章的“主人”,我自己可以完全决定何时发表,并且随时补充修改。这种自由对一个酷爱写作的人来说,简直太可贵了,比任何东西都重要。所以,最简单直接的收获,就是我不需要再怕别人封杀,不需要完全看别人的脸色写作和发表。
    除了自己博客的乐趣,更大的乐趣还是自己获取知识的方式发生了重大变化。现在,自己80%的信息是通过国外博客获取。在他们精选的基础上再选择,可以大量节省时间。如果作个比喻,博客网站的内容是川菜湘菜,一般的门户变成了清茶淡饭,已经不太过瘾。当然也还是时不时去看看。越专业、越深入的知识以后肯定看博客网站是最好的。无论丰富性、及时性,都是一般门户无法比拟的。当然,一般新闻还是门户的特长。

    问:你每天是怎么博客的?
    答:博客已经成为我自己的生活习惯。每天晚上9点以后,我就上网,这时候正是美国的上午开始,各大网站开始更新新闻,我就把他们最新重要的新闻(是我认为比较有价值的信息)浏览,并且精选一些放到“每日要闻”里面。这大概需要耗费1-2个小时时间,然后睡觉。每天早上7点左右起床,也是先把国内的这些重要新闻和内容挑选一番,也需要1-2个小时。这些时间,既是我的“博客”工作,也是我自己每天了解产业动态、自我充电的过程。多年来自己一直坚持这个习惯,现在只不过多了一道“工序”,而且更有规律性和约束性。
    一天的其他时间都可以成为博客的时间,主要不影响你的工作、学习和生活。当然,由于博客,看DVD、喝茶聊天,甚至出差等等,都要有不小的牺牲。

    问:最大的障碍是什么?最大的挑战是什么?
    答:博客是需要时间和精力的,如果不是与你自己的兴趣和爱好相符,不是对你的工作、学习、生活有帮助,那就会变成障碍和挑战。因为博客本身不可能给你带来短期的、直接的回报。当然,观念上的挑战还是有的,比如你看到一份很好的报告,是不是要马上共享出来,一开始会有点犹豫。但实际上没有必要,分享这些好东西,你自己不会失去任何东西,别人却可以得到收获,何乐而不为?因此,如果有了物质基础和精神基础,博客就是一件很快乐的事情,不会有障碍和挑战。有的话,也就是每天都发愁:今天能不能给别人提供更多有价值的新东西?是对自己学识不足、视野局限和时间精力有限的一种挑战。

    问:大家都很关心一个问题,就是做博客能否成为一种谋生手段,博客网站能不能进行商业运作?
    答:博客作为直接的谋生手段,我觉得短期内最好不要有这样的期望。博客的诞生于兴趣和爱好,其本质上是有点反商业的。期望通过博客直接获取利益,必然要失望的。但是,把博客作为提升自己的手段,间接有助于自己的工作,是很不错的。博客模式的强烈的个人性,注定了它不方便商业化运作。当然,今后有没有商业价值,关键看未来博客到底能给别人创造多大的价值,建立多大的影响力。只要有价值,长远总会有回报。当然,不一定是直接的金钱回报。毕竟,金钱只是一个人生活中很小的一部分而已。
    因此,我还是特别强调,应该从兴趣和爱好角度从事博客!才会有意想不到的收获。
    长远来讲,博客最大的商业价值将来自于它在商业领域的应用,比如将博客作为政府、企业和机构的内部沟通、信息共享和知识管理的工具,将有非常诱人的商业前景,当然需要很长的时间。

    问:你对博客在中国,以及“博客中国”的发展状况满意吗?
    答:应该说对于现状非常不满意,但是对于进展应该是非常满意。因为毕竟才刚刚开始,现在中国博客发展的状况与美国1998年左右差不多,大多数人对博客概念还缺乏了解,对博客理念更是需要时间去学习和知识补充。实践博客也多数只是好奇,还没有真正找到门。更多的人还不知道。我想,起码要有1-2年的预热时间,中国博客就会迅速发展。也许,会比这个估计更快速。
    “博客中国”测试版推出也才两个多月,从零开始到现在,无论是内容的丰富性和大家的口碑,都还可以。要知道,这是一个纯粹的业余网站,一个依靠众多朋友参与与帮助的,没有一分钱投入的出于兴趣的网站。连一个专职人员也没有,包括我自己在内,大家都是业余时间投入。能这样发展已经不容易了。当然,离我们的理想目标还是太远,显得太粗浅了。我想,应该用一年时间来让它慢慢成形,是必须的。急功近利没有必要,这是一项长期的事情。因此,对于目前种种不足,希望大家多加体谅。
    任何时间都需要时间,需要一个发展过程,给我们一年时间!相信就会有本质的进步。

    问:博客这种形式真的有那么特别,那么神奇吗?
    答:博客本身没有什么神奇的。比如,在没有电脑之前,我们所有的写作都是一支笔、一张稿纸,笔和纸的价值差别不大,但是写出来的内容差异很大;有了电脑,我们都使用同样的字处理软件,软件本身没有什么差异,差异的是写出来的内容。博客形式本身就与纸笔、与字处理软件是一样的,它的价值和神奇体现在你所创造的内容。因此,千万不要被博客的技术、形式等所局限。

    问:成为博客的条件是什么?成为一名优秀博客的最大障碍是什么?
    答:成为博客不需要任何条件,当然如果你希望你的博客吸引很多人看,那你需要拿出点真功夫,让你的博客为读者体现出独特的价值。
    如果成为博客如果有条件的话,我想根本的条件就是他要乐于分享!一个不愿意分享,只想把自己的思想和好东西封闭起来的人,不适合成为博客。
    成为优秀博客的前提是你来真正优秀的东西与人共享。因此,还是借用一句老话:你不要问博客能为你做什么,而是你自己能够为博客做什么,为读者分享什么。
    以上都是一己之见,关于博客,我也天天在学习,在实践,在思考,天天有进步有新的收获。现在肯定有点浅,但是会一步步提高就行,多探讨吧。
    大家想对博客有更深入了解,我希望大家还是多看看,网站里面有大量关于博客的文章和思想。

    ::: posted by Sephiroth at 3:03 PM Comments(0)


    Friday, December 27, 2002 :::
     
    DoS:网络安全的老大难问题

    作者:孙笑庆 来源:中国计算机报

    2000年年初的Yahoo!等大型网站被攻击,以及几个月前,美国的CA根服务器遭受攻击,都是拒绝服务攻击(DoS)惹的祸,因此,可以毫不夸张地说,目前DoS已然是网络安全中的一个引人关注的老大难问题。DoS为什么有这么大的“能量”呢?

    拒绝服务攻击分两种

    拒绝服务攻击,通常是以消耗服务器端资源为目标,通过伪造超过服务器处理能力的请求数据造成服务器响应阻塞,使正常的用户请求得不到应答,以实现攻击目的。由于DoS攻击工具的泛滥,及所针对的协议层的缺陷短时无法改变的事实,DoS也就成为了流传最广、最难防范的攻击方式。

    拒绝服务攻击的两种方式


    拒绝服务攻击根据其攻击的手法和目的不同,有两种不同的存在形式:一种是以消耗目标主机的可用资源为目的,使目标服务器忙于应付大量的非法的,无用的连接请求,占用了服务器所有的资源,造成服务器对正常的请求无法再做出及时响应,从而形成事实上的服务中断。这也是最常见的拒绝服务攻击形式。这种攻击主要利用的是网络协议或者是系统的一些特点和漏洞进行攻击,主要的攻击方法有Land、Teardrop、SYN Flood、UDP Flood、ICMP Flood、Smurf等等,针对这些漏洞的攻击,目前在网络中都有大量成熟的现成工具可以利用,比较常见和有效的有Trinoo、TFN、Stacheldraht、TFN2K等;另一种拒绝服务攻击是以消耗服务器连路的有效带宽为目的,比如服务器的出口为2M的带宽线路,攻击者通过发送大量的有用或无用数据包,将整条链路带宽全部占用,从而使合法用户请求无法通过链路到达服务器,服务器对部分合法请求的回应也无法返回用户,造成服务中断。对于这种攻击,可以说非常难以区分和防范,它本来就是利用网络发展过程中不可避免的资源紧缺造成的矛盾进行攻击,大量的合法请求只要涌向一个资源有限的网络系统,就可能造成服务故障,很难说这样的行为是攻击行为还是正常的访问,在去年那场有名的中美黑客大战中,就有人号召国人集中力量共同点击访问美国白宫的网站,生成大量的流量,从而造成对白宫网站的拒绝服务攻击的事实。当然从现实来说,这是不合实际和难以奏效的,但是从占用网络资源实现攻击目的的手段来说,它又的确是符合这种攻击的原理和特点的。从这种方式可以看出,对于这种攻击,无论从技术和法律上都难以防范和追查。

    DoS攻击不同应对措施不同

    鉴于DoS攻击主要利用协议特征和漏洞进行攻击,我们在防御DoS攻击时也要与之对应,分别提出相应的解决方案。目前主要的防DoS攻击的技术手段有:

    Syn-Cookie(主机)/Syn-Gate(网关)

    在服务器和外部网络之间部署代理服务器(在大多数号称具有防Syn Flood攻击的防火墙所采用的方式),通过代理服务器发送Syn/Ack报文,在收到客户端的Syn包后,防火墙代替服务器向客户端发送Syn/Ack包,如果客户端在一段时间内没有应答或中间的网络设备发回了ICMP错误消息,防火墙则丢弃此状态信息;如果客户端的Ack到达,防火墙代替客户端向服务器发送Syn包,并完成后续的握手最终建立客户端到服务器的连接。通过这种Syn-Cookie技术,保证每个Syn包源的真实有效性,确保服务器不被虚假请求浪费资源,从而彻底防范对服务器的Syn-Flood攻击。

    Random Drop算法

    它是当流量达到一定的数量限度时,所采取的一种通过降低性能,保证服务的不得已的方法,其过程是这样的:当流量达到一定的阀值的时候,开始按照一定的算法丢弃后续的报文,保持主机的处理能力,这样对于用户而言,许多合法的请求可能被主机随机丢弃,但是有部分请求还是可以得到服务器响应,保证服务不间断运行的。

    带宽限制和QoS保证

    通过对报文种类、来源等各种特性设置阀值参数,保证主要服务稳定可靠的资源供给。

    负载均衡

    这种方法不能说是专门用来解决DoS问题的,但是它在应对拒绝服务攻击方面也起到了重大的作用。

    专业防御DoS攻击产品还不多

    当前,各个厂商对于DoS攻击提出的解决方法,主要是针对以耗尽系统资源为目的的某些攻击进行的防御,利用以上提出方法或选择其中的一种或几种应用在网关产品中,最主要的就是在防火墙中对Syn Flood、UDP Flood等攻击进行防御,目前专门防御DoS攻击的产品,国内的有绿盟科技推出的“黑洞Collapsar”。据了解,黑洞的防护原理主要是使用多种算法识别攻击流量和正常流量,能保证在高强度攻击环境下95%以上的连接保持率和新连接发起成功率。目前,该产品能够对SYN、ACK、UDP、ICMP和MStream等多种常见的FloodDoS攻击进行防护,同时可以防止连接耗尽,对典型的资源比拼型攻击也具有良好的防护能力。在国外,例如Toplayer和Radware等公司也有类似产品,其防御原理基本相同。

    ::: posted by Sephiroth at 11:58 AM Comments(0)


    Thursday, December 26, 2002 :::
     
    Marry Christmas!
    祝福所有的朋友,愿你们平安!

    ::: posted by Sephiroth at 12:03 AM Comments(0)


    Wednesday, December 25, 2002 :::
     
    NT注册表

    NT的注册表文件存放位置

    %system%\system32\config目录下有这样一些文件

    sam.* Security Account Manager,安全帐号管理器

    default.* 默认注册表文件

    security.* 安全性注册文件

    system.* 系统注册文件

    software.* 应用软件注册表文件

    注册表中最重要的文件是那些没有扩展名的文件,也就是当前注册表文件。还有一个名为system.alt文件,这个就是注册表的副本。

    %system%\system32\config目录下扩展名为log或sav的文件中包含的是历史信息,可以通过时间浏览器来查看。比如:.sav文件是在最近一次系统正常引导过程中保存的,而.log文件则记录了注册表审核功能启用过程中对注册表所进行的修改。虽然你可以删除.log和.sav文件,但是我并不希望你珍惜这一点点磁盘空间。

    注意:不要替换注册表文件的某一个或者某几个文件,这样会造成注册表文件的不同步,极易造成系统的崩溃。

    安全启动时所启动的服务列表在注册表中的位置

    当系统启动到“安全模式(Safe Mode)”和“命令行安全模式(Safe Mode with Command Prompt)”时,所启动的服务列表可以在下面的注册表键得到:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal

    当系统启动到“有网络的安全模式(Safe Mode with Networking)”时,所启动的服务列表可以在下面的注册表键得到:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network

    “.reg”文件

    有的时候为了方便修改注册表,我们会制作一些脚本,但是不管是inf文件还是vbs脚本,我觉得还是只有.reg文件是最方便的。

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

    --创建

    创建分为两种,一种是创建子项(Subkey)
    注:注册表的命名标准参见下图:


    Subtrees:子树
    Keys:键
    Subkeys:子键
    Active Subkey:当前子键
    Entry names:项名
    Data Type:数据类型
    Values:值

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

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Test4NetEgis]

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

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

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Test4NetEgis]
    "Test1"="NetEgis"
    "Test2"=hex:61
    "Test3"=dword:00000064

    Test1的类型是“String Value”
    Test2的类型是“Binary Value”
    Test3的类型是“DWORD Value”

    注意:如果你的注册表中不存在Test4NetEgis这个子项,那么该脚本会为你创建该子项。

    --修改
    修改相对来说比较简单,只要把你需要修改的项目导出,然后用记事本进行修改,然后导入即可,在此我就不再赘述。

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

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Test4NetEgis]
    "Test1"=-

    执行该脚本,HKEY_LOCAL_MACHINE\SOFTWARE\Test4NetEgis下的"Test1"就被删除了;

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

    Windows Registry Editor Version 5.00

    [-HKEY_LOCAL_MACHINE\SOFTWARE\Test4NetEgis]

    执行该脚本,HKEY_LOCAL_MACHINE\SOFTWARE\Test4NetEgis就已经被删除了。

    相信看到这里,.reg文件你基本已经掌握了。

    附一:regedit.exe的参数

    filename 导入 .reg 文件进注册表

    /s 导入 .reg 文件进注册表(安静模式)

    /e 导出注册表文件

    例:regedit /e filename.reg HKEY_LOCAL_MACHINE\SYSTEM

    /L:system 指定 system.dat

    /R:user 指定 user.dat

    /C 压缩 [文件名] (Windows 98)

    还有一些参数也是可以用的,比如/a,但是我尝试后发现功能无非就是上述这些!而且测试参数很容易导致你的注册表加倍庞大,实在是一个很危险的工作。不过也不会导致系统崩溃,大家胆子大的就大胆去try吧!

    附二:Windows 2000注册表数据类型
    Data Types in the Windows 2000 Registry
    Data types define what kind of data an entry can store. The following data types are used by entries in the Windows 2000 registry:

    REG_BINARY

    Raw binary data. Most hardware component information is stored as binary data. It can be displayed in an easy-to-read format by using Windows 2000 Diagnostics. REG_BINARY data can be displayed and entered in binary or hexadecimal format in a registry editor.

    For example,

    PagingFiles.

    HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

    Data type Range Default value

  • 如何成为一名黑客
    Copyright 2001 by Eric S. Raymond

    翻译:Barret
    翻译水平有限,欢迎来信指教,我的Email是barret(a)ynmail.com,但请勿问电脑技术问题(反正也不懂)。
    允许未经作者及译者的同意进行非商业目的的转载,但必须保持原文的完整性。

    --------------------------------------------------------------------------------
    内容一览
    为什么会有这份文档?
    什么是黑客?
    黑客应有的态度
    黑客的基本技能
    黑客文化中的地位
    黑客和书呆子(Nerd)的联系
    风格的意义
    其它资源
    FAQ(常问问题解答)

    --------------------------------------------------------------------------------
    为什么会有这份文档?
    作为 Jargon File 的编辑和一些其他有名的类似性质文章的作者,我经常收到充满热情的网络新手的email提问(确实如此) “我如何才能成为一名出色的黑客?”非常奇怪的是似乎没有任何的FAQ或者Web形式的文档来说明这个十分重要的问题,因此我写了一份。
    如果你现在读的是这份文档的离线拷贝,那么请注意当前最新版本(英文版)在 http://www.tuxedo.org/~esr/faqs/hacker-howto.html可以得到。
    注意:在这份文档最后有 FAQ(常问问题解答)。请在向我提出任何关于这份文档的疑问之前读两遍。
    目前这份文档有很多翻译版本: 保加利亚语, 简体中文, 繁体中文, 丹麦语, 荷兰语, 法语, 德语, 匈牙利语, 印尼语, 日语, 朝鲜语, 葡萄牙语, 俄语及 瑞典语。注意由于这份文档时有修正,所以以上翻译版本可能有不同程度的过时。

    --------------------------------------------------------------------------------
    什么是黑客?
    Jargon File 包含了一大堆关于“hacker”这个词的定义,大部分与技术高超和热衷解决问题及超越极限有关。但如果你只想知道如何 成为 一名黑客,那么只有两件事情确实相关。
    这可以追溯到几十年前第一台分时小型电脑诞生, ARPAnet 实验也刚展开的年代,那时有一个由程序设计专家和网络名人所组成的, 具有分享特点的文化社群。这种文化的成员创造了 “hacker” 这个名词。黑客们建立了 Internet。黑客们发明出了现在使用的 UNIX 操作系统。黑客们使 Usenet 运作起来, 黑客们让 WWW 运转起来。如果你是这个文化的一部分,如果你对这种文化有所贡献,而且这个社群的其它成员也认识你并称你为 hacker, 那么你就是一位黑客。
    黑客精神并不仅仅局限在软件的黑客文化中。有人用黑客态度对待其它事情,如电子学和音乐—— 事实上,你可以在任何最高级别的科学和艺术活动中发现它。精于软件的黑客赞赏这些在其他领域的同类并把他们也称作黑客—— 有人宣称黑客天性是绝对独立于他们工作的特定领域的。 但在这份文档中,我们将注意力集中在软件黑客的技术和态度,以及发明了“黑客”一词的以共享为特征的文化传统之上。
    有一群人大声嚷嚷着自己是黑客,但他们不是。他们(主要是正值青春的少年)是一些蓄意破坏计算机和电话系统的人。真正的黑客把这些人叫做“骇客”(cracker),并不屑与之为伍。多数真正的黑客认为骇客们又懒又不负责任,还没什么大本事。专门以破坏别人安全为目的的行为并不能使你成为一名黑客, 正如用铁丝偷开走汽车并不能使你成为一个汽车工程师。不幸的是,很多记者和作家往往错把“骇客”当成黑客;这种做法一直使真正的黑客感到恼火。
    根本的区别是:黑客搞建设,骇客搞破坏。
    如果你想成为一名黑客,请接着读下去。如果你想做一个骇客,去读 alt.2600 新闻组,并在意识到你并不像自己想象的那么聪明后去坐五到十次监狱。关于骇客,我只想说这么多。

    --------------------------------------------------------------------------------
    黑客应有的态度

    黑客们解决问题,建设事物,同时他们崇尚自由和无私的双向帮助。要被他人承认是一名黑客,你的行为得体现出你好像具备了这种态度一般。而要想做得好象你具备这种态度一般,你就得切切实实坚持它。
    但是如果你认为培养黑客态度只是一条在黑客文化圈中得到承认的路子,那就大错特错了。成为具备这些特质的这种人对 你自己非常重要——有助于你学习,及给你提供源源不断的动力。同所有创造性的艺术一样,成为大师的最有效方法就是模仿大师的精神—— 不仅从智力上,也要从感情上进行模仿。
    或许, 下面这首现代的禅诗很好的阐述了这个意思:
    To follow the path:(沿着这样一条道路:)
    look to the master,(寻找大师,)
    follow the master,(跟随大师,)
    walk with the master,(与大师通行,)
    see through the master,(洞察大师,)
    become the master.(成为大师。)
    嗯,如果你想成为一名黑客,反复读下面的事情直至你相信它们:
    1. 世界充满了待解决的迷人问题。
    做一名黑客会有很多乐趣,但却是要费很多气力方能得到的乐趣。 这些努力需要动力。成功的运动员从锻炼身体、超越自我极限的愉悦中得到动力。同样,做黑客,你得能从解决问题,磨练技术及锻炼智力中得到基本的乐趣。
    如果你还不是天生的这类人又想做黑客,你就要设法成为这样的人。否则你会发现,你的黑客热情会被其他分心的事物吞噬掉——如金钱、性和社会上的虚名。
    (同样你必须对你自己的学习能力建立信心——相信尽管当你对某问题近乎一无所知,但只要你一点一点地试验、学习,最终会掌握并解决它。)
    2. 一个问题不应该被解决两次。
    聪明的脑袋是宝贵的有限的资源。当世界还充满非常多有待解决的有趣的新问题时,它们不应该被浪费在重新发明轮子这类事情上。
    作为一名黑客,你必须相信其他黑客的思考时间是宝贵的——因此共享信息,解决问题并发布结果给其他黑客几乎是一种道义,这样其他人就可以去解决 新问题而不是不断地忙于对付旧问题。
    (你不必认为一定要把你 所有的发明创造公布出去,但这样做的黑客是赢得大家极度尊敬的人。卖些钱来养家糊口,租房买计算机甚至发大财和黑客价值观也是相容的,只要你别忘记你还是个黑客。)
    3. 无聊和乏味的工作是罪恶。
    黑客(泛指具有创造力的人们)应该从来不会被愚蠢的重复性劳动所困扰,因为当这种事情发生时就意味着他们没有在做只有他们才能做的事情—— 解决新问题。这样的浪费伤害每一个人。因此,无聊和乏味的工作不仅仅是令人不舒服而已,而且是罪恶。
    作为一个黑客,你必须坚信这点并尽可能多地将乏味的工作自动化,不仅为你自己,也为了其他人(尤其是其他黑客们)。
    (对此有一个明显的例外。黑客有时也做一些在他人看来是重复性或枯燥的工作以进行“脑力休息”,或是为了获得某种技能,或是获得一些除此以外无法获得的特别经验。但这是自愿的——有脑子的人不应该被迫做无聊的活儿。)
    4. 自由万岁。
    黑客们是天生的反独裁主义者。任何能向你发命令的人能够迫使你停止解决令你着迷的问题,同时,按照独裁者的一般思路,他通常会给出一些极端愚昧的理由。因此,不论何处,任何独裁主义的作法,只要它压迫你和其他黑客,你就要和它斗到底。
    (这并非向所有权威挑战。儿童需要监护,罪犯要被看管起来。 如果服从命令得到某种东西比起用其他方式得到它更节约时间,黑客可以同意接受某种形式的权威。但这是一个有限度的,有意的交易;那种权威想要的个人服从不是你应该同意给予的。)
    权威喜欢审查和保密。他们不信任自愿的合作和信息的共享—— 他们只喜欢由他们控制的所谓“合作”。因此,作为一个黑客,你得对审查、保密,以及使用武力或欺骗去压迫有行为能力的人们的做法有一种本能的敌意。同时你要有为此信念斗争的意愿。
    5. 态度不能替代能力。
    作为一名黑客,你必须培养起这些态度。但只具备这些态度并不能使你成为一名黑客,也不能使你成为一个运动健将和摇滚明星。成为一名黑客需要智力,实践,奉献精神和辛苦工作。
    因此,你必须学会怀疑,并尊重各种各样的能力。黑客们不会为那些装模做样的人浪费时间,但他们却非常尊重能力—— 尤其是从事黑客工作的能力,不过任何能力总归是好的。具备很少人能具备的那些方面的能力尤其好,其中具备涉及脑力、技巧和专注方面能力的当然最好。
    尊敬能力,你就会享受到提高自己能力的乐趣—— 辛苦的工作和奉献会变成一种高度娱乐而非苦差事。要想成为一名黑客,这一点非常重要。

    --------------------------------------------------------------------------------
    黑客的基本技能

    黑客态度重要,但技术更加重要。态度无法替代技术,在你被别的黑客称为黑客之前,有一些基本的技术你必须掌握。
    这些基本技术随着新技术的出现和老技术的过时也随时间在缓慢改变。例如,过去内容包括使用机器语言编程,而直到最近才包括了HTML。总的来说现在主要包括以下技术:
    1. 学习如何编程。
    这当然是最基本的黑客技能。如果你还不会任何编程语言,我建议你从Python开始。它设计清晰,文档齐全,合适初学者入门。它是一门很好的入门语言,并且不仅仅只是个玩具;它非常强大、灵活,也适合做大型项目。我有一篇 Python评价详细说明这点。好的 教程 可以在Python网站得到。(译者:比较好的中文Python站点可能是http://pythonrecord.51.net。)
    Java也是好的入门语言。它比Python难得多,但是生成的代码速度也快得多。它同时也是一种优秀的计算机语言,不止是用来入门。
    但是注意,如果你只会一两门语言,你将不会达到黑客所要求的技术水平,甚至也不能达到一个程序员的水平——你需要学会如何以抽象的方式思考编程问题,独立于任何语言。要做一名真正的黑客,你需要学会在几天内通过一些手册,结合你现在所知,迅速掌握一门新语言。这意味着你应该学会几种截然不同的语言。
    如果要做一些重要的编程工作,你将不得不学习C语言,Unix的核心语言。 C++与C非常其他类似;如果你了解其中一种,学习另一种应该不难。但这两种都不适合编程入门者学习。而且事实上,你越避免用C编程,你的工作效率会越高。
    C非常有效率,节约你的机器资源。不幸的是,C的高效是通过你手动做很多底层的管理(如内存)来达到的。底层代码都是复杂极易出现bug的,会使你花极多的时间调试。如今的机器速度如此之快,这通常是得不偿失——比较明智的做法是使用一种运行较慢、较低效率,但大幅节省你的时间的语言。因此,选择Python。
    其他对黑客而言比较重要的语言包括 Perl和 LISP。 Perl实用,值得一学;它被广泛用于动态网页和系统管理,因此即便你从不用Perl写程序,至少也应该学会看。许多人使用Perl的理由和我建议你使用Python的理由一样,都是为了避免用C完成那些不需要C高效率的工作。你会需要理解那些工作的代码的。
    LISP值得学习的理由不同——最终掌握了它时你会得到丰富的启迪和经验。这些经验会使你在以后的日子里成为一个更好的程序员,即使你实际上很少使用LISP本身。
    当然,实际上你最好五种都会(Python,Java,C/C++,Perl和LISP)。除了是最重要的黑客语言外,它们还代表了截然不同的编程思路和方法,每种都会让你受益非浅。
    这里我无法给你完完全全的指导教会你如何编程——这是个复杂的技能。但我可以告诉你,书本和上课也不能作到(最好的黑客中,有许多,也许 几乎都是自学成材的)。你可以从书本上学到语言的特点——只是一些皮毛,但要使书面知识成为自身技能只能通过实践和虚心向他人学习。因此要作到 (一)读代码及(二)写代码。
    学习如何编程就象学习用优美的自然语言写作一样。最好的做法是读一些大师的名著,试着自己写点东西,再读些,再写点,再读些,再写点…… 如此往复,直到你的文章达到你体会到的范文的简洁和力量。
    过去找到适合阅读的好的代码是困难的,因为几乎没有大型程序的源代码能让新手练手。这种状况已经戏剧性地发生变化;开放源代码软件,编程工具和操作系统(全都由黑客写成)现在已经随处可见。让我们在下一个话题中继续讨论……
    2. 得到一个开放源代码的Unix并学会使用、运行它。
    我假设你已经拥有或者能使用一台个人电脑(今天的孩子们真幸福 :-) )。新手们能够朝学习黑客技能迈出的最基本的一步就是得到一份Linux或BSD-Unix的一种,安装在个人电脑上,并运行它。
    没错,这世界上除了Unix还有其他操作系统。但它们都是以二进制形式发布的——你无法读到它的源代码,也不可能修改它。尝试在运行DOS或Windows或MacOS的机器上学习黑客技术,就象是带着脚镣学跳舞。
    除此之外,Unix还是Internet的操作系统。你可以学会上网却不知道Unix,但你不了解Unix就无法成为一名Internet黑客。因此,今天的黑客文化在很大程度上是以Unix为中心的。(这点并不总是真的,一些很早的黑客对此一直很不高兴,但Unix和Internet之间的联系已是如此之强,甚至连Microsoft也无可奈何。)
    所以, 安装一套UNIX——我个人喜爱LINUX但还有其他种类的(是的,你可以同时安装Linux及DOS/Windows在同一电脑上)。学习它,使用它,配置它。用它在Internet上冲浪。阅读它的源代码。修改它的源代码。你会得到比在Microsoft操作系统上更好的编程工具(包括C,LISP,Python及Perl)。你会觉得乐趣无穷,学到在你成为大师之前意识不到的更多的知识。
    想知道更多关于学习Unix的信息,访问 The Loginataka。
    想知道如何得到一份Linux,访问 我在哪里可以获得Linux。(译者:对于中文读者来讲,最简单的方式未过于前往附近的D版/正版光盘店。)
    你可以在 www.bsd.org找到BSD Unix的求助及其他资源。
    我有写一篇关于 Unix和Internet基础的入门文章。
    (注:如果你是一个新手,我不推荐自己独立安装Linux或者BSD。安装Linux的话,寻求本地Linux用户组的帮助;或联系 Open Projects Network。 LISC维护着一些 IRC频道,在那里你可以获得帮助。)
    3. 学会如何使用WWW和写HTML
    黑客文化建造的大多东西都在你看不见的地方发挥着作用,帮助工厂、办公室和大学正常运转,表面上很难看到它对非黑客的普通人的生活的影响。Web是一个大大的例外。即便政客也同意,这个巨大耀眼的黑客玩具正在改变整个世界。单是这个原因(还有许多其它的),你就需要学习掌握Web。
    这并不是仅仅意味着如何使用浏览器(谁都会),而是要学会如何写HTML, Web的标记语言。如果你不会编程,写HTML会教你一些有助于学习的思考习惯。因此,先完成一个主页。(网上有很多好的教程; 这是一个。)
    但仅仅拥有一个主页不能使你成为一名黑客。 Web里充满了各种网页。大多数是毫无意义的,零信息量垃圾——界面时髦的垃圾,注意,垃圾的水准都类似(更多信息访问 The HTML Hell Page)。
    要想有价值,你的网页必须有内容—— 它必须有趣或对其它黑客有帮助。这是下一个话题所涉及的……
    4. 如果你不懂实用性的英语,学习吧。
    作为一个美国人和一个以英语为母语的人,我以前很不情愿提到这点,免得成为一种文化上的帝国主义。但相当多以其他语言为母语的人一直劝我指出这一点,那就是英语是黑客文化和Internet的工作语言,你需要懂得以便在黑客社区顺利工作。
    这一点千真万确。大概1991年的时候我就了解到许多黑客在技术讨论中使用英语,甚至当他们的母语都相同,英语对他们而言只是第二语言的时候;据我知道的报导,当前英语有着比其他语言丰富得多的技术词汇,因此是一个对于工作来说相当好的工具。基于类似的原因,英文技术书籍的翻译通常不令人满意(如果有翻译的话)。
    Linus Torvalds,一个芬兰人,用英语注释他的代码(很明显这对他来说不是凑巧)。他流利的英语成为他能够管理全球范围的Linux开发人员社区的重要因素。这是一个值得学习的例子。

    --------------------------------------------------------------------------------
    黑客文化中的地位

    象大部分不涉及金钱的文化一样,黑客王国靠声誉运转。你设法解决有趣的问题,但它们到底多有趣,你的解法有多好,是要由那些和你具有同样技术水平的人或比你更厉害的人去评判的。
    相应地,当你在玩黑客游戏时,你得认识到你的分数主要靠其他黑客对你的技术的评价给出(这就是为什么只有在其它黑客称你为黑客时,你才算得上是一名黑客)。这个事实常会被黑客是一项孤独的工作这一印象所减弱;也会被另一个黑客文化的禁忌所减弱(现在逐渐减弱但仍强大):拒绝承认自我或外部评估与一个人的动力有关系。
    特别地,黑客王国被人类学家们称为一种奉献文化。 在这里你不是凭借你对别人的统治来建立地位和名望,也不是靠美貌,或拥有其他人想要的东西,而是靠你的奉献。尤其是奉献你的时间,你的创造和你的技术成果。
    要获得其他黑客的尊敬,基本上有五种事情你可以干:

    1. 写开放源代码软件
    第一个(也是最集中的和传统的)是写些被其他黑客认为有趣或有用的程序,并把程序源代码提供给整个黑客文化使用。
    (过去我们称之为“free software (自由软件)”,但这却使很多不知 free 的精确含义的人感到困惑。现在我们很多人,根据搜索引擎网页内容分析至少有2:1的比率,使用“ open-source”software(开放源代码软件)这个词)。
    黑客王国里最受尊敬的偶像是那些写了大型的、好用的、具有广泛用途的软件,并把它们公布出去,使得每人都在使用他软件的人。

    2. 帮助测试并调试开放源代码软件
    黑客也尊敬那些使用、测试开放源代码软件的人。在这个并非完美的世界上,我们不可避免地要花大多数的开发时间在调试阶段。 这就是为什么任何有头脑的开放源代码的作者都会告诉你好的beta测试员(知道如何清楚描述出错症状,很好地定位错误,能忍受快速发布中的bug,并且愿意使用一些简单的诊断工具)象红宝石一样珍贵。 甚至他们中的一个能判断出哪个测试阶段是延长的,哪个是令人精疲力尽的噩梦,哪个只是一个有益的小麻烦。
    如果你是个新手,试着找一个你感兴趣的正在开发的程序,做一个好的beta测试员。你会自然地从帮着测试,进步到帮着抓臭虫,到最后帮着改程序。你会从中学到很多,并且与未来会帮你的人结下友谊。

    3. 公布有用的信息
    另一个好事是收集整理有用有趣的信息做成网页或文档如FAQ列表,且让他们容易获得。
    主要技术FAQ的维护者受到几乎同其他开放源代码的作者一样多的尊敬。

    4. 帮助维护基础设施的运转
    黑客文化(还有Internet的工程方面的发展,就此而言)是靠自愿者运转的。要使Internet能正常工作,就要有大量枯燥的工作不得不去完成——管理mail list,新闻组,维护大型软件库,开发RFC和其它技术标准等等。
    做这类事情的人会得到很多尊敬,因为每人都知道这些事情是十分花时间又不象编程那样好玩。做这些事情需要奉献精神。

    5. 为黑客文化本身服务
    最后,你可以为这个文化本身做宣传(例如,象我这样,写一个“如何成为黑客”的正面的教程 :-) )(译者:不知道Barret把它翻成中文算不算?)。这并非一定要在你已经在这个圈子呆了很久,因以上四点中的某点而出名,有一定声誉后才能去做。
    黑客文化没有领袖。精确地说,它确实有些文化英雄、部落长者、历史学家和发言人。若你在这圈内呆的够长,你或许成为其中之一。记住:黑客们不相信他们的部落长者的自夸的炫耀,因此大举追求这种名誉是危险的。与其奋力追求,不如先摆正自己的位置等它自己到你的手中——那时则要做到谦虚和优雅。

    --------------------------------------------------------------------------------
    黑客和书呆子(Nerd)的联系

    同流行的迷思相反,做一名黑客并不一定要你是个书呆子。但它确实有帮助,而且许多黑客事实上是书呆子。做一个深居简出的人有助于你集中精力进行十分重要的事情,如思考和编程。
    因此,很多黑客都愿意接受“书呆子”这个外号,更有甚者使用更尖刻的“geek(怪人)”一词并引以为豪—— 这是一种宣布他们独立于主流社会的声明方式。访问 The Geek Page 参加更多的讨论。
    如果你能集中足够的精力做好黑客工作同时还能有正常的生活,这很好。现在作到这一点比我在1970年代是新手的时候要容易的多;如今主流文化对技术怪人要友善的多。甚至有越来越多的人意识到黑客通常是很好的恋人和配偶的材料。
    如果你因为生活上不如意而迷上做黑客,那也没什么——至少你不会分神了。或许以后你会找到自己的另一半。

    --------------------------------------------------------------------------------
    风格的意义

    重申一下,作为一名黑客,你必须进入黑客精神之中。当你不在计算机边上时,你仍然有很多对黑客工作有帮助的事情可做。它们并不能替代真正的编程(没有什么能),但很多黑客都那么做,并感到它们与黑客的本质存在某些基本的连系。
    学会流畅地用母语写作。尽管程序员不能写好文章的错误看法相当普遍,但是有令人惊讶数目的黑客(包括所有我知道的最棒的)都是不错的作家。
    阅读科幻小说。参加科幻小说讨论会。(一个碰到黑客和未来会成为黑客的人的好方法)
    学禅,并且/或者练功习武。(精神修炼看来是惊人相似。)
    练就能分析音乐的听觉,学会鉴赏特别的音乐。学会玩某种乐器,或唱歌。
    提高对双关语、文字游戏的鉴赏能力。
    这些事情,你已经做的越多,你就越是天生做黑客的材料。至于为什么偏偏是这些事情,原因并不完全清楚,但它们都涉及用到左-右脑能力的综合,这似乎是关键所在(黑客们既需要清晰的逻辑思维,有时又需要偏离逻辑跳出问题的表象)。

    --------------------------------------------------------------------------------
    最后,还有一些不要去做的事情。

    不要使用愚蠢的,哗众取宠的ID或昵称。
    不要卷入Usenet(或其他地方的论坛)的骂战。
    不要自称为“cyberpunk(网络叛客)”,也不要浪费时间和那些人打交道。
    不要让你寄出的Email或张贴的帖子充满错误的拼写和乱七八糟的语法。
    做以上的事情,只会招来嘲笑。黑客们个个记忆超群—— 你将需要数年的时间让他们忘记你犯下的错误。
    网名的问题值得深思。将身份隐藏在虚假的名字后是骇客、解密者、d00dz 及其他低等生物幼稚愚蠢的行为特点。黑客不会做这些事;他们对他们所作的感到骄傲,而且乐于人们将作品与他们的 真名相联系。因此, 若你现在用假名,放弃它。在黑客文化里它会令你你失败的。

    --------------------------------------------------------------------------------
    其它资源

    Peter Seebach 维护着一个非常好的 Hacker FAQ,专给那些不懂如何与黑客打交道的经理看的。如果Peter的站点不能访问,下面这个 Excite搜索应该有一份拷贝。
    我也著有 黑客文化简史。
    我写了一份 大教堂与市集,对于Linux及开放源代码文化现象有详细的解释。我也在这个话题上进一步阐述导致的结局—— 开拓智域。
    Rick Moen写了一份很好的关于 如何运转一个Linux用户组的文档。
    我和Rick Moen合作完成了另一份关于 提问的智慧的文章,可以让你事半功倍的获得帮助。
    如果你想知道PC、UNIX及Internet基本概念和工作原理,参考 The Unix and Internet Fundamentals HOWTO。
    当你释放出一个软件或为其打补丁,试着按 软件发行惯例 HOWTO去做。(以上的提到的文章的中文版大多都可以在www.aka.org.cn和www.linuxforum.net找到。)

    --------------------------------------------------------------------------------
    FAQ(常问问题解答)

    问:你能教我做黑客吗?
    问:那么,我要如何开始?
    问:我得什么时候开始学?现在会不会太迟了?
    问:要学多久才能学会黑客道?
    问:Visual Basic及Delphi是好的入门语言吗?
    问:你能帮我“黑”掉一个站点吗?或者教我怎么黑它?
    问:我怎么样才能得到别人帐号的密码?
    问:我如何入侵/查看/监视别人的Email?
    问:我如何才能在IRC聊天室里偷到频道op的特权?
    问:我被黑了。你能帮我避免以后再被攻击吗?
    问:我的Windows软件出现问题了。你能帮我吗?
    问:我在哪里能找到可以与之交流的真正的黑客?
    问:你能推荐一些有关黑客的好书吗?
    问:成为一名黑客我需要擅长数学吗?
    问:我该从那种语言学起?
    问:我需要什么样的机器配置?
    问:我得因此憎恨和反对Microsoft吗?
    问:但开放源代码软件不会使程序员丢饭碗吗?
    问:我要如何开始?哪里有免费的Unix?
    问:你能教我做黑客吗?

    答:自从第一次发布这份文档,我每周都会收到一些请求,(频繁的话一天几封)要我“教会他们做黑客”。遗憾的是,我没有时间和精力来做这个;我自己的黑客项目,及我作为一个开放源代码倡导者的四处奔波已经占用了我110%的时间。
    即便我想教你,黑客也依然基本上是一项自行修炼的的态度和技术。当真正的黑客想帮助你的时候,如果你乞求他们一汤匙一汤匙“喂”你的话,你会发现他们不会尊重你。
    先去学一些东西。显示你在尝试,你能靠自己去学习。然后再去向你遇到的黑客请教特殊的问题。
    如果你发E-mail给一位黑客寻求他的帮助,这是两件首要记住的事情。第一,写出来的文字显得懒且粗心的人通常非常懒于思考且非常马大哈,不能成为好黑客—— 因此注意拼写正确,使用正确的语法及发音,否则你可能会无人理睬。第二,不要试图要求回复到一个ISP帐号,而那个帐号与你的发信地址不同。这样做的人一般是使用盗用帐号,不会有人有兴趣为虎作伥帮助窃贼的。

    问:那么,我要如何开始?

    答:对你而言最佳的入门方式也许是去参加LUG(Linux用户组)的聚会。你可以找到在 LDP的综合Linux信息页面上找到类似的组织;也许有一个在你家附近的,而且非常有可能与一所大学或学校挂钩。如果你提出要求,LUG成员兴许会给你一套Linux,当然此后会帮你安装并带你入门。

    问:我得什么时候开始学?现在会不会太迟了?

    答:你有动力学习的时候就是好时候。大多数人看来都是在15-20岁之间开始感兴趣的,但据我所知,在此年龄段之外的例外也是有的。

    问:要学多久才能学会黑客?

    答:这取决于你的聪明程度和努力程度。大多数人只要他们专注,就能在18个月到2年之间学会一套令人尊敬的技能。但是,不要以为就此结束了;如果你是一个真正的黑客,你要用你的余生来学习和完善你的技术。

    问:Visual Basic及Delphi是好的入门语言吗?

    答:不,因为他们不是可移植的。他们不是那些语言的开放源代码实现,所以你被限制在厂商选择支持的那些平台里。接受这样一种垄断局面不是黑客的态度。

    Visual Basic特别糟糕。它是Microsoft的私有语言这个事实就足够让它脸面全无,不像其他的Basic,它是一种设计糟糕的语言会教给你坏的编程习惯。

    其中一个坏习惯是会依赖于单一厂商的函数库、控件及开发工具。一般而言,任何不能够支持至少Linux或者一种BSD,或其他第三方操作系统的语言,都是一种不适合应付黑客工作的语言。

    问:你能帮我“黑”掉一个站点吗?或者教我怎么黑它?

    答:No。任何读完这份FAQ后还问这个问题的人,都是无可救药的蠢材,即使有时间指教我也不会理睬。任何发给我的此类E-mail都会被忽略或被痛骂一顿。

    问:我怎么样才能得到别人帐号的密码?

    答:这是骇客行为。滚得远远的,白痴。

    问:我如何入侵/查看/监视别人的Email?

    答:这是骇客行为。在我面前消失,混蛋。

    问:我如何才能在IRC聊天室里偷到频道op的特权?

    答:这是骇客行为。去S吧,冥顽不灵的家伙。

    问:我被黑了。你能帮我避免以后再被攻击吗?

    答:不行。目前为止,每次问我这个问题的,都是一些运行Microsoft Windows的菜鸟。不可能有效的保护Windows系统免受骇客攻击;太多缺陷的代码和架构使保护Windows的努力有如隔靴搔痒。唯一可靠的预防来自转移到Linux或其他设计得至少足够安全的系统。

    问:我的Windows软件出现问题了。你能帮我吗?

    答:当然。进入DOS方式,然后键入“format c:”。你遇到的任何问题将会在几分钟之内消失。

    问:我在哪里能找到可以与之交流的真正的黑客?

    答:最佳办法是在你附近找一个Unix或Linux的用户组,参加他们的聚会。(你可以在Metalab的LDP站点找到一些指向用户组的链接。)

    我过去曾说过不能在IRC上找到真正的黑客,但我发觉现在情况有所改变。显然一些真正的黑客的社区像GIMP及Perl,也有IRC频道了。)

    问:你能推荐一些有关黑客的好书吗?

    答:我维护着一份Linux Reading List HOWTO,也许你会觉得有用。 Loginataka也很有意思。

    关于Python的介绍,请访问在Python站点上的 入门资料。

    问:成为一名黑客我需要擅长数学吗?

    答:不用。黑客很少使用常规的数学或算术,不过你绝对需要能逻辑性地思考和进行精密的推理。

    尤其是你不会用到微积分或电路分析(我们把这些留给电子工程师们 :-))。 一些有限数学(包括布尔代数,集合论,组合数学,图论)的背景知识会有帮助。

    问:我该从那种语言学起?

    答:HTML——如果你还不懂的话。市面上有一大堆的封面精美,宣传得天花乱坠的 糟糕的 HTML书籍,不幸的是很少有好的。我最喜欢的是 HTML: The Definitive Guide。

    但 HTML 不完全是一种编程语言。当你准备开始编程时,我推荐从 Python起步。你会听到一大群人推荐 Perl,并且 Perl 依然比 Python 流行得多,但是难学得多且(以我之见)设计得不是很好。

    C 确实重要,但它要比 Python 或 Perl 难多了。不要尝试先学 C。

    Windows用户不要满足于 Visual Basic。它会教给你坏习惯,而且它不可以移植,只能在Windows下运行。避免它。

    问:我需要什么样的机器配置?

    答:过去个人电脑能力相当不够并且内存小,结果给黑客的学习过程设置了人为的障碍。不过一段时间以前开始就不是这样了;任何配置比一台 Intel 486DX50 好的机器都有足够的能力进行开发工作,X,及 Internet 通讯,同时你现在买的最小的磁盘都大得富足了。(依Barret之见,现在要至少Pentium 166MMX才够。)

    选择用来学习的机器时重要的一点是注意配件是否是Linux兼容的(或BSD兼容,如果你选择学 BSD)。同刚才提到的一样,大多数现在的机器都是符合的;唯一的值得注意的区域在于 modem和打印机;有些具备为Windows设计的配件的机器不会在Linux下工作。

    关于硬件兼容性有一个FAQ;最新版本在 这里。

    问:我得因此憎恨和反对Microsoft吗?

    答:不,你不必如此。不是因为Microsoft不令人讨厌,而是因为黑客文化早在 Microsoft出现之前就存在了,且将在Microsoft成为历史后依然存在。你耗费在憎恨Microsoft的任何力气不如花在爱你的技术上。写好的代码—— 那会相当有效地打击Microsoft又不会让你得到恶报应。

    问:但开放源代码软件不会使程序员丢饭碗吗?

    答:看起来不太可能——目前为止,开放源代码软件产业似乎创造了更多的就业机会而不是减少就业机会。如果写一个程序比起不写来是纯经济收益的话,那么在写完后,程序员应该得到报酬不管程序是否是开放源代码。并且,无论写出多么“免费自由”的软件,都存在更多对新的,定制的软件的需求。我有这方面更多的论述,放在开放源代码 网站资料中。

    问:我要如何开始?哪里有免费的Unix?

    答:在本份文档的某个地方我已经提到过何处可以得到最常用的免费Unix。要做一名黑客,你需要自立自强,以及自学能力。现在开始吧……


    Linux菜鸟,擅长重装Windows。

  • 我所理解的blog的意义(转载)

    初识blog,我觉得它象给我打开了一扇门
    无数的知识和资讯扑面而来
    阅读blog,我发现它是一张网
    联结了无数的个体思想
    自己建立了自己的blog,
    我终于明白,
    在这张网上联结的是一颗颗闪光的珍珠

    在网络中学习是我唯一的爱好
    网络给了我们一个极大的信息库。不但有众多的资讯和知识
    利用搜索引擎,你还可以发现一种即时性的学习方式
    现在我有了blog,我将不再是被动的接受知识
    我想我的学习将会更加主动和更富有创造性
    如果要说blog对个人的生活、学习、工作有什么影响
    blog究竟有什么意义
    我想就在于此:主动、个性、自由、开放、共享

    我的blog生活的目的很简单,就是
    1 知识的积累:坚持每天读一篇好文章,然后把它发到我的blog上
    2 思想的火花:坚持每天写一篇自己的文章,技术性的或是生活感言或是什么都好
    3 视野的延伸:阅读blog朋友的文章,并和他们交流

    这就是我所理解的blog的意义。

  • 当一个人打算忘记一件事的时候,也许无奈,也许不甘,因为已无力挽回什么。当一个人打算纪念点什么的时候,也许荣耀,也许感慨,因为那已成为自己所拥有的财富。对于感情,有人忘记,有人纪念,也许同样是逝去,同样是遗憾。

    可能真的像《东邪西毒》中的醉生梦死一般,越是想确定自己是否已经忘记,就越是清晰的记起。怀疑自己是不是一时冲动,怀疑自己是不是沉浸在伤痛的快感中,怀疑自己在潜意识中预感自己的理性思考对情感不起任何作用。一层又一层的否定,一层又一层的推断,当所有貌似客观的思考把自己剖析的很透彻时,那种情绪仍然执拗的生存在自己的大脑中——也许是脑干,支配着自身的行为。

    反过来,当你满怀感激的看着自己的来时路,准备留住每一个微笑和含泪的瞬间时,那段经历,往往将渐渐退色在发黄变脆的日记里。无论你怎样珍惜,它都将渐渐远去。
  • 动物是脆弱的,并且因科学技术的进展而变得更加脆弱,动物实验就说明了这一点。罗素说得好:“没有客观的理由认为人的利益比动物的利益更重要。我们能够毁灭动物,比动物毁灭我们容易得多,这就是我们声称我们优越的惟一可靠基础。我们珍视艺术、科学和文学,但鲸鱼也许珍视喷水,驴子认为优美的驴叫比巴哈的音乐更动听。我们不能证明它们是错的,除非我们运用专断的权力。”
  • [转贴]C++资源之不完全导引

    C++资源之不完全导引 (全文)


    撰文/ 曾毅 陶文

    最后更新:2004年6月12日


    声明:

    .本文2004年5月首发于《CSDN开发高手》,版权归该杂志与《程序员》杂志社所有。杂志限于篇幅部分内容有所删节,此处版本为相对完整版本。

    .本文为介绍性文章,会随笔者学习C++语言不断更新。

    前言

    无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程序设计语言之一”,人们常将“之一”去掉以表达自己对C++的敬畏。诚然,C++程序设计语言对于学习者的确有很多难以逾越的鸿沟,体系结构的庞大,应接不暇并不断扩充的特性……除此之外,参考资料之多与冗杂使它的学习者望而却步,欲求深入者苦不堪言。希望这一份不完全导引能够成为您C++学习之路上的引路灯。

    撰写本文的初衷并不打算带领大家体验古老的C++历史,如果你想了解C++的历史与其前期发展中诸多技术的演变,你应当去参考Bjarne的《The Design and Evolution of C++》。当然也不打算给大家一个无所不包的宝典(并非不想:其一是因水平有限,其二无奈C++之博大精深),所给出的仅仅是一些我们认为对于想学习C++的广大读者来说最重要并且触手可及的开发与学习资源。

    本文介绍并分析了一些编译器,开发环境,库,少量的书籍以及参考网站,并且尽可能尝试着给出一个利用这些资源的导引,望对如同我们一样的初学者能够有所裨益。

    编译器

    在C++之外的任何语言中,编译器都从来没有受到过如此之重视。因为C++是一门相当复杂的语言,所以编译器也难于构建。直到最近我们才开始能够使用上完全符合C++标准的编译器(哦,你可能会责怪那些编译器厂商不能尽早的提供符合标准的编译器,这只能怪他们各自维系着自身的一套别人不愿接受的标准)。什么?你说这无关紧要?哦,不,你所需要的是和标准化C++高度兼容的编译环境。长远来看,只有这样的编译器对C++开发人员来说才是最有意义的工具,尤其是对于程序设计语言的学习者。一至性让代码具备可移植性,并让一门语言及其库的应用更为广泛。嗯,是的,我们这里只打算介绍一些公认的优秀编译器。

    Borland C++

    这个是Borland C++ Builder和Borland C++ Builder X这两种开发环境的后台编译器。(哦,我之所以将之分为两种开发环境你应当能明白为什么,正如Delphi7到Delphi8的转变,是革命性的两代。)Borland C++由老牌开发工具厂商Borland倾力打造。该公司的编译器素以速度快,空间效率高著称,Borland C++ 系列编译器秉承了这个传统,属于非常优质的编译器。标准化方面早在5.5版本的编译器中对标准化C++的兼容就达到了92.73%。目前最新版本是Borland C++ Builder X中的6.0版本,官方称100%符合ANSI/ISO的C++标准以及C99标准。嗯…这正是我前面所指的“完全符合C++标准的编译器”。

    Visual C++

    这个正是我们熟知的Visual Studio 和 Visual Studio.net 2002, 2003以及2005 Whidbey中带的C++编译器。由Microsoft公司研制。在Visual Studio 6.0中,因为编译器有太多地方不能与后来出现的C++标准相吻合而饱受批评(想想你在使用STL的时候编译时报出的那些令人厌恶的error和warning吧)。VC++6.0对标准化C++的兼容只有83.43%。但是随着C++编译器设计大师Stanley Lippman以及诸多C++社群达人的加盟,在Visual Studio.NET 2003中,Visual C++编译器已经成为一个非常成熟可靠的C++编译器了。Dr.Dobb's Journal的评测显示Visual C++7.1对标准C++的兼容性高达98.22%,一度成为CBX之前兼容性最好的编译器。结合强大的Visual Studio.NET开发环境,是一个非常不错的选择。至于Whidbey时代的Visual C++,似乎微软所最关注的是C++/CLI……我们不想评论微软下一代的C++编译器对标准化兼容如何,但他确实越来越适合.NET (其实你和我的感觉可能是一样的,微软不应当把标准C++这块肥肉丢给Borland,然而微软可能并不这样认为)。



    GNU C++

    著名的开源C++编译器。是类Unix操作系统下编写C++程序的首选。特点是有非常好的移植性,你可以在非常广泛的平台上使用它,同时也是编写跨平台,嵌入式程序很好的选择。另外在符合标准这个方面一直都非常好,GCC3.3大概能够达到96.15%。但是由于其跨平台的特性,在代码尺寸速度等优化上略微差一点。

    基于GNU C++的编译器有很多,比如:

    l Mingw:http://www.mingw.org/

    GCC的一个Windows的移植版本(Dev-C++的后台)

    l Cygwin:http://sources.redhat.com/cygwin/

    GCC的另外一个Windows移植版本是Cygwin的一部分,Cygwin是Windows下的一个Unix仿真环境。严格的说是模拟GNU的环境,这也就是"Gnu's Not Unix"要表达的意思,噢,扯远了,这并不是我们在这里关心的实质内容。

    l Djgpp:http://www.delorie.com/djgpp/

    这是GCC的DOS移植版本。

    l RSXNT:http://www.mathematik.uni-bielefeld.de/~rainer/

    这是GCC的DOS和Windows移植版本。



    Intel C++

    著名CPU制造厂商Intel出品的编译器,Special Design for Intel x86!对于Intel x86结构的CPU经过特别的优化。在有些应用情况下,特别是数值计算等高性能应用,仅仅采用Intel的编译器编译就能大幅度的提高性能。



    Digital Mars C++

    网络上提供免费下载,Zortech/Symantec C++的继承者,其前身在当年惨烈的C++四国战中也是主角之一
    开发环境

    开发环境对于程序员的作用不言而喻。选择自己朝夕相处的环境也不是容易的事情,特别是在IDE如此丰富的情况下。下面就是我们推荐的一些常见的C++开发环境,并没有包括一些小型的,罕见的IDE。其中任何一款都是功能丰富,可以用作日常开发使用的。对于不同层面的开发者,请参见内文关于适用对象的描述。



    Visual Studio 6.0

    这个虽然是Microsoft公司的老版本的开发环境,但是鉴于其后继版本Visual Studio.NET的庞大身躯,以及初学者并不那么高的功能要求,所以推荐这个开发环境给C++的初学者,供其学习C++的最基本的部分,比如C的那部分子集,当然你别指望他能够支持最新的C99标准。在日常的开发中,仍然有很多公司使用这个经典稳定的环境,比如笔者就看曾亲见有些公司将其编译器替换为GCC做手机开发之用。



    Visual Studio.NET 2003

    作为Microsoft公司官方正式发布的最新版本开发环境,其中有太多激动人心的功能。结合其最新的C++编译器 。对于机器配置比较好的开发人员来说,使用这个开发环境将能满足其大部分的要求。这里不打算单独说Visual Studio Whidbey,虽然Visual Studio .NET 2005 - Whidbey社区预览版已经推出,但暂不是很稳定,读者可以亲身去体验。

    Borland C++ Builder 6

    这个并不是Borland的C++开发环境的最新版本。选择它的原因是它不是用Java写的IDE,速度比较快。它有一个很完善的GUI窗体设计器,和Delphi共用一个VCL。由于这些特点,比较适合初学者上手。但是由于其GUI的中心位置,可能不利于对于C++语言的学习。而且其为了支持VCL这个Object Pascal写的库也对C++进行了一些私有的扩充。使得人们有一个不得不接受的事实:“Borland C++ Builder 6的高手几乎都是Delphi高手”。



    Borland C++ Builder X

    正如前文所述,虽然版本号上和前面那个IDE非常相象,但是其实它们是完全不同的两个集成开发环境。C++Builder更多的是一个和Delphi同步的C++版本的开发环境,C++BuilderX则是完全从C++的角度思考得出的一个功能丰富的IDE。其最大的特点是跨平台,跨编译器,多种Framework的集成,并且有一个WxWindows为基础的GUI设计器。尤其是采用了纯C++来重写了整个Framework,摒弃了以前令人无奈的版本。对于C++的开发来说,从编译器,到库,到功能集成都是非常理想的。可以预见,Borland C++ Builder X 2.0很值得C++爱好者期待。唯一令人难堪之处是作为一个C++的开发工具,其IDE是用Java写的,在配置不够理想的机器上请慎重考虑再安装。



    Emacs + GCC

    前面讲的大部分是Windows环境下的集成开发环境。Linux上的开发者更倾向于使用Emacs来编辑C++的文件,用Makefile来命令GCC做编译。虽然看上去比较松散,但是这些东西综合起来还是一个开0发环境。如果你能够娴熟的使用这样的环境写程序,你的水平应该足够指导我们来写这篇陋文了。



    Dev C++

    GCC是一个很好的编译器。在Windows上的C++编译器一直和标准有着一段距离的时候,GCC就是一个让Windows下开发者流口水的编译器。Dev-C++就是能够让GCC跑在Windows下的工具,作为集成开发环境,还提供了同专业IDE相媲美的语法高亮,代码提示,调试等功能。由于使用Delphi开发,占用内存少,速度很快,比较适合轻量级的学习和使用。



    Eclipse + CDT

    Eclipse可是近来大名鼎鼎的开发工具。最新一期的Jolt大奖就颁给了这个杰出的神物。说其神奇是因为,它本身是用Java写的,但是拥有比一般Java写的程序快得多的速度。而且因为其基于插件组装一切的原则,使得能够有CDT这样的插件把Eclipse变成一个C/C++的开发环境。如果你一直用Eclipse写Java的程序,不妨用它体验一下C++开发的乐趣。
    工具

    C++的辅助工具繁多,我们分门别类的为大家作介绍:

    文档类

    Doxygen

    参考站点:http://www.doxygen.org

    Doxygen是一种适合C风格语言(如C++、C、IDL、Java甚至包括C#和PHP)的、开放源码的、基于命令行的文档产生器。

    C++2HTML

    参考站点:http://www.bedaux.net/cpp2html/

    把C++代码变成语法高亮的HTML

    CodeColorizer

    参考站点:http://www.chami.com/colorizer/

    它能把好几种语言的源代码着色为HTML

    Doc-O-Matic

    参考站点:http://www.doc- o-matic.com/

    Doc-O_Matic为你的C/C++,C++.net,Delphi/Pascal, VB.NET,C#和Java程序或者组件产生准确的文档。Doc-O-Matic使用源代码中的符号和注释以及外部的文档文件创建与流行的文档样式一致的文档。

    DocVizor

    参考站点:http://www.ucancode.net/Products/DocBuilder/Features.htm

    DocVizor满足了面向对象软件开发者的基本要求——它让我们能够看到C++工程中的类层次结构。DocVizor快速地产生完整可供打印的类层次结构图,包括从第三方库中来的那些类,除此之外DocVizor还能从类信息中产生HTML文件。

    SourcePublisher C++

    参考站点:http://www.scitools.com/sourcepublisher_c.html

    给源代码产生提供快速直观的HTML报表,包括代码,类层次结构,调用和被调用树,包含和被包含树。支持多种操作系统。

    Understand

    参考站点:http://www.scitools.com/ucpp.html

    分析任何规模的C或者C++工程,帮助我们更好的理解以及编写文档

    代码类

    CC-Rider

    参考站点:http://www.cc-rider.com

    CC-Rider是用于C/C++程序强大的代码可视化工具,通过交互式浏览、编辑及自动文件来促进程序的维持和发展。

    CodeInspect

    参考站点:http://www.yokasoft.com/

    一种新的C/C++代码分析工具。它检查我们的源代码找出非标准的,可能的,以及普通的错误代码。

    CodeWizard

    参考站点:http://www.parasoft.com

    先进的C/C++源代码分析工具,使用超过500个编码规范自动化地标明危险的,但是编译器不能检查到的代码结构。

    C++ Validation Test Suites

    参考站点:http://www.plumhall.com/suites.html

    一组用于测试编译器和库对于标准吻合程度的代码库。

    CppRefactory

    参考站点:http://cpptool.sourceforge.net/

    CPPRefactory是一个使得开发者能够重构他们的C++代码的程序。目的是使得C++代码的重构能够尽可能的有效率和简单。

    Lzz

    参考站点:http://www.lazycplusplus.com/

    Lzz是一个自动化许多C++编程中的体力活的工具。它能够节省我们许多事件并且使得编码更加有乐趣。给出一系列的声明,Lzz会给我们创建头文件和源文件。

    QA C++ Generation 2000

    参考站点:http://www.programmingresearch.com/solutions/qacpp.htm

    它关注面向对象的C++源代码,对有关于设计,效率,可靠性,可维护性的部分提出警告信息。

    s-mail project - Java to C++DOL

    参考站点:http://sadlocha.strefa.pl/s-mail/ja2dol.html

    把Java源代码翻译为相应的C++源代码的命令行工具。

    SNIP from Cleanscape Software International

    参考站点:http://www.cleanscape.net/stdprod/snip/index.html

    一个填平编码和设计之间沟壑的易于使用的C++开发工具,节省大量编辑和调试的事件,它还使得开发者能够指定设计模式作为 对象模型,自动从对象模型中产生C++的类。

    SourceStyler C++

    参考站点:http://www.ochresoftware.com/

    对C/C++源代码提供完整的格式化和排版控制的工具。提供多于75个的格式化选项以及完全支持ANSI C++。
    编译类

    Compilercache

    参考站点:http://www.erikyyy.de/compilercache/

    Compilercache是一个对你的C和C++编译器的封装脚本。每次我们进行编译,封装脚本,把编译的结果放入缓存,一旦编译相同的东西,结果将从缓存中取出而不是再次编译。

    Ccache

    参考站点:http://ccache.samba.org/

    Ccache是一个编译器缓存。它使用起来就像C/C++编译器的缓存预处理器,编译速度通常能提高普通编译过程的5~10倍。

    Cmm (C++ with MultiMethods)

    参考站点:http://www.op59.net/cmm/cmm-0.28/users.html

    这是一种C++语言的扩展。读入Cmm源代码输出C++的源代码,功能是对C++语言添加了对multimethod的支持。

    The Frost Project

    参考站点:http://frost.flewid.de/

    Forst使得你能够在C++程序中像原生的C++特性一样使用multimethod以及虚函数参数。它是一个编译器的外壳。
    测试和调试类

    CPPUnit

    CppUnit 是个基于 LGPL 的开源项目,最初版本移植自 JUnit,是一个非常优秀的开源测试框架。CppUnit 和 JUnit 一样主要思想来源于极限编程。主要功能就是对单元测试进行管理,并可进行自动化测试。

    C++Test

    参考站点:http://www.parasoft.com/

    C++ Test是一个单元测试工具,它自动化了C和C++类,函数或者组件的测试。

    Cantata++

    参考站点:http://www.iplbath.com/products/tools/pt400.shtml

    设计的目的是为了满足在合理的经济开销下使用这个工具可以让开发工程师开展单元测试和集成测试的需求.

    Purify

    参考站点:http://www-900.ibm.com/cn/softwa ... ifyplus/index.shtml

    IBM Rational PurifyPlus是一套完整的运行时分析工具,旨在提高应用程序的可靠性和性能。PurifyPlus将内存错误和泄漏检测、应用程序性能描述、代码覆盖分析等功能组合在一个单一、完整的工具包中。

    BoundsChecker

    BoundsChecker是一个C++运行时错误检测和调试工具。它通过在Visual Studio内自动化调试过程加速开发并且缩短上市的周期。BoundsChecker提供清楚,详细的程序错误分析,许多是对C++独有的并且在static,stack和heap内存中检测和诊断错误,以及发现内存和资源的泄漏。

    Insure++

    参考站点:http://www.parasoft.com/

    一个自动化的运行时程序测试工具,检查难以察觉的错误,如内存覆盖,内存泄漏,内存分配错误,变量初始化错误,变量定义冲突,指针错误,库错误,逻辑错误和算法错误等。

    GlowCode

    参考站点:http://www.glowcode.com/

    GlowCode包括内存泄漏检查,code profiler,函数调用跟踪等功能。给C++开发者提供完整的错误诊断,和运行时性能分析工具包。

    Stack Spy

    参考站点:http://www.imperioustech .com/

    它能捕捉stack corruption, stack over run, stack overflow等有关栈的错误


    在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。

    标准库

    标准库中提供了C++程序的基本设施。虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被实践证明为有工业级别强度的佳作。

    1、 Dinkumware C++ Library

    参考站点:http://www.dinkumware.com/

    P.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C++的产品中采用Dinkumware的库。

    2、 RogueWave Standard C++ Library

    参考站点:http://www.roguewave.com/

    这个库在Borland C++ Builder的早期版本中曾经被采用,后来被其他的库给替换了。笔者不推荐使用。

    3、SGI STL

    参考站点:http://www.roguewave.com/

    SGI公司的C++标准模版库。

    4、STLport

    参考站点:http://www.stlport.org/

    SGI STL库的跨平台可移植版本。
    准标准库——Boost

    Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。

    Boost中比较有名气的有这么几个库:

    Regex
    正则表达式库

    Spirit
    LL parser framework,用C++代码直接表达EBNF

    Graph
    图组件和算法

    Lambda
    在调用的地方定义短小匿名的函数对象,很实用的functional功能

    concept check
    检查泛型编程中的concept

    Mpl
    用模板实现的元编程框架

    Thread
    可移植的C++多线程库

    Python
    把C++类和函数映射到Python之中

    Pool
    内存池管理

    smart_ptr
    5个智能指针,学习智能指针必读,一份不错的参考是来自CUJ的文章:

    Smart Pointers in Boost,哦,这篇文章可以查到,CUJ是提供在线浏览的。中文版见笔者在《Dr. Dobb's Journal软件研发杂志》第7辑上的译文。


    Boost总体来说是实用价值很高,质量很高的库。并且由于其对跨平台的强调,对标准C++的强调,是编写平台无关,现代C++的开发者必备的工具。但是Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。并且很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码中多多利用。

    参考站点:http://www.boost.org(国内镜像:http://www.c- view.org/tech/lib/boost/index.htm
    GUI

    在众多C++的库中,GUI部分的库算是比较繁荣,也比较引人注目的。在实际开发中,GUI库的选择也是非常重要的一件事情,下面我们综述一下可选择的GUI库,各自的特点以及相关工具的支持。

    1、 MFC

    大名鼎鼎的微软基础类库(Microsoft Foundation Class)。大凡学过VC++的人都应该知道这个库。虽然从技术角度讲,MFC是不大漂亮的,但是它构建于Windows API 之上,能够使程序员的工作更容易,编程效率高,减少了大量在建立 Windows 程序时必须编写的代码,同时它还提供了所有一般 C++ 编程的优点,例如继承和封装。MFC 编写的程序在各个版本的Windows操作系统上是可移植的,例如,在 Windows 3.1下编写的代码可以很容易地移植到 Windows NT 或 Windows 95 上。但是在最近发展以及官方支持上日渐势微。



    2、 QT

    参考网站:http://www.trolltech.com/

    Qt是Trolltech公司的一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE 的基础,同时它还支持Windows、Macintosh、Unix/X11等多种平台。



    3、WxWindows

    参考网站:http://www.wxwindows.org/

    跨平台的GUI库。因为其类层次极像MFC,所以有文章介绍从MFC到WxWindows的代码移植以实现跨平台的功能。通过多年的开发也是一个日趋完善的GUI库,支持同样不弱于前面两个库。并且是完全开放源代码的。新近的C++ Builder X的GUI设计器就是基于这个库的。

    4、Fox

    开放源代码的GUI库。作者从自己亲身的开发经验中得出了一个理想的GUI库应该是什么样子的感受出发,从而开始了对这个库的开发。有兴趣的可以尝试一下。

    参考网站:http://www.fox-toolkit.org/

    5、 WTL

    基于ATL的一个库。因为使用了大量ATL的轻量级手法,模板等技术,在代码尺寸,以及速度优化方面做得非常到位。主要面向的使用群体是开发COM轻量级供网络下载的可视化控件的开发者。

    6、 GTK

    参考网站:http://gtkmm.sourceforge.net/

    GTK是一个大名鼎鼎的C的开源GUI库。在Linux世界中有Gnome这样的杀手应用。而GTK就是这个库的C++封装版本。

    网络通信

    ACE

    参考网站:http://www.cs.wustl.edu/~schmidt/ACE.html

    C++库的代表,超重量级的网络通信开发框架。ACE自适配通信环境(Adaptive Communication Environment)是可以自由使用、开放源代码的面向对象框架,在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++包装外观(Wrapper Facade)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等等。

    StreamModule

    参考网站:http://www.omnifarious.org/StrMod/

    设计用于简化编写分布式程序的库。尝试着使得编写处理异步行为的程序更容易,而不是用同步的外壳包起异步的本质。

    SimpleSocket

    参考网站:http://home.hetnet.nl/~lcbokkers/simsock.htm

    这个类库让编写基于socket的客户/服务器程序更加容易。

    A Stream Socket API for C++

    参考网站:http://www.pcs.cnu.edu/~dgame/sockets/socketsC++/sockets.html

    又一个对Socket的封装库。

    XML

    Xerces

    参考网站:http://xml.apache.org/xerces-c/

    Xerces-C++ 是一个非常健壮的XML解析器,它提供了验证,以及SAX和DOM API。XML验证在文档类型定义(Document Type Definition,DTD)方面有很好的支持,并且在2001年12月增加了支持W3C XML Schema 的基本完整的开放标准。

    XMLBooster

    参考网站:http://www.xmlbooster.com/

    这个库通过产生特制的parser的办法极大的提高了XML解析的速度,并且能够产生相应的GUI程序来修改这个parser。在DOM和SAX两大主流XML解析办法之外提供了另外一个可行的解决方案。

    Pull Parser

    参考网站:http://www.extreme.indiana.edu/xgws/xsoap/xpp/

    这个库采用pull方法的parser。在每个SAX的parser底层都有一个pull的parser,这个xpp把这层暴露出来直接给大家使用。在要充分考虑速度的时候值得尝试。

    Xalan

    参考网站:http://xml.apache.org/xalan-c/

    Xalan是一个用于把XML文档转换为HTML,纯文本或者其他XML类型文档的XSLT处理器。

    CMarkup

    参考网站:http://www.firstobject.com/xml.htm

    这是一种使用EDOM的XML解析器。在很多思路上面非常灵活实用。值得大家在DOM和SAX之外寻求一点灵感。

    libxml++

    http://libxmlplusplus.sourceforge.net/

    libxml++是对著名的libxml XML解析器的C++封装版本
    科学计算

    Blitz++

    参考网站:http://www.oonumerics.org/blitz/

    Blitz++ 是一个高效率的数值计算函数库,它的设计目的是希望建立一套既具像C++ 一样方便,同时又比Fortran速度更快的数值计算环境。通常,用C++所写出的数值程序,比 Fortran慢20%左右,因此Blitz++正是要改掉这个缺点。方法是利用C++的template技术,程序执行甚至可以比Fortran更快。Blitz++目前仍在发展中,对于常见的SVD,FFTs,QMRES等常见的线性代数方法并不提供,不过使用者可以很容易地利用Blitz++所提供的函数来构建。

    POOMA

    参考网站:http://www.codesourcery.com/pooma/pooma

    POOMA是一个免费的高性能的C++库,用于处理并行式科学计算。POOMA的面向对象设计方便了快速的程序开发,对并行机器进行了优化以达到最高的效率,方便在工业和研究环境中使用。

    MTL

    参考网站:http://www.osl.iu.edu/research/mtl/

    Matrix Template Library(MTL)是一个高性能的泛型组件库,提供了各种格式矩阵的大量线性代数方面的功能。在某些应用使用高性能编译器的情况下,比如Intel的编译器,从产生的汇编代码可 以看出其与手写几乎没有两样的效能。

    CGAL

    参考网站:www.cgal.org

    Computational Geometry Algorithms Library的目的是把在计算几何方面的大部分重要的解决方案和方法以C++库的形式提供给工业和学术界的用户。

    游戏开发

    Audio/Video 3D C++ Programming Library

    参考网站:http://www.galacticasoftware.com/products/av/

    AV3D是一个跨平台,高性能的C++库。主要的特性是提供3D图形,声效支持(SB,以及S3M),控制接口(键盘,鼠标和遥感),XMS。

    KlayGE

    参考网站:http://home.g365.net/enginedev/

    国内游戏开发高手自己用C++开发的游戏引擎。KlayGE是一个开放源代码、跨平台的游戏引擎,并使用Python作脚本语言。KlayGE在LGPL协议下发行。感谢龚敏敏先生为中国游戏开发事业所做出的贡献。

    OGRE

    参考网站:http://www.ogre3d.org

    OGRE(面向对象的图形渲染引擎)是用C++开发的,使用灵活的面向对象3D引擎。它的目的是让开发者能更方便和直接地开发基于3D硬件设备的应用程序或游戏。引擎中的类库对更底层的系统库(如:Direct3D和OpenGL)的全部使用细节进行了抽象,并提供了基于现实世界对象的接口和其它类。

    线程

    C++ Threads

    参考网站:http://threads.sourceforge.net/

    这个库的目标是给程序员提供易于使用的类,这些类被继承以提供在Linux环境中很难看到的大量的线程方面的功能。

    ZThreads

    参考网站:http://zthread.sourceforge.net/

    一个先进的面向对象,跨平台的C++线程和同步库。
    序列化

    s11n

    参考网站:http://s11n.net/

    一个基于STL的C++库,用于序列化POD,STL容器以及用户定义的类型。

    Simple XML Persistence Library

    参考网站:http://sxp.sourceforge.net/

    这是一个把对象序列化为XML的轻量级的C++库。
    字符串

    C++ Str Library

    参考网站:http://www.utilitycode.com/str/

    操作字符串和字符的库,支持Windows和支持gcc的多种平台。提供高度优化的代码,并且支持多线程环境和Unicode,同时还有正则表达式的支持。

    Common Text Transformation Library

    参考网站:http://cttl.sourceforge.net/

    这是一个解析和修改STL字符串的库。CTTL substring类可以用来比较,插入,替换以及用EBNF的语法进行解析。

    GRETA

    参考网站:http://research.microsoft.com/projects/greta/

    这是由微软研究院的研究人员开发的处理正则表达式的库。在小型匹配的情况下有非常优秀的表现。
    综合

    P::Classes

    参考网站:http://pclasses.com/

    一个高度可移植的C++应用程序框架。当前关注类型和线程安全的signal/slot机制,i/o系统包括基于插件的网络协议透明的i/o架构,基于插件的应用程序消息日志框架,访问sql数据库的类等等。

    ACDK - Artefaktur Component Development Kit

    参考网站:http://acdk.sourceforge.net/

    这是一个平台无关的C++组件框架,类似于Java或者.NET中的框架(反射机制,线程,Unicode,废料收集,I/O,网络,实用工具,XML,等等),以及对Java, Perl, Python, TCL, Lisp, COM 和 CORBA的集成。