相信很多的黑客朋友当进入一台远程电脑的时候最想得到的就是密码文件,然后自己破解一下就是这台电脑的系统管理员了,嘿嘿!可是密码文件在哪呢?听小编给你说一说!

  AIX 3 /etc/security/passwd !

  or /tcb/auth/files/

  of username>/

  A/UX 3.0s /tcb/files/auth/?/*

  BSD4.3-Reno /etc/master.passwd *

  ConvexOS 10 /etc/shadpw *

  ConvexOS 11 /etc/shadow *

  DG/UX /etc/tcb/aa/user/ *

  EP/IX /etc/shadow x

  HP-UX /.secure/etc/passwd *

  IRIX 5 /etc/shadow x

  Linux 1.1 /etc/shadow *

  OSF/1 /etc/passwd[.dir .pag] *

  SCO Unix #.2.x /tcb/auth/files/

  of username>/

  SunOS4.1+c2 /etc/security/passwd.adjunct ##username

  SunOS 5.0 /etc/shadow

  System V Release 4.0 /etc/shadow x

  System V Release 4.2 /etc/security/* database

  Ultrix 4 /etc/auth[.dir .pag] *

  UNICOS /etc/udb *

  与好友在网络上相互传输资料时,有时先要知道对方计算机的IP地址,才能与对方建立信息传输通道。

  那么对方的IP地址该如何搜查得到呢?这样的问题你也许会嗤之以鼻,的确,查询对方计算机的IP地址,实在简单得不值得一提;可是,要让你列举出多种IP地址搜查方法时,你可能就感到勉为其难了。下面,本文就对如何快速、准确地搜查出对方好友的计算机IP地址,提出如下几种方法,相信能对大家有所帮助!

  1、邮件查询法

  使用这种方法查询对方计算机的IP地址时,首先要求对方先给你发一封电子邮件,然后你可以通过查看该邮件属性的方法,来获得邮件发送者所在计算机的IP地址;下面就是该方法的具体实施步骤:

  首先运行OutLook express程序,并单击工具栏中的“接受全部邮件”按钮,将朋友发送的邮件接受下来,再打开收件箱页面,找到朋友发送过来的邮件,并用鼠标右键单击之,从弹出的右键菜单中,执行“属性”命令;

  在其后打开的属性设置窗口中,单击“详细资料”标签,并在打开的标签页面中,你将看到“Received: from xiecaiwen (unknown [11.111.45.25])”这样的信息,其中的“11.111.45.25”就是对方好友的IP地址;当然,要是对方好友通过Internet中的WEB信箱给你发送电子邮件的话,那么你在这里看到的IP地址其实并不是他所在工作站的真实IP地址,而是WEB信箱所在网站的IP地址。

  当然,如果你使用的是其他邮件客户端程序的话,查看发件人IP地址的方法可能与上面不一样;例如要是你使用foxmail来接受好友邮件的话,那么你可以在收件箱中,选中目标邮件,再单击菜单栏中的“邮件”选项,从弹出的下拉菜单中选中“原始信息”命令,就能在其后的界面中看到对方好友的IP地址了。

  2、日志查询法

  这种方法是通过防火墙来对QQ聊天记录进行实时监控,然后打开防火墙的日志记录,找到对方好友的IP地址。为方便叙述,本文就以KV2004防火墙为例,来向大家介绍一下如何搜查对方好友的IP地址:

  考虑到与好友进行QQ聊天是通过UDP协议进行的,因此你首先要设置好KV防火墙,让其自动监控UDP端口,一旦发现有数据从UDP端口进入的话,就将它自动记录下来。在设置KV2004防火墙时,先单击防火墙界面中的“规则设置”按钮,然后单击“新建规则”按钮,弹出设置窗口;

  在该窗口的“名称”文本框中输入“搜查IP地址”,在“说明”文本框中也输入“搜查IP地址”;再在“网络条件”设置项处,选中“接受数据包”复选框,同时将“对方IP地址”设置为“任何地址”,而在“本地IP地址”设置项处不需要进行任何设置;

  下面再单击“UDP”标签,并在该标签页面下的“本地端口”设置项处,选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入“65535”;同样地,在“对方端口”设置项处,也选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入“65535”。

  接着在“当所有条件满足时”设置项处,选中“通行”选项,同时将“其他处理”处的“记录”选项选中,而“规则对象”设置项不需要进行任何设置;完成了上面的所有设置后,单击“确定”按钮,返回到防火墙的主界面;再在主界面中选中刚刚创建好的“搜查IP地址”规则,同时单击“保存”按钮,将前面的设置保存下来。

  完成好上面的设置后,KV防火墙将自动对QQ聊天记录进行全程监控,一旦对方好友给你发来QQ信息时,那么对方好友的IP地址信息就会自动出现在防火墙的日志文件中,此时你可以进入到KV防火墙的安装目录中,找到并打开“kvfwlog”文件,就能搜查到对方好友的IP地址。

    3、工具查询法

  这种方法是通过专业的IP地址查询工具,来快速搜查到对方计算机的IP地址。例如,借助一款名为WhereIsIP的搜查工具,你可以轻松根据对方好友的Web网站地址,搜查得到对方好友的IP地址,甚至还能搜查到对方好友所在的物理位置。在用WhereIsIP程序搜查对方IP地址时,首先启动该程序打开搜查界面,然后单击该界面的“Web site”按钮,在其后的窗口中输入对方好友的Web地址,再单击“next”按钮,这样该程序就能自动与Internet中的Domain Name Whois数据库联系,然后从该数据库中搜查到与该Web网站地址对应的IP地址了。当然,除了可以知道IP地址外,你还能知道对方好友所在的具体物理位置。

  倘若要想查看局域网中某个工作站的IP地址时,可以使用“网络刺客II”之类的工具来帮忙;只要你运行该工具进入到它的主界面,然后执行工具栏中的“IP地址<->主机名”命令,在其后打开的对话框中,输入对方好友的计算机名称,再单击“转换成IP”按钮,就能获得对方好友所在计算机的IP地址了。

  如果你使用Oicqsniffer工具的话,那么查询QQ好友的IP地址就更简单了。只要你单击该程序界面中的“追踪”按钮,然后向对方好友发送一条QQ消息,那么Oicqsniffer工具就会自动将对方好友的IP地址以及端口号显示出来了。除此之外,还有许多可以查找IP地址的专业工具可以选择,例如IPsniper软件。

  4、命令查询法

  这种方法是通过Windows系统内置的网络命令“netstat”,来查出对方好友的IP地址,不过该方法需要你先想办法将对方好友邀请到QQ的“二人世界”中说上几句话才可以。下面就是该方法的具体实现步骤:

  首先单击“开始”/“运行”命令,在弹出的系统运行对话框中,输入“cmd”命令,单击“确定”按钮后,将屏幕切换到MS-DOS工作状态;然后在DOS命令行中执行“netstat -n”命令,在弹出的界面中,你就能看到当前究竟有哪些地址已经和你的计算机建立了连接(如果对应某个连接的状态为“Established”,就表明你的计算机和对方计算机之间的连接是成功的);

  其次打开QQ程序,邀请对方好友加入“二人世界”,并在其中与朋友聊上几句,这样你的计算机就会与对方好友的计算机之间建立好了TCP连接;此时,再在DOS命令行中执行“netstat -n”命令,看看现在又增加了哪个tcp连接,那个新增加的连接其实就是对方好友与你之间的UDP连接,查看对应连接中的“Foreign Address”就能知道对方好友的IP地址了。

  5、ping检查法

  这种方法就是利用“ping”命令,来检查当前计算机是否能与对方好友的网站连通,在检查的过程中该地址能自动获得对方网站的IP地址。比方说,要是你想搜查天极网站的IP地址时,可以先打开系统的运行对话框,然后在其中输入“ping www.pconline.com.cn”字符串命令,再单击“确定”按钮,在弹出的窗口中,就能知道网站的IP地址了。同样地,你也可以搜查其他网站的IP地址。

  好了,上面就是查询好友计算机IP地址的几种常用方法;要是你还有其他更好方法的话,恳请不断补充完善!

    在Linux下如何使用vsftpd构建FTP服务器,构建后的FTP服务器有哪些特点?本文将作详细介绍。

    vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

    本文以RedHat Linux 9.0为例介绍一下如何安装和配置vsftpd服务器。

    安装服务器程序

    程序下载地址:ftp://vsftpd.beasts.org/users/cevans/,目前最新版本为2.0.3,源程序文件名为vsftpd-2.0.3.tar.gz。

    1.安装之前的准备:

    安装之前我们应该看看用户“nobody”和目录“/usr/share/empty”是否存在,如果不存在需要新建这个用户和目录。

  [root@localhost root]# useradd nobody

  [root@localhost root]# mkdir /usr/share/empty

    如果要允许匿名访问,还需要创建ftp用户,并将其主目录设置为/var/ftp。在RedHat Linux 9.0中这些都已默认设置好了,只需要创建一个/var/ftp目录即可。

    [root@localhost root]# mkdir /var/ftp

    为了安全,目录“/var/ftp”不应该属于用户“ftp”,也不应该有写权限。在此,我们做如下设置:

    [root@localhost root]# chown root.root /var/ftp

    [root@localhost root]# chmod 755 /var/ftp

    2.开始安装:

    以管理员身份登录Linux系统,将vsftpd-2.0.3.tar.gz复制到/root目录下。

    [root@localhost root]# tar xzvf vsftpd-2.0.3.tar.gz

    [root@localhost root]# cd vsftpd-2.0.3

    [root@localhost vsftpd-2.0.3]# make

    [root@localhost vsftpd-2.0.3]# make install

    3.安装后续工作

    由于采用源代码方式安装,很多必要的配置文件没有复制到系统中,需要手动复制。

    复制配置文件:

    [root@localhost vsftpd-2.0.3]# cp vsftpd.conf /etc
    复制pam验证文件:(多数使用vsftpd的用户在用源代码安装后都会遇到这样的问题:匿名用户可以登录,而本地用户无论怎样设置都无法登录,原因就在于vsftpd采用了PAM验证的方式,需要复制一个验证文件本地用户才能访问。)

    [root@localhost vsftpd-2.0.3]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
vsftpd的配置

    vsftpd服务器的配置文件为/etc/vsftpd.conf,其配置选项比较多,在此我只选择几个常用的配置选项介绍。

    1.禁止匿名用户访问。

    anonymous_enable=NO

    2.允许本地用户登录并允许其上传文件。

    local_enable=YES

    write_enable=YES

    要使上述选项生效,必须复制一个pam验证文件到/etc/pam.d,并改名为ftp。当然也可以改为其他名称,但必须修改pam_service_name的值,默认为ftp。

    3.将本地用户锁定在主目录中,不允许切换到上一级目录中。

    chroot_local_user=YES

    4.禁止某些用户通过ftp登录服务器。

  如果设置了local_enable=YES,那么所有的用户包括root也能通过ftp登录服务器,出于安全考虑,需要对某些用户进行限制。

    在vsftpd.conf中有三个选项控制:

    userlist_deny=YES/NO

    userlist_enalbe=YES

    userlist_file=/etc/vsftpd.user_list

    如果userlist_deny=YES,/etc/vsftpd.user_list中列出的用户名就不允许登录ftp服务器;如果userlist_deny=NO,/etc/vsftpd.user_list中列出的用户名允许登录ftp服务器。

    我们只要在/etc目录下创建vsftpd.user_list文件,文件内容为允许登录或禁止登录的用户名,每个用户占一行。

    5.禁止用户通过FTP修改文件或文件夹的权限。

    chmod_enable=NO(默认值为YES)

    6.设置本地用户上传的文件或文件夹的umask值。

    local_umask=022(默认值为077)

    umask的值设为022表示,上传的如果是文件将权限改为644,如果是文件夹将权限改为755。在上传网页时,如果设置为077,就会出现用户没有权限(Permission denied)访问网页的问题,所以建议将umask的值设为022。

    7.添加一个只能从ftp登录服务器,而不能从本地登录的用户。以下创建一个用户ftpuser,不允许从本地登录,并创建该用户的密码。

    [root@localhost root]# useradd –g ftp –s /sbin/nologin ftpuser

    [root@localhost root]# passwd ftpuser

    Changing password for user ftpuser.

    New password:

    Retype new password:

    passwd: all authentication tokens updated successfully.

    8.让vsftp服务器限制总的连接数以及每个IP最大的连接数。

    #最多同时允许100个客户连接

  max_clients=100

    #每个ip地址最多允许开3个线程

  max_per_ip=3

  vsftpd的配置文件中有很多选项,但个人认为,如果是架设一个简单的ftp服务器,以上选项就足够了。

  一、安装PHP4

  我们需要安装的是win32版本,下载当然也是win32版本 php4.3.0-win32.zip 

  1.下载后,解压到c:php目录下。 

  2. 把c:php目录下的php4ts.dll php4ts.lib文件都拷贝到c:winntsystem32目录下(即window 2000系统目录下的system32目录)。 

  3. 修改php.ini文件 重启完后,把c:php目录下的php.ini-dist文件改名为php.ini 用记事本或其它可编辑文本的软件把它打开。 

  3.1找到register_globals = Off 改为register_globals = On这一步是为了使部分旧的PHP程序能正常运行; 

  3.2找到 extension_dir = ./ 把它改为extension_dir = c:phpextensions刚刚的修改是指定php4扩展dll文件存放的路径 由于php4默认所带的php.ini-dist中,是关掉了所以的扩展dll的功能( Windows Extensions)

  ;extension=php_bz2.dll

  ;extension=php_cpdf.dll

  ;extension=php_crack.dll

  ;extension=php_curl.dll …..

  要做的就是把extension前面的分号去掉就行了,当然这样是不够的。因为有些extension在我们的系统是不能使用的,比如系统中没有安装 sql server的话,那么extension=php_mssql.dll就要用;(分号)把它注释掉;

  其中,PHP4带了两个GD扩展,请选用一个,另一个先用分号注释掉,以免出现函数无法注册的错误;

  如下面

  extension=php_gd.dll

  ;extension=php_gd2.dll 

  3.3 找到session.save_path,把这一项改为 session.save_path = c: mp并在C盘建立一个TMP目录

  3.4把所有的extension=php_xxxx.dll前面的分号都去掉后。记得要保存刚刚的修改 并把php.ini文件放置在c:winnt目录下。

  二、安装MySql

  安装MySql 当然,我在MySql.com 下载的MySql是一个压缩包,要先解压出来;再点setup.exe安装;

  按默认安装,即安装在c:MySql下,安装完后,按“开始”菜单中的“运行”打进cmd进入dos窗口,进到c:MySqlin 目录;

  运行mysqld-nt –install (将会出现一个Dos窗口,随即自动关闭!如果没有出任何信息,即安装到service成功!)

  从“开始”菜单“程序”=》“管理工具”=》“服务”,打开后,将会找到MySql,点击mouse右键 选择启动 回到刚刚的Dos窗口

  即c:MySqlin目录下 运行mysqladmin -u root password 123 即把root用户的密码设置为123 这一步,如果没有出错,说明初始化root密码成功;

  当然从本机进入MySql是不需要用户名和密码,但用php 程序或是其它程序连接MySql时就要用到;

  测试进入 第一种方法:直接动行MySql进入MySql 的dos管理状态;

  第二种方法:运行MySql -uroot -p MySql将会提示让您输入密码,密码当然就是刚刚设置的123(当然,得按设置的密码喽,不一定得设置是123)

  出现: C:MySqlin>MySql -uroot -p Enter password: ********** Welcome to the MySql monitor. Commands end with ; or g. Your MySQL connection id is 4 to server version: 3.27.44-nt Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the buffer. mysql>

  即安装MySql成功。

  三、安装Apache 1.3.x 及 PHP运行设置

  1.首先下载Apache,Apache软件一般叫作apache_1_3_x.win32.exe。运行它。它会问你将Apache安装到什么地方,为他系统安全及操作容易,我们不要使用默认路径,你可以设为c:Apache或C:,因为马上你就要修改它的配置文件。

  如果安装没出什么错的话,Apache就可以用了。有很多readme文件可供参考,但仅有一个文件是讲Win32平台的,包括Window 9x和Windows NT。

  有两种方式使 PHP 工作于 Windows 下的 Apache 1.3.x。一种是 CGI 方式(php.exe),另一种是使用 Apache 模块 DLL。不管哪种方式都需要停止 Apache,编辑 httpd.conf 来配置 Apache 以加入PHP支持。

  值得在这里指出现在 Windows 下的 SAPI 模块更加稳定了,我们推荐使用模块方式,因为更加透明和安全。

  尽管有几种不同方法在 Apache 下配置 PHP,但是对新手来说还是非常简单易用的。有关更多的 httpd.conf 配置指令请参考 Apache 文档。

  如果你按照手工安装步骤一节中的说明把 PHP 解压缩到了 c:php 目录下,那么需要加入以下三行到 Apache 配置文件中以 CGI 方式安装:

  ScriptAlias /php/ "c:/php/"

  AddType application/x-httpd-php .php .phtml

  Action application/x-httpd-php "/php/php.exe"

  注意上面的第二行在原来的 httpd.conf 中就有的,不过被注释了。还有记住用你自己放置 PHP 的路径替换 c:/php/。

  警告

  在 CGI 方式下,你的服务器可能会受到几种攻击的影响。请学习如何防止攻击。

  如果你想在 Apache 中用模块方式使用 PHP,确认把 php4ts.dll 拷贝到 windows/system(Windows 9x/Me)或者 winnt/system32(Windows NT/2000)或者 windows/system32(Windows XP)目录下,覆盖原来的文件。然后在 Apache 配置文件 httpd.conf 中加入以下两行:

  用自己喜爱的编辑器打开 httpd.conf,找到 LoadModule 指令的部分,在其列表的最后部分加上如下一行,

  对 PHP 4:

  LoadModule php4_module c:/php/sapi/php4apache.dll

  对 PHP 5:

  LoadModule php5_module "c:/php/sapi/php5apache.dll"

  你可能发现在用 Windows Installer 安装了 Apache 之后需要为用 AddModule 指令定义 mod_php4.c。尤其是在定义了 ClearModuleList 指令时格外重要,向下滚动几行可以找到该指令。你将会看到 AddModule 项目的列表,在列表的最后加上这一行:

  AddModule mod_php4.c

  对于 PHP 5 则为:

  AddModule mod_php5.c

  搜索类似 # AddType allows you to tweak mime.types 的短语,你会找到一些 AddType 的项目,并且在列表的最后有这一行: AddType application/x-httpd-php .php。你可以在这里选择任何想用 PHP 解析的后缀。.php 只是所建议的一个。甚至可以包括 .html,也可以加上 .php3 来向下兼容。

  修改了配置文件之后记住重新启动 Apache,例如如果你的 Apache 是作为 Windows 的服务安装的,NET STOP APACHE 后面接上 NET START APACHE。或者用你通常使用的快捷方式。

  有两种方式使用源程序语法彩色显示特色,但是取决于你的安装方法。如果你配置了 Apache 的 SAPI 模块方式使用 PHP,那么在 httpd.conf 中(和插入 AddType application/x-httpd-php .php 是同一个位置)加入下面一行就可以使用本特色:AddType application/x-httpd-php-source .phps。

  如果你用 CGI 方式使用 PHP,那你需要用 show_source() 函数。建立一个 PHP 文件,加入以下代码:。用你想要显示源代码的文件名替换掉 original_php_script.php。

  注: 在 Windows-Apache 组合中,所有路径中的反斜线例如 "c:directoryfile.ext" 都必须转换成斜线,如 "c:/directory/file.ext"。

  四、实现Apache虚拟主机的两种方案

  简介:这里说的虚拟主机是指在一台机器上仅运行一个httpd后台程序 支持多个Apache服务器,如在公司财务部门有一台web服务器,名为 account.yourdomain.com,同时又想为sales部门建立网站,网站内容也 放在该机器上,通过sales.yourdomain.com访问,这就要用到虚拟主机设置。

  设置Apache虚拟主机通常有两种方案

  1.基于IP的虚拟主机

  这种方式需要在机器上设置IP别名,象上面的例子,在一台机器的 网卡上绑定多个IP地址去服务多个虚拟主机。 若该机器的IP地址为192.168.0.1(account.yourdomain.com),首先 你要设置IP别名(假设用192.168.0.2作为其别名IP)。加下面的行到 /etc/rc.d/rc.local,确保每次启动后自动运行。

  #/sbin/ifconfig eth0:0 192.168.0.2 netmask 255.255.255.0 broadcast

  192.168.0.255 up

  #/sbin/route add -host 192.168.0.2 eth0:0

  然后你需要设置/etd/httpd/conf/httpd.conf文件:

  ServerAdmin [email protected]

  DocumentRoot /home/httpd/sales.yourdomain.com

  ServerName sales.yourdomain.com

  ErrorLog /var/log/httpd/sales.yourdomain.com/error_log

  TransferLog /var/log/httpd/sales.yourdomain.com/access_log

  然后分别创建目录

  /home/httpd/sales.yourdomain.com,

  /var/log/httpd/sales.yourdomain.com

  放相应的网站内容到目录/home/httpd/sales.yourdomain.com下即可,并确保 你内部的DNS指定sales.yourdomain.com的A记录到IP地址192.168.0.2 。

  注:这种基于IP的虚拟主机有一个缺点,就是你需要更多的IP地址去服务各自的虚拟主机,如果你仅仅有一个IP地址,那么你将可以考虑用基于名字的虚拟主机方案。

  2.基于名字的虚拟主机:

  它的优势就是不需要更多的IP地址,容易配置,不需要其它软硬件,现代的浏览器大多都支持这种方式。与基于IP的虚拟主机一样,你需要编辑文件

  /etc/httpd/conf/httpd.conf

  NameVirtualHost 192.168.0.1

  ServerAdmin [email protected]

  DocumentRoot /home/httpd/sales.yourdomain.com

  ServerName sales.yourdomain.com

  ErrorLog /var/log/httpd/sales.yourdomain.com/error_log

  TransferLog /var/log/httpd/sales.yourdomain.com/access_log

  ServerAdmin [email protected]

  DocumentRoot /home/httpd/hr.yourdomain.com

  ServerName hr.yourdomain.com

  ErrorLog /var/log/httpd/hr.yourdomain.com/error_log

  TransferLog /var/log/hr.yourdomain.com/access_log

  注: 你需要加NameVirtualHost 指示在最前面,下面依次为各个虚拟主机,为了让它工作,你需要把sales.yourdomain.com, hr.yourdomain.com的DNS 都指向IP地址192.168.0.1

  上面的两种都将工作,如果是在外部网段,在互联网上提供WWW服务,你可能 没有足够的真实IP地址来支持多个虚拟主机,便可用基于名字的虚拟主机方案, 若是在内部网段上,你有较多的内部保留IP地址,将没有太大的区别。

  1、什么时候使用多路由协议?
  
  当两种不同的路由协议要交换路由信息时,就要用到多路由协议。当然,路由再分配也可以交换路由信息。下列情况不必使用多路由协议:
  
  从老版本的内部网关协议( Interior Gateway Protocol,I G P)升级到新版本的I G P。
  
  你想使用另一种路由协议但又必须保留原来的协议。
  
  你想终 止内部路由,以免受到其他没有严格过滤监管功能的路由器的干扰。
  
  你在一个由多个厂家的路由器构成的环境下。
  
  什么是距离向量路由协议?
  
  距离向量路由协议是为小型网络环境设计的。在大型网络环境下,这类协议在学习路由及保持路由将产生较大的流量,占用过多的带宽。如果在9 0秒内没有收到相邻站点发送的路由选择表更新,它才认为相邻站点不可达。每隔30秒,距离向量路由协议就要向相邻站点发送整个路由选择表,使相邻站点的路由选择表得到更新。这样,它就能从别的站点(直接相连的或其他方式连接的)收集一个网络的列表,以便进行路由选择。距离向量路由协议使用跳数作为度量值,来计算到达目的地要经过的路由器数。
  
  例如,R I P使用B e l l m a n – F o r d算法确定最短路径,即只要经过最小的跳数就可到达目的地的线路。最大允许的跳数通常定为1 5。那些必须经过1 5个以上的路由器的终端被认为是不可到达的。
  
  距离向量路由协议有如下几种: IP RIP、IPX RIP、A p p l e Talk RT M P和I G R P。
  
  什么是链接状态路由协议?
  
  链接状态路由协议更适合大型网络,但由于它的复杂性,使得路由器需要更多的C P U资源。它能够在更短的时间内发现已经断了的链路或新连接的路由器,使得协议的会聚时间比距离向量路由协议更短。通常,在1 0秒钟之内没有收到邻站的H E L LO报文,它就认为邻站已不可达。一个链接状态路由器向它的邻站发送更新报文,通知它所知道的所有链路。它确定最优路径的度量值是一个数值代价,这个代价的值一般由链路的带宽决定。具有最小代价的链路被认为是最优的。在最短路径优先算法中,最大可能代价的值几乎可以是无限的。
  
  如果网络没有发生任何变化,路由器只要周期性地将没有更新的路由选择表进行刷新就可以了(周期的长短可以从3 0分钟到2个小时)。
  
  链接状态路由协议有如下几种: IP OSPF、IPX NLSP和I S – I S。
  
  一个路由器可以既使用距离向量路由协议,又使用链接状态路由协议吗?
  
  可以。每一个接口都可以配置为使用不同的路由协议;但是它们必须能够通过再分配路由来交换路由信息。(路由的再分配将在本章的后面进行讨论。)
  
  2、什么是访问表?
  
  访问表是管理者加入的一系列控制数据包在路由器中输入、输出的规则。它不是由路由器自己产生的。访问表能够允许或禁止数据包进入或输出到目的地。访问表的表项是顺序执行的,即数据包到来时,首先看它是否是受第一条表项约束的,若不是,再顺序向下执行;如果它与第一条表项匹配,无论是被允许还是被禁止,都不必再执行下面表项的检查了。
  
  每一个接口的每一种协议只能有一个访问表。
  
  支持哪些类型的访问表?
  
  一个访问表可以由它的编号来确定。具体的协议及其对应的访问表编号如下:
  
  ◎I P标准访问表编号:1~9 9
  
  ◎I P扩展访问表编号:1 0 0~1 9 9
  
  ◎I P X标准访问表编号:8 0 0~8 9 9
  
  ◎I P X扩展访问表编号:1 0 0 0~1 0 9 9
  
  ◎AppleTa l k访问表编号:6 0 0~6 9 9
  
  提示在Cisco IOS Release11.2或以上版本中,可以用有名访问表确定编号在1~199的访问表。
  
  如何创建IP标准访问表?
  
  一个I P标准访问表的创建可以由如下命令来完成: Access-list access list number {permit   deny} source [source-mask]
  
  在这条命令中:
  
  ◎access list number:确定这个入口属于哪个访问表。它是从1到9 9的数字。
  
  ◎permit   deny:表明这个入口是允许还是阻塞从特定地址来的信息流量。
  
  ◎source:确定源I P地址。
  
  ◎s o u r c e – m a s k:确定地址中的哪些比特是用来进行匹配的。如果某个比特是"1",表明地址中该位比特不用管,如果是"0"的话,表明地址中该位比特将被用来进行匹配。可以使用通配符。
 以下是一个路由器配置文件中的访问表例子:
  
  Router# show access-lists
  
  Standard IP access list 1
  
  deny 204.59.144.0, wildcard bits 0.0.0.255
  
  ermit any

  3、什么时候使用路由再分配?
  
  路由再分配通常在那些负责从一个自治系统学习路由,然后向另一个自治系统广播的路由器上进行配置。如果你在使用I G R P或E I G R P,路由再分配通常是自动执行的。

  4、什么是管理距离?
  
  管理距离是指一种路由协议的路由可信度。每一种路由协议按可靠性从高到低,依次分配一个信任等级,这个信任等级就叫管理距离。对于两种不同的路由协议到一个目的地的路由信息,路由器首先根据管理距离决定相信哪一个协议。
  
  5、如何配置再分配?
  
  在进行路由再分配之前,你必须首先:
  
  1) 决定在哪儿添加新的协议。
  
  2) 确定自治系统边界路由器(ASBR)。
  
  3) 决定哪个协议在核心,哪个在边界。
  
  4) 决定进行路由再分配的方向。
  
  可以使用以下命令再分配路由更新(这个例子是针对OSPF的):
  
  router(config-router)#redistribute protocol [process-id] [metric metric – value ] [metric-type type – value ] [subnets]
  
  在这个命令中:
  
  ◎protocol:指明路由器要进行路由再分配的源路由协议。
  
  主要的值有: bgp、eqp、igrp、isis、ospf、static [ ip ]、connected和rip。
  
  ◎process-id:指明OSPF的进程ID。
  
  ◎metric:是一个可选的参数,用来指明再分配的路由的度量值。缺省的度量值是0。
  
  6、为什么确定毗邻路由器很重要?
  
  在一个小型网络中确定毗邻路由器并不是一个主要问题。因为当一个路由器发生故障时,别的路由器能够在一个可接受的时间内收敛。但在大型网络中,发现一个故障路由器的时延可能很大。知道毗邻路由器可以加速收敛,因为路由器能够更快地知道故障路由器,因为hello报文的间隔比路由器交换信息的间隔时间短。
  
  使用距离向量路由协议的路由器在毗邻路由器没有发送路由更新信息时,才能发现毗邻路由器已不可达,这个时间一般为10~90秒。而使用链接状态路由协议的路由器没有收到hello报文就可发现毗邻路由器不可达,这个间隔时间一般为10秒钟。
  
  距离向量路由协议和链接状态路由协议如何发现毗邻路由器?
  
  使用距离向量路由协议的路由器要创建一个路由表(其中包括与它直接相连的网络),同时它会将这个路由表发送到与它直接相连的路由器。毗邻路由器将收到的路由表合并入它自己的路由表,同时它也要将自己的路由表发送到它的毗邻路由器。使用链接状态路由协议的路由器要创建一个链接状态表,包括整个网络目的站的列表。在更新报文中,每个路由器发送它的整个列表。当毗邻路由器收到这个更新报文,它就拷贝其中的内容,同时将信息发向它的邻站。在转发路由表内容时没有必要进行重新计算。
  
  注意使用IGRP和EIGRP的路由器广播hello报文来发现邻站,同时像OSPF一样交换路由更新信息。EIGRP为每一种网络层协议保存一张邻站表,它包括邻站的地址、在队列中等待发送的报文的数量、从邻站接收或向邻站发送报文需要的平均时间,以及在确定链接断开之前没有从邻站收到任何报文的时间.

  7、什么是自治系统?
  
  一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个LAN上,同时也连到Internet上;它可以是一个由企业骨干网互连的多个局域网。在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,同时分配同一个自治系统编号。自治系统之间的链接使用外部路由协议,例如B G P。

  8、什么是BGP?
  
  BGP(Border GatewayProtocol)是一种在自治系统之间动态交换路由信息的路由协议。一个自治系统的经典定义是在一个管理机构控制之下的一组路由器,它使用IGP和普通度量值向其他自治系统转发报文。
  
  在BGP中使用自治系统这个术语是为了强调这样一个事实:一个自治系统的管理对于其他自治系统而言是提供一个统一的内部选路计划,它为那些通过它可以到达的网络提供了一个一致的描述。
  
  9、BGP支持的会话种类?
  
  BGP相邻路由器之间的会话是建立在TCP协议之上的。TCP协议提供一种可靠的传输机制,支持两种类型的会话:
  
  o 外部BGP(EBGP):是在属于两个不同的自治系统的路由器之间的会话。这些路由器是毗邻的,共享相同的介质和子网。
  
  o 内部BGP(IBGP):是在一个自治系统内部的路由器之间的会话。它被用来在自治系统内部协调和同步寻找路由的进程。BGP路由器可以在自治系统的任何位置,甚至中间可以相隔数个路由器。
  
  注意"初始的数据流的内容是整个BGP路由表。但以后路由表发生变化时,路由器只传送变化的部分。BGP不需要周期性地更新整个路由表。因此,在连接已建立的期间,一个BGP发送者必须保存有当前所有同级路由器共有的整个BGP路由表。BGP路由器周期性地发送Keep Alive消息来确认连接是激活的。当发生错误或特殊情况时,路由器就发送Notification消息。当一条连接发生错误时,会产生一个 notification消息并断开连接。"-来自RFC11654、BGP操作。
  
  10、BGP允许路由再分配吗?
  
  允许。因为BGP主要用来在自治系统之间进行路由选择,所以它必须支持RIP、OSPF和 IGRP的路由选择表的综合,以便将它们的路由表转入一个自治系统。BGP是一个外部路由协议,因此它的操作与一个内部路由协议不同。在BGP中,只有当一条路由已经存在于IP路由表中时,才能用NETWORK命令在BGP路由表中创建一条路由。

  11、如何显示在数据库中的所有BGP路由?
  
  要显示数据库中的所有BGP路由,只需在EXEC命令行下输入:
  
  how ip bgp paths
  
  这个命令的输出可能是:
  
  Address Hash Refcount MetricPath
  
  0 x 2 9 7 A 9 C 0 2 0 i

  12、什么是水平分割?
  
  水平分割是一种避免路由环的出现和加快路由汇聚的技术。由于路由器可能收到它自己发送的路由信息,而这种信息是无用的,水平分割技术不反向通告任何从终端收到的路由更新信息,而只通告那些不会由于计数到无穷而清除的路由。
  
  13、路由环是如何产生的?
  
  由于网络的路由汇聚时间的存在,路由表中新的路由或更改的路由不能够很快在全网中稳定,使得有不一致的路由存在,于是会产生路由环。
  
  14、什么是度量值?
  
  度量值代表距离。它们用来在寻找路由时确定最优路由。每一种路由算法在产生路由表时,会为每一条通过网络的路径产生一个数值(度量值),最小的值表示最优路径。度量值的计算可以只考虑路径的一个特性,但更复杂的度量值是综合了路径的多个特性产生的。一些常用的度量值有:
  
  ◎跳步数:报文要通过的路由器输出端口的个数。
  
  ◎Ticks:数据链路的延时(大约1/18每秒)。
  
  ◎代价:可以是一个任意的值,是根据带宽,费用或其他网络管理者定义的计算方法得到的。
  
  ◎带宽:数据链路的容量。
  
  ◎时延:报文从源端传到目的地的时间长短。
  
  ◎负载:网络资源或链路已被使用的部分的大小。
  
  ◎可靠性:网络链路的错误比特的比率。
  
  ◎最大传输单元(MTU):在一条路径上所有链接可接受的最大消息长度(单位为字节)。
  
  IGRP使用什么类型的路由度量值?这个度量值由什么组成?
  
  IGRP使用多个路由度量值。它包括如下部分:
  
  ◎带宽:源到目的之间最小的带宽值。
  
  ◎时延:路径中积累的接口延时。
  
  ◎可靠性:源到目的之间最差的可能可靠性,基于链路保持的状态。
  
  ◎负载:源到目的之间的链路在最坏情况下的负载,用比特每秒表示。
  
  ◎MTU:路径中最小的M T U值。

  15、度量值可以修改或调整吗?
  
  加一个正的偏移量。这个命令的完整结构如下:可以使用OFFSET-LIST ROUTER子命令
  
  为访问表中的网络输入和输出度量值添加一个正的偏移量。
  
  offset-list {in out} offset [access-list] no offset-list {in out} offset [access-list]
  
  如果参数LIST的值是0,那么OFFSET参数将添加到所有的度量值。如果OFFSET的值是0,那么就没有任何作用。对于IGRP来说,偏移量的值只加到时延上。这个子命令也适用于RIP和hello路由协议。
  
  使用带适当参数的NO OFFSET- LIST命令可以清除这个偏移量。
  
  在以下的例子中,一个使用IGRP的路由器在所有输出度量值的时延上加上偏移量10: offset-list out 10
  
  下面是一个将相同的偏移量添加到访问表121上的例子:
  
  offset-list out 10 121

  16、每个路由器在寻找路由时需要知道哪五部分信息?
  
  所有的路由器需要如下信息为报文寻找路由:
  
  ◎目的地址:报文发送的目的主机。
  
  ◎邻站的确定:指明谁直接连接到路由器的接口上。
  
  ◎路由的发现:发现邻站知道哪些网络。
  
  ◎选择路由:通过从邻站学习到的信息,提供最优的(与度量值有关)到达目的地的路径。
  
  ◎保持路由信息:路由器保存一张路由表,它存储所知道的所有路由信息。
  
  17、Cisco路由器支持的路由协议与其他厂家设备的协议兼容吗?
  
  除了IGRP和EIGRP,Cisco路由器支持的所有路由协议都与其他厂家实现的相同协议兼容。IGRP和EIGRP是Cisco的专利产品。

  18、RIP路由表的表项的信息说明了什么?
  
  RIP路由表的每一个表项都提供了一定的信息,包括最终目的地址、到目的地的下一跳地址和度量值。这个度量值表示到目的终端的距离(跳步数)。其他的信息也可以包括。
  
  路由器问题补充:
  
  1、Cisco3600系列路由器目前是否支持广域网接口卡WIC-2T和WIC-2A/S?
  
  Cisco3600系列路由器在12.007XK及以上版本支持WIC-2T和WIC-2A/S这两种广域网接口卡。
  
  但是需要注意的是:
  
  只有快速以太网混合网络模块能够支持这两种广域网接口卡。
  
  支持这两种接口卡的网络模块如下所示:
  
  NM-1FE2W, NM-2FE2W, NM-1FE1R2W, NM-2W。
  
  而以太网混合网络模块不支持,如下所示:
  
  NM-1E2W,NM-2E2W, NM1E1R2W。
  
  19、Cisco3600系列路由器的NM(4A/S,NM(8A/S网络模块和WIC(2A/S广域网接口卡支持的最大异/同步速率各是多少?
  
  这些网络模块和广域网接口卡既能够支持异步,也能够支持同步。支持的最大异步速率均为115.2Kbps,最大同步速率均为128Kbps。

  20、WIC-2T与WIC-1T的电缆各是哪种?
  
  WIC-1T:DB60转V35或RS232、 449等电缆。 如:CAB-V35-MT。
  
  WIC-2T:SMART型转V35或RS232、 449等电缆。 如: CAB-SS-V35-MT。
  
  21、Cisco 7000系列上的MCE1与Cisco 2600/3600上的E1、 CE1有什么区别?
  
  Cisco 7000上的MCE1可配置为E1、 CE1, 而Cisco 2600/3600上的E1、 CE1仅支持自己的功能。
  
  22、Cisco 2600系列路由器,是否支持VLAN间路由,对IOS软件有何需求?
  
  Cisco(2600系列路由器中,只有Cisco2620和Cisco2621可以支持VLAN间的 路由(百兆端口才支持VLAN间路由)。并且如果支持VLAN间路由,要求IOS软件必须包括IP Plus特性集。
  
  23、Cisco3660路由器与3620/3640路由器相比在硬件上有那些不同?
  
  不同点如下:
  
  * Cisco3660路由器基本配置包括1或2个10/100M自适应快速以太网接口;而Cisco3620/3640基本配置中不包括以太网接口。
  
  * Cisco3660路由器支持网络模块热插拔,而 Cisco3620/3640不支持网络模块热插拔。
  
  * Cisco3660的冗余电源为内置, 而Cisco3620/3640的冗余电源为外置的。

  24、为什么3640不能识别NM-1FE2W?
  
  需要将IOS升级到12.0.7T
  
  交换机问题
  
  关于交换机问题:
  
  1、Catalyst 35500XL/2950XL的堆叠是如何实现的?
  
  a. 需要使用专门的堆叠电缆,1米长或50厘米长(CAB-GS-1M或CAB-GS-50CM)以及专门的千兆堆叠卡GigaStack GBIC (WS-X3550-XL) (该卡已含CAB-GS-50CM 堆叠电缆)。
  
  b. 可以选用2种堆叠方法:菊花链法(提供1G的带宽)或点对点法(提供 2G的带宽)。
  
  c. 2种方法都可以做备份。
  
  d. 菊花链法最多可支持9台交换机的堆叠, 点对点法最多可支持8台。
2、Catalyst 3550 XL系列交换机做堆叠时,是否支持冗余备份?
  
  Catalyst3550XL系列交换机的堆叠有两种实现方法:菊花链方式和点到点方式。
  
  当使用菊花链方式时,堆叠的交换机依次连接,交换机之间可以达到1Gbps的传输带宽;
  
  当使用点到点方式时,需要一台单独的 Catalyst3508G-XL交换机,
  
  其余的交换机通过堆叠GBIC卡和堆叠线缆与3508G相连,这种方法最大可以达到2Gbps的全双工传输带宽。  
  
  这两种方法都分别支持堆叠的冗余连接。当使用菊花链连接方式时,冗余连接是通过将最上面的交换机与最下面的交换机用堆叠线缆相连接完成的。而当使用点到点连接时,是通过使用第2台3508交换机来完成的。
  
  25、 Catalyst3550 XL的一个千兆口使用堆叠卡做堆叠后, 另外一个千兆口是否可以连接千兆的交换机或千兆的服务器?
  
  可以。需使用1000Base-SX GBIC或1000Base-LX/LH GBIC。
  
  26、 Ethernet Channel Tech. 可以应用在什么网络设备之间?如何使用?
  
  可以应用在交换机之间, 交换机和路由器之间,交换机和服务器之间
  
  可以将2个或4个10/100Mbps或1000Mbps端口使用 Ethernet Channel Tech.,达到最多400M(10/100Mbps端口)、4G(1000Mbps端口) 或800M(10/100Mbps端口)、8G(1000Mbps端口) 的带宽。
  
  27、Ethernet Channel Technology有什么作用?
  
  增加带宽,负载均衡,线路备份

  28、 当端口设置成 Ethernet Channel时,如何选择线路?
  
  根据数据帧的以太网源地址和目的地址最后1位或2位做或运算,决定从哪条链路输出。对于路由器来说是根据网络地址做或运算,以决定链路的输出。
  
  29、Ethernet Channel Technology 与 PAgP (Port Aggregation Protocol ) 的区别?
  
  PAgP是 Ethernet Channel的增强版,它支持在 Ethernet Channel 上的 Spanning Tree Protocol和Uplink Fast,并支持自动配置 Ethernet Channel 的捆绑。
  
  最少需要的电源数 1 2
  
  包转发速率 18Mpps 18Mpps
  
  背板带宽 24Gbps 60Gbps

  30、Catalyst4000系列是否支持ISL?
  
  从Supervisor Engine Software Release 5.1开始支持。

  31、Catalyst4000交换机的冗余电源选项4008/2和4008/3有何区别?
  
  Catalyst4003交换机机箱上有两个电源插槽,出厂时本身自带一个电源,4008/2是专为其定制的冗余电源。Catalyst4006的机箱上有三个电源插槽,出厂时带有2个电源供电,4008/3是为其定制的专用冗余电源。

  32、Catalyst 4006的三层交换模块是否不含以太网端口?  

  不,Catalyst4006的三层交换模块含有32个10/100自适应端口和2个千兆端口。 在4003上使用时可替代原有的WS-X4232-GB-RJ模块, 从而不影响网络结构。
  
  33、Catalyst 4000系列模块化交换机使用千兆交换模块时, 如何选用目前存在的两种交换模块(产品编号如下)?
  
  WS-X4306-GB Catalyst 4000 Gigabit Ethernet Module, 6-Ports (GBIC)
  
  WS-X4418-GB Catalyst 4000 GE Module, Server Switching 18-Ports (GBIC)
  
  这两个模块的使用环境不同
  
  WS-X4306-GB是一个6口的千兆交换模块,每个端口独占千兆的带宽,适合做网络的主干,用来连接具有千兆接口的交换机;也可以与具有千兆网卡的服务器相连。
  
  WS-X4418-GB 是一个18口的千兆交换模块,其中有两个口是独占千兆的带宽,另外16个口共享8G的全双工的带宽,但每个端口可以突发到千兆。此模块适合在服务器比较集中的地方连接千兆的服务器,而不适合连接网络主干。

  34、Catalyst 6000系列的背板带宽和包转发速率各为多少?
  
  Catalyst 6500系列的背板带宽可扩展到256Gbps, 包转发速率可扩展到150Mpps; Catalyst 6000系列作为一个经济有效的解决方案可提供到32Gbps的背板带宽和15Mpps的包转发速率。
  
  35、Catalyst 6000系列的MSFC 要求多少M DRAM ?
  
  Catalyst 6000系列IOS软件存放在MSFC里, MSFC要求有128M DRAM。 缺省配置已含128M DRAM。
  
  36、Catalyst 6000系列上的插槽是否有限制?
  
  除第一个插槽专用于引擎, 第二个插槽可用于备份引擎或线卡, 其它插槽都用于线卡。
  
  37、Catalyst 6000系列有几种引擎?
  
  Catalyst 6000系列的引擎分为Supervisor Engine 1和Supervisor Engine 1A两种, 其中 Supervisor Engine 1A 有两个特定的备份引擎。其型号分别如下: 型号 描述
  
  WS-X6K-SUP1-2GE Catalyst 6000 Supervisor Engine1引擎 含两个千兆端口(需购GBIC)
  
  WS-X6K-SUP1A-2GE Catalyst 6000 Supervisor Engine1A引擎 加强的QOS特性, 含两个千兆端口(需购GBIC)
  
  WS-X6K-SUP1A-PFC Catalyst 6000 Supervisor Engine1A引擎 含两个千兆端口(需购GBIC)和PFC卡
  
  WS-X6K-S1A-PFC/2 Catalyst 6000 Supervisor Engine1A冗余引擎 含两个千兆端口(需购GBIC)和PFC卡
  
  WS-X6K-SUP1A-MSFC Catalyst 6000 Supervisor Engine1A引擎 含两个千兆端口(需购GBIC)和MSFC、 PFC卡
  
  WS-X6K-S1A-MSFC/2 Catalyst 6000 Supervisor Engine1A冗余引擎, 含两个千兆端口(需购GBIC)和MSFC、 PFC卡

  38、Catalyst 6000系列上备份引擎与主引擎必须是一致的吗?
  
  是的。 Catalyst 6000系列的备份引擎与主引擎必须是一致的,
  
  例如, 不能将不带MSFC&PFC的引擎给带MSFC&PFC的引擎作备份。
  
  另外, WS-X6K-SUP1A-PFC 和 WS-X6K-SUP1A-MSFC有专门的备份引擎
 主、备引擎的对应关系如下:
  
  主引擎 备份引擎
  
  WS-X6K-SUP1-2GE WS-X6K-SUP1-2GE
  
  WS-X6K-SUP1A-2GE WS-X6K-SUP1A-2GE
  
  WS-X6K-SUP1A-PFC WS-X6K-S1A-PFC/2
  
  WS-X6K-SUP1A-MSFC WS-X6K-S1A-MSFC/2
  
  39、Catalyst 6000系列支持的路由协议有哪些?
  
  Catalyst 6000系列支持的路由协议有:OSPF, IGRP, EIGRP, BGP4, IS-IS, RIP和RIP II;
  
  对于组播PIM支持sparse和dense两种模式;
  
  支持的非 IP 路由协议有: NLSP, IPX RIP/SAP, IPX EIGRP, RTMP, Apple Talk EIGRP和DECnet Phase IV和V。
  
  40、Catalyst 6000系列支持的网络协议有哪些?
  
  MSM上支持 6Mpps 的 IP、 IP 组播和 IPX 。 引擎上的MSFC 支持 15Mpps的 IP、 IP 组播、IPX以及 AppleTalk、 VINEs、 DECnet.
  
  41、Catalyst6000上若引擎为SUP-1A-2GE, 怎么实现三层交换的功能?
  
  用MSM实现。 6000上只有含有MSFC的引擎才能通过MSFC实现三层交换功能, 在6000上, MSFC是不能单独订购的。
  
  42、Catalyst? 6000交换机和Catalyst? 6500交换机有何区别?6000交换机是否可以升级到6500交换机?
  
  Catalyst? 6000系列交换机的背板带宽为32G,而6500系列交换机的背板带宽最大可以扩展到256G。由于这两个系列的交换机使用的背板总线结构不同,所以6000交换机不能升级到6500系列交换机。
  
  但这两个系列交换机使用相同的交换模块。
  
  43、Catalyst3508G是否也可以同Catalyst3524一样采用菊花链堆叠模式?
  
  完全可以。
  
  44、在交换机之间配置Uplink-Fast时,是否需要关闭原有Spanning-Tree选项?
  
  不需要,Uplink-Fast实际上使用的是一种简化的Spanning-Tree算法, 与标准的Spanning-Tree兼容,因此不需关闭该功能。

网络经典命令行
(前面的是基本的东西,建议仔细看看!)

1.最基本,最常用的,测试物理网络的
ping 192.168.0.8 -t ,参数-t是等待用户去中断测试

2.查看DNS、IP、Mac等
A.Win98:winipcfg
B.Win2000以上:Ipconfig/all

C.NSLOOKUP:如查看河北的DNS
C:>nslookup
Default Server: ns.hesjptt.net.cn
Address: 202.99.160.68
>server 202.99.41.2 则将DNS改为了41.2
> pop.pcpop.com
Server: ns.hesjptt.net.cn
Address: 202.99.160.68

Non-authoritative answer:
Name: pop.pcpop.com
Address: 202.99.160.212

3.网络信使 (经常有人问的~)
Net send 计算机名/IP|* (广播) 传送内容,注意不能跨网段
net stop messenger 停止信使服务,也可以在面板-服务修改
net start messenger 开始信使服务

4.探测对方对方计算机名,所在的组、域及当前用户名 (追捕的工作原理)
ping -a IP -t ,只显示NetBios名
nbtstat -a 192.168.10.146 比较全的

5.netstat -a 显示出你的计算机当前所开放的所有端口
netstat -s -e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP 和 IP的统计等

6.探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC地址
arp -a

7.在代理服务器端
捆绑IP和MAC地址,解决局域网内盗用IP!:
ARP -s 192.168.10.59 00 -50-ff-6c-08-75
解除网卡的IP与MAC地址的绑定:
arp -d 网卡IP

8.在网络邻居上隐藏你的计算机 (让人家看不见你!)
net config server /hidden:yes
net config server /hidden:no 则为开启

9.几个net命令
A.显示当前工作组服务器列表 net view,当不带选项使用本命令时,它就会显示当前域或网络上的计算机上的列表。
比如:查看这个IP上的共享资源,就可以
C:>net view 192.168.10.8
在 192.168.10.8 的共享资源
资源共享名 类型 用途 注释

网站服务 Disk
命令成功完成。

B.查看计算机上的用户帐号列表 net user
C.查看网络链接 net use
例如:net use z: \192.168.10.8movie 将这个IP的movie共享目录映射为本地的Z盘

D.记录链接 net session
例如:
C:>net session
计算机 用户名 客户类型 打开空闲时间

\192.168.10.110 ROME Windows 2000 2195 0 00:03:12

\192.168.10.51 ROME Windows 2000 2195 0 00:00:39
命令成功完成。

10.路由跟踪命令
A.tracert pop.pcpop.com
B.pathping pop.pcpop.com 除了显示路由外,还提供325S的分析,计算丢失包的%

11.关于共享安全的几个命令
A.查看你机器的共享资源 net share
B.手工删除共享(可以编个bat文件,开机自运行,把共享都删了!)
net share c$ /d
net share d$ /d
net share ipc$ /d
net share admin$ /d
注意$后有空格。
C.增加一个共享:
c:
et share mymovie=e:downloadsmovie /users:1
mymovie 共享成功。
同时限制链接用户数为1人

12.在DOS行下设置静态IP
A.设置静态IP
CMD
netsh
netsh>int
interface>ip
interface ip>set add "本地链接" static IP地址 mask gateway
B.查看IP设置
interface ip>show address

Arp
显示和修改“地址解析协议 (ARP)”缓存中的项目。ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则 arp 命令将显示帮助信息。

语法
arp [-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]
参数
-a [InetAddr] [-N IfaceAddr]
显示所有接口的当前 ARP 缓存表。要显示指定 IP 地址的 ARP 缓存项,请使用带有 InetAddr 参数的 arp -a,此处的 InetAddr 代表指定的 IP 地址。要显示指定接口的 ARP 缓存表,请使用 -N IfaceAddr 参数,此处的 IfaceAddr 代表分配给指定接口的 IP 地址。-N 参数区分大小写。
-g [InetAddr] [-N IfaceAddr]
与 -a 相同。
-d InetAddr [IfaceAddr]
删除指定的 IP 地址项,此处的 InetAddr 代表 IP 地址。对于指定的接口,要删除表中的某项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表分配给该接口的 IP 地址。要删除所有项,请使用星号 (*) 通配符代替 InetAddr。
-s InetAddr EtherAddr [IfaceAddr]
向 ARP 缓存添加可将 IP 地址 InetAddr 解析成物理地址 EtherAddr 的静态项。要向指定接口的表添加静态 ARP 缓存项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表分配给该接口的 IP 地址。
/?

注释
InetAddr 和 IfaceAddr 的 IP 地址用带圆点的十进制记数法表示。
物理地址 EtherAddr 由六个字节组成,这些字节用十六进制记数法表示并且用连字符隔开(比如,00-AA-00-4F-2A-9C)。
通过 -s 参数添加的项属于静态项,它们不会 ARP 缓存中超时。如果终止 TCP/IP 协议后再启动,这些项会被删除。要创建永久的静态 ARP 缓存项,请在批处理文件中使用适当的 arp 命令并通过“计划任务程序”在启动时运行该批处理文件。
只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。

范例
要显示所有接口的 ARP 缓存表,可键入:

arp -a

对于指派的 IP 地址为 10.0.0.99 的接口,要显示其 ARP 缓存表,可键入:

arp -a -N 10.0.0.99

要添加将 IP 地址 10.0.0.80 解析成物理地址 00-AA-00-4F-2A-9C 的静态 ARP 缓存项,可键入:

arp -s 10.0.0.80 00-AA-00-4F-2A-9C

At
计划在指定时间和日期在计算机上运行命令和程序。at 命令只能在“计划”服务运行时使用。如果在没有参数的情况下使用,则 at 列出已计划的命令。

语法
at [\ComputerName] [{[ID] [/delete]|/delete [/yes]}]

at [[\ComputerName] hours:minutes [/interactive] [{/every:date[,…]|/next:date[,…]}] command]

参数
\computername
指定远程计算机。如果省略该参数,则 at 计划本地计算机上的命令和程序。
ID
指定指派给已计划命令的识别码。
/delete
取消已计划的命令。如果省略了 ID,则计算机中所有已计划的命令将被取消。
/yes
删除已计划的事件时,对来自系统的所有询问都回答“是”。
hours:minutes
指定命令运行的时间。该时间用 24 小时制(即从 00:00 [午夜] 到 23:59)的 小时: 分钟格式表示。
/interactive
对于在运行 command 时登录的用户,允许 command 与该用户的桌面进行交互。
/every:
在每个星期或月的指定日期(例如,每个星期四,或每月的第三天)运行 command 命令。
date
指定运行命令的日期。可以指定一周的某日或多日(即,键入 M、T、W、Th、F、S、Su)或一个月中的某日或多日(即,键入从 1 到31 之间的数字)。用逗号分隔多个日期项。如果省略了 date,则 at 使用该月的当前日。
/next:
在下一个指定日期(比如,下一个星期四)到来时运行 command。
command
指定要运行的 Windows 命令、程序(.exe 或 .com 文件)或批处理程序(.bat 或 .cmd 文件)。当命令需要路径作为参数时,请使用绝对路径,也就是从驱动器号开始的整个路径。如果命令在远程计算机上,请指定服务器和共享名的通用命名协定 (UNC) 符号,而不是远程驱动器号。
/?
在命令提示符显示帮助。
注释
Schtasks 是功能更为强大的超集命令行计划工具,它含有 at 命令行工具中的所有功能。对于所有的命令行计划任务,都可以使用 schtasks 来替代 at。有关 schtasks 的详细信息,请参阅“相关主题”。

使用 at
使用 at 命令时,要求您必须是本地 Administrators 组的成员。

加载 Cmd.exe
在运行命令之前,At 不会自动加载 Cmd.exe (命令解释器)。如果没有运行可执行文件 (.exe),则在命令开头必须使用如下所示的方法专门加载 Cmd.exe:

cmd /c dir > c: est.out。

查看已计划的命令
当不带命令行选项使用 at 时,计划任务会出现在类似于以下格式的表中:

Status ID Day Time Command Line
OK 1 Each F 4:30 PM net send group leads status due
OK 2 Each M 12:00 AM chkstor > check.file
OK 3 Each F 11:59 PM backup2.bat
包含标识号 (ID)
当在命令提示下使用带有标识号 (ID) 的 at 命令时,单个任务项的信息会显示在类似于下面的格式中:

Task ID: 1

Status:OK

Schedule:Each F

Time of Day:4:30 PM

Command:net send group leads status due当计划带有 at 的命令(尤其是带有命令行选项的命令)后,要通过键入不带命令行选项的 at 来检查该命令语法是否输入正确。如果显示在“命令行”列中的信息不正确,请删除该命令,然后重新键入它。如果还不正确,则可以在重新键入该命令时让它少带些命令行选项。

查看结果
使用 at 的已经计划的命令作为后台程序运行。运行结果不会显示在计算机上。要将输出重定向到文件,请使用重定向符号 (> )。如果将输出重定向到文件,则不论是在命令行还是在批处理文件中使用 at,都需要在重定向符号之前使用转义符 (^)。例如,要重定向输出到 Output.text 文件,则要键入:

at 14:45 c: est.bat ^>c:output.txt

执行命令的当前目录为 systemroot 文件夹

更改系统时间
在使用 at 命令计划了要运行的命令之后,如果更改了计算机的系统时间,则通过键入不带命令行选项的 at 可使 at 计划程序与修改后的系统时间同步。

存储命令
已计划的命令存储在注册表中。这样,如果重新启动“计划”服务,则不会丢失计划任务。

连接到网络驱动器
对于需要访问网络的计划作业,请不要使用已重新定向的驱动器。“计划”服务可能无法访问这些重定向的驱动器,或者,在该计划任务运行时如果有其他用户登录,则这些重定向的驱动器可能不会出现。因此,对于计划作业,请使用 UNC 路径。例如:

at 1:00pm my_backup \servershare

请不要使用下述语法(其中 x: ?表示由用户建立的连接):

at 1:00pm my_backup x:

如果计划了一个使用驱动器号的 at 命令来连接共享目录,则应包含一个 at 命令以使在完成该驱动器的使用时断开与驱动器的连接。如果不能断开与驱动器的连接,则在命令提示下,所指派的驱动器号将不可用。

范例
要显示 Marketing 服务器上已计划的命令列表,请键入:

at \marketing
要了解服务器 Corp 上标识号为 3 的命令的详细信息,请键入:

at \corp 3
要计划在上午 8:00 于 Corp 服务器上运行网络共享命令,并将该列表重定向到 Maintenance 服务器的 Corp.txt 文件(位于 Reports 共享目录下)中,请键入:

at \corp 08:00 cmd /c "net share reports=d:marketing
eports >> \maintenance
eportscorp.txt"
为了在每五天后的午夜将 Marketing 服务器的硬盘驱动器备份到磁带驱动器,首先创建名为 Archive.cmd 的批处理程序(它含有备份命令),然后计划该批处理程序的运行,为此请键入:

at \marketing 00:00 /every:5,10,15,20,25,30 archive
要取消当前服务器上已计划的所有命令,请按下述方法清除 at 计划信息:

at /delete
如果要运行的命令不是可执行 (.exe) 文件,请按如下所示的方法在该命令之前使用 cmd /c 来加载 Cmd.exe:

cmd /c dir > c: est.out。
Rsh
在运行 RSH 服务的远程计算机上运行命令。Windows XP 和 Windows 2000 不提供 RSH 服务。Windows 2000 Server Resource Kit 提供名为 Rshsvc.exe 的 RSH 服务。使用不带参数的 rsh 显示帮助。

  TCP/IP发展到目前为止,已成为一个最为广泛使用的网络通用协议。被广大计算机使用者所认可。采用TCP/IP,可以方便地进行不同网络种类、不同操作系统的网络间的互联,同时又可以方便地联入Internet。

  在TCP/IP网络互联中,不同网络的互联往往要使用到路由器。传统的基于硬件的路由器价格往往较高,不为一般的单位所接受,而且在联网过程中,常碰到的问题都是将两个或两个以的的局域网互联,也用不着使用昂贵的专用路由器。实际上,有好多网络操作系统本身就提供路由功能,只不过是基于软件的路由而已,如Windows NT的静态路由系统、NOVELL的多协议路由MPR等基于软件的路由技术。

  基于软件的路由,功能上肯定不如基于硬件的专用路由器。但它已具备了路由器的基本功能。可以实现基本的路由功能。采用基于软件的路由,对于小型网络间的互联是比较理想的。下面以网络间的互联为例来说明基于软件的路由技术。

  众所周知,在TCP/IP协议中,IP协议(Internet Protocol)提供编址和路由功能。在网络上发送数据时,数据首先被打包,成为一个个IP数据包。IP允许数据包在网络上从一个地方传到另一个地方。数据在网络中的传输就是通过一种方式进行的。在一个以太网内,把报文从一台机器发送到另一台机器很容易,因为以太网是一个基于广播方式的网络,任何一台机器上发出的报文立即就会被网上的所有机器监听到,只有同报文中地址相同的那台机器才会发出响应,别的机器将忽略此信息。由此可见,在同一网络内部,每一个报文都无须选择路径,就可以直接达到它的目的地。但是,在两个或两个以上的网络互联时,情况就大不一样了。如图1所示,处在网络Counter中的某一台机器要向处在网络Computer Center中的一台机器发送信息时,如果没有从网络Counter到网络Computer Center的路由,则信息是根本无法发到的。

  从上述分析可以知道:既然在同一个网络内信息可以畅通传送,那么如果有这样一台机器就好了:一台既属于网络Counter又属于网络Computer Center的机器。通过它,两个不同的网络就可以相互传递信息了。在各网络已建成的情况下,建立NT路由器,其建立过程如下:

  1、在同一台Windows NT机器中安装两块网卡,网卡可以采用任何NT所支持的网卡。Windows NT可以是Windows NT Server也可以是Windows NT Workstation,版本最好是3.51或更高的版本。本文基于Win?dowsNTServer4.0中文版。

  2、进入控制面板,安装TCP/IP协议

  3、配置网卡:为每一块网卡配置一个IP地址,两个IP地址分别属于不同的网络内的IP地址。

  4、设置Windows NT的IP路由功能为Enable。

  5、确定后重新启动计算机。

  第一节、黑客的种类和行为

  以我的理解,“黑客”大体上应该分为“正”、“邪”两类,正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或者做其他一些有害于网络的事情,因为邪派黑客所从事的事情违背了《黑客守则》,所以他们真正的名字叫“骇客”(Cracker)而非“黑客”(Hacker),也就是我们平时经常听说的“黑客”(Cacker)和“红客”(Hacker)。

  无论那类黑客,他们最初的学习内容都将是本部分所涉及的内容,而且掌握的基本技能也都是一样的。即便日后他们各自走上了不同的道路,但是所做的事情也差不多,只不过出发点和目的不一样而已。

  很多人曾经问我:“做黑客平时都做什么?是不是非常刺激?”也有人对黑客的理解是“天天做无聊且重复的事情”。实际上这些又是一个错误的认识,黑客平时需要用大量的时间学习,我不知道这个过程有没有终点,只知道“多多益善”。由于学习黑客完全出于个人爱好,所以无所谓“无聊”;重复是不可避免的,因为“熟能生巧”,只有经过不断的联系、实践,才可能自己体会出一些只可意会、不可言传的心得。

  在学习之余,黑客应该将自己所掌握的知识应用到实际当中,无论是哪种黑客做出来的事情,根本目的无非是在实际中掌握自己所学习的内容。黑客的行为主要有以下几种:

  一、学习技术:

  互联网上的新技术一旦出现,黑客就必须立刻学习,并用最短的时间掌握这项技术,这里所说的掌握并不是一般的了解,而是阅读有关的“协议”(rfc)、深入了解此技术的机理,否则一旦停止学习,那么依靠他以前掌握的内容,并不能维持他的“黑客身份”超过一年。

  初级黑客要学习的知识是比较困难的,因为他们没有基础,所以学习起来要接触非常多的基本内容,然而今天的互联网给读者带来了很多的信息,这就需要初级学习者进行选择:太深的内容可能会给学习带来困难;太“花哨”的内容又对学习黑客没有用处。所以初学者不能贪多,应该尽量寻找一本书和自己的完整教材、循序渐进的进行学习。

  二、伪装自己:

  黑客的一举一动都会被服务器记录下来,所以黑客必须伪装自己使得对方无法辨别其真实身份,这需要有熟练的技巧,用来伪装自己的IP地址、使用跳板逃避跟踪、清理记录扰乱对方线索、巧妙躲开防火墙等。

  伪装是需要非常过硬的基本功才能实现的,这对于初学者来说成的上“大成境界”了,也就是说初学者不可能用短时间学会伪装,所以我并不鼓励初学者利用自己学习的知识对网络进行攻击,否则一旦自己的行迹败露,最终害的害是自己。

  如果有朝一日你成为了真正的黑客,我也同样不赞成你对网络进行攻击,毕竟黑客的成长是一种学习,而不是一种犯罪。

  三、发现漏洞:

  漏洞对黑客来说是最重要的信息,黑客要经常学习别人发现的漏洞,并努力自己寻找未知漏洞,并从海量的漏洞中寻找有价值的、可被利用的漏洞进行试验,当然他们最终的目的是通过漏洞进行破坏或着修补上这个漏洞。

  黑客对寻找漏洞的执著是常人难以想象的,他们的口号说“打破权威”,从一次又一次的黑客实践中,黑客也用自己的实际行动向世人印证了这一点——世界上没有“不存在漏洞”的程序。在黑客眼中,所谓的“天衣无缝”不过是“没有找到”而已。

  四、利用漏洞:

  对于正派黑客来说,漏洞要被修补;对于邪派黑客来说,漏洞要用来搞破坏。而他们的基本前提是“利用漏洞”,黑客利用漏洞可以做下面的事情:

  1、获得系统信息:有些漏洞可以泄漏系统信息,暴露敏感资料,从而进一步入侵系统;

  2、入侵系统:通过漏洞进入系统内部,或取得服务器上的内部资料、或完全掌管服务器;

  3、寻找下一个目标:一个胜利意味着下一个目标的出现,黑客应该充分利用自己已经掌管的服务器作为工具,寻找并入侵下一个系统;

  4、做一些好事:正派黑客在完成上面的工作后,就会修复漏洞或者通知系统管理员,做出一些维护网络安全的事情;

  5、做一些坏事:邪派黑客在完成上面的工作后,会判断服务器是否还有利用价值。如果有利用价值,他们会在服务器上植入木马或者后门,便于下一次来访;而对没有利用价值的服务器他们决不留情,系统崩溃会让他们感到无限的快感!

  第二节、黑客应掌握的基本技能

  从这一节开始,我们就真正踏上学习黑客的道路了,首先要介绍的是作为一名初级黑客所必须掌握的基本技能,学习这可以通过这一节的阅读了解到黑客并不神秘,而且学习起来很容易上手。为了保证初学者对黑客的兴趣,所以本书采取了循环式进度,也就是说每一章节的内容都是独立、全面的,学习者只有完整的学习过一章的内容,才能够进而学习下一章的内容。

  一、了解一定量的英文:

  学习英文对于黑客来说非常重要,因为现在大多数资料和教程都是英文版本,而且有关黑客的新闻也是从国外过来的,一个漏洞从发现到出现中文介绍,需要大约一个星期的时间,在这段时间内网络管理员就已经有足够的时间修补漏洞了,所以当我们看到中文介绍的时候,这个漏洞可能早就已经不存在了。因此学习黑客从一开始就要尽量阅读英文资料、使用英文软件、并且及时关注国外著名的网络安全网站。

  二、学会基本软件的使用:

  这里所说的基本软件是指两个内容:一个是我们日常使用的各种电脑常用命令,例如ftp、ping、net等;另一方面还要学会有关黑客工具的使用,这主要包括端口扫描器、漏洞扫描器、信息截获工具和密码破解工具等。因为这些软件品种多,功能各不相同,所以本书在后面将会介绍几款流行的软件使用方法,学习者在掌握其基本原理以后,既可以选择适合自己的,也可以在“第二部分”中找到有关软件的开发指南,编写自己的黑客工具。

  三、初步了解网络协议和工作原理:

  所谓“初步了解”就是“按照自己的理解方式”弄明白网络的工作原理,因为协议涉及的知识多且复杂,所以如果在一开始就进行深入研究,势必会大大挫伤学习积极性。在这里我建议学习者初步了解有关tcp/ip协议,尤其是浏览网页的时候网络是如何传递信息、客户端浏览器如何申请“握手信息”、服务器端如何“应答握手信息”并“接受请求”等内容,此部分内容将会在后面的章节中进行具体介绍。

  四、熟悉几种流行的编程语言和脚本:

   同上面所述一样,这里也不要求学习者进行深入学习,只要能够看懂有关语言、知道程序执行结果就可以了。建议学习者初步学习C语言、asp和cgi脚本语言,另外对于htm超文本语言和php、java等做基本了解,主要学习这些语言中的“变量”和“数组”部分,因为语言之间存在内在联系,所以只要熟练掌握其中一们,其他语言也可以一脉相同,建议学习C语言和htm超文本语言。

  五、熟悉网络应用程序:

  网络应用程序包括各种服务器软件后台程序,例如:wuftp、Apache等服务器后台;还有网上流行的各种论坛、电子社区。有条件的学习者最好将自己的电脑做成服务器,然后安装并运行一些论坛代码,经过一番尝试之后,将会感性的弄清楚网络工作原理,这比依靠理论学习要容易许多,能够达到事半功倍的效果!

  第三节、常用黑客软件用途分类

  一、防范:

  这是从安全的角度出发涉及的一类软件,例如防火墙、查病毒软件、系统进程监视器、端口管理程序等都属于此类软件。这类软件可以在最大程度上保证电脑使用者的安全和个人隐私,不被黑客破坏。网络服务器对于此类软件的需要也是十分重视的,如日志分析软件、系统入侵软件等可以帮助管理员维护服务器并对入侵系统的黑客进行追踪。

  二、信息搜集:

  信息搜集软件种类比较多,包括端口扫描、漏洞扫描、弱口令扫描等扫描类软件;还有监听、截获信息包等间谍类软件,其大多数属于亦正亦邪的软件,也就是说无论正派黑客、邪派黑客、系统管理员还是一般的电脑使用者,都可以使用者类软件完成各自不同的目的。在大多数情况下,黑客使用者类软件的频率更高,因为他们需要依靠此类软件对服务器进行全方位的扫描,获得尽可能多的关于服务器的信息,在对服务器有了充分的了解之后,才能进行黑客动作。

  三、木马与蠕虫:

  这是两种类型的软件,不过他们的工作原理大致相同,都具有病毒的隐藏性和破坏性,另外此类软件还可以由拥有控制权的人进行操作,或由事先精心设计的程序完成一定的工作。当然这类软件也可以被系统管理员利用,当作远程管理服务器的工具。

  四、洪水:

  所谓“洪水”即信息垃圾炸弹,通过大量的垃圾请求可以导致目标服务器负载超负荷而崩溃,近年来网络上又开始流行DOS分散式攻击,简单地说也可以将其归入此类软件中。洪水软件还可以用作邮件炸弹或者聊天式炸弹,这些都是经过简化并由网络安全爱好者程序化的“傻瓜式”软件,也就是本书一开始指责的“伪黑客”手中经常使用的软件。

  五、密码破解:

  网络安全得以保证的最实用方法是依靠各种加密算法的密码系统,黑客也许可以很容易获得一份暗文密码文件,但是如果没有加密算法,它仍然无法获得真正的密码,因此使用密码破解类软件势在必行,利用电脑的高速计算能力,此类软件可以用密码字典或者穷举等方式还原经过加密的暗文。

  六、欺骗:

  如果希望获得上面提到的明文密码,黑客需要对暗文进行加密算法还原,但如果是一个复杂的密码,破解起来就不是那么简单了。但如果让知道密码的人直接告诉黑客密码的原型,是不是更加方便?欺骗类软件就是为了完成这个目的而设计的。

  七、伪装:

  网络上进行的各种操作都会被ISP、服务器记录下来,如果没有经过很好的伪装就进行黑客动作,很容易就会被反跟踪技术追查到黑客的所在,所以伪装自己的IP地址、身份是黑客非常重要的一节必修课,但是伪装技术需要高深的网络知识,一开始没有坚实的基础就要用到这一类软件了。

  第四节、学习黑客的基本环境

  一、操作系统的选择:

  我们经常听说黑客酷爱Linux系统,这是因为Linux相对Windows提供了更加灵活的操作方式,更加强大的功能。例如对于IP地址的伪造工作,利用Linux系统编写特殊的IP头信息可以轻松完成,然而在Windows系统下却几乎不可能做到。但是Linux也有它不足的一面,这个系统的命令庞杂、操作复杂,并不适合初学者使用,而且对于个人学习者,并没有过多的人会放弃“舒适”的Windows、放弃精彩的电脑游戏和便捷的操作方式,去全心投入黑客学习中。而且对于初学黑客的学习者来说,大多数网络知识都可以在Windows系统中学习,相对Linux系统,Windows平台下的黑客软件也并不在少数,另外通过安装程序包,Windows系统中也可以调试一定量的程序,因此初步学习黑客没有必要从Linux入手。

  本书使用的平台WindowsME,因为对于个人用户来说,NT或者2000多少有些苛刻——系统配置要求太高;然而使用95或者98又缺少某些必要的功能——NET、TELNET命令不完善。但是本书的大部分内容测试漏洞,从远程服务器出发,所以也不是非要WindowsME操作系统进行学习,对于少数系统版本之间的差异,学习者可以和我联系获得相应系统的学习方法。

  二、需要的常用软件:

  如果你的系统是WindowsME,那么告诉你一个好消息——你没有必要安装过多的额外软件,因为我们接触的黑客知识依靠系统提供给我们的命令和内置软件就足可以完成了!除了基本的操作系统以外,学习者还需要安装各类扫描器,之后下载一个比较优秀的木马软件、一个监听类软件,除此以外别无它求。如果有必要,读者可以自行安装本文上述软件,然后学习其用法,但是我要告诉你,对于各类炸弹、还有网络上各式各样的黑客软件,在学习完本书后,你都可以自己制作、自己开发,根本没有必要使用他人编写的软件。

  对于扫描器和监听软件,我给出以下建议,并且在本书的后面还会对这几个软件进行详细介绍:

  扫描器:x-scanner

  下载地址:http://www.xfocus.org/

  监听软件:analyzer

  下载地址:http://netgroup-serv.polito.it/netgroup/tools.html

  木马:BackOffice

  下载地址:http://www.hack-net.com/

  这三个软件都是免费的,而且功能异常强大。像xscanner是国产软件,他集成了多种扫描功能于一身,并且同时支持控制台和图形界面两种操作方式,另外提供了详细的漏洞使用说明。对于初学者来说,具备了这两个工具,学习黑客已经绰绰有余了。

  三、额外的工具:

  如果可以安装下面的工具,将会对学习黑客有莫大的帮助,当然下面的软件主要是学习额外内容并为“第二部分”学习作铺垫用的,所以没有也不会妨碍本书的学习。

  1、后台服务器:

  拥有某些网络应用的后台服务程序,可以将自己的电脑设置成一个小型服务器,用来学习相应的网络应用,从“内部”了解其运作机理,这将会大大提高自己对服务器的感性认识,同时还能够在激活服务器的时候;监测自己服务器上的数据,如果有其他黑客来攻击,则可以清晰的记录下对方的攻击过程,从而学习到更多的黑客攻击方法。对于本书而言,主要介绍网站的Perl和asp等脚本语言漏洞,所以可以安装一个IIS或者HTTPD。然后在安装ActivePerl,使自己的服务器具备编译cgi和pl脚本的能力。使用自己的服务器还有一个好处,可以节省大量的上网时间,将学习、寻找漏洞的过程放到自己的电脑上,既节省了金钱、有不会对网络构成威胁,一举两得。

  2、C语言编译平台:

  今后在学习黑客的路途中,将会遇到很多“属于自己的问题”,这些问题网络上的其他人可能不会注意,所以无法找到相应的程序,这个时候学习者就要自己动手开发有关的工具了,所以安装一个Borland C++将会非常便捷,通过这个编译器,学习者既可以学习C语言,也能够修改本书后面列出的一些小程序,打造一个属于自己的工具库。

  四、网络安全软件分类

  现在我们来了解一下有关网络安全软件的分类,因为学习黑客知识是两个相互联系的过程:既学习如何黑,还要学会如何防止被黑。

  1、防火墙:

  这是网络上最常见的安全机制软件,防火墙有硬件的、也有软件的,大多数读者看到的可能更多都是软件防火墙。其功能主要是过滤垃圾信息(保证系统不会受到炸弹攻击)、防止蠕虫入侵、防止黑客入侵、增加系统隐私性(对敏感数据进行保护)、实时监控系统资源,防止系统崩溃、定期维护数据库,备份主要信息……防火墙可以将系统本身的漏洞修补上,让黑客没有下手的机会。另外对于拥有局域网的企业来说,防火墙可以限制系统端口的开放,禁止某些网络服务(杜绝木马)。

  2、检测软件:

  互联网上有专门针对某个黑客程序进行清除的工具,但是这类软件更多是集成在杀毒软件或者防火墙软件内的,对于系统内的木马、蠕虫可以进行检测并清除,软件为了保护系统不受侵害,会自动保护硬盘数据、自动维护注册表文件、检测内容可以代码、监测系统端口开放状态等。如果用户需要,软件还可以编写有关的脚本对指定端口进行屏蔽(防火墙一样具备此功能)。

  3、备份工具:

  专门用来备份数据的工具可以帮助服务器定期备份数据,并在制定时间更新数据,这样即便黑客破坏了服务器上的数据库,软件也可以在短时间内完全修复收到入侵的数据。另外对于个人用户,这类软件可以对硬盘进行完全映像备份,一旦系统崩溃,用户利用这类软件可以将系统恢复到原始状态,例如Ghost就是这类软件中的佼佼者。

  4、日志纪录、分析工具:

  对于服务器来说,日志文件是必不可少的,管理员可以通过日志了解服务器的请求类型和请求来源,并且根据日志判断系统是否受到黑客攻击。通过日志分析软件,管理员可以轻松的对入侵黑客进行反追踪,找到黑客的攻击来源,进而抓不黑客。这也就是为什么黑客在攻击的时候多采用IP地址伪装、服务器跳转,并在入侵服务器之后清除日志文件的原因。

  以前,我曾认为只要不随便运行网友发来的文件就不会中病毒或木马,但后来出现了利用漏洞传播的冲击波、震荡波;以前,我曾认为不上小网站就不会中网页木马,但后来包括国内某知名游戏网站在内的多个大网站均在其首页被黑客挂上了木马。从此,我知道:安全,从来没有绝对的。

  虽然没有绝对的安全,但如果能知已知彼,了解木马的隐藏手段,对于木马即使不能百战百胜,也能做到及时发现,使损失最小化。那么,木马究竟是如何躲在我们的系统中的呢?

  最基本的隐藏:不可见窗体+隐藏文件

  木马程序无论如何神秘,但归根究底,仍是Win32平台下的一种程序。Windows下常见的程序有两种:

  1.Win32应用程序(Win32 Application),比如QQ、Office等都属于此行列。

  2.Win32控制台程序(Win32 Console),比如硬盘引导修复程序FixMBR。

  其中,Win32应用程序通常会有应用程序界面,比如系统中自带的“计算器”就有提供各种数字按钮的应用程序界面。木马虽然属于Win32应用程序,但其一般不包含窗体或隐藏了窗体(但也有某些特殊情况,如木马使用者与被害者聊天的窗口),并且将木马文件属性设置为“隐藏”,这就是最基本的隐藏手段,稍有经验的用户只需打开“任务管理器”,并且将“文件夹选项”中的“显示所有文件”勾选即可轻松找出木马,于是便出现了下面要介绍的“进程隐藏”技术。  

  第一代进程隐藏技术:Windows 98的后门

  在Windows 98中,微软提供了一种能将进程注册为服务进程的方法。尽管微软没有公开提供这种方法的技术实现细节(因为Windows的后续版本中没有提供这个机制),但仍有高手发现了这个秘密,这种技术称为RegisterServiceProcess。只要利用此方法,任何程序的进程都能将自己注册为服务进程,而服务进程在Windows 98中的任务管理器中恰巧又是不显示的,所以便被木马程序钻了空子。

  要对付这种隐藏的木马还算简单,只需使用其他第三方进程管理工具即可找到其所在,并且采用此技术进行隐藏的木马在Windows 2000/XP(因为不支持这种隐藏方法)中就得现形!中止该进程后将木马文件删除即可。可是接下来的第二代进程隐藏技术,就没有这么简单对付了。

  第二代进程隐藏技术:进程插入

  在Windows中,每个进程都有自己的私有内存地址空间,当使用指针(一种访问内存的机制)访问内存时,一个进程无法访问另一个进程的内存地址空间,就好比在未经邻居同意的情况下,你无法进入邻居家吃饭一样。比如QQ在内存中存放了一张图片的数据,而MSN则无法通过直接读取内存的方式来获得该图片的数据。这样做同时也保证了程序的稳定性,如果你的进程存在一个错误,改写了一个随机地址上的内存,这个错误不会影响另一个进程使用的内存。

  你知道吗——进程(Process)是什么

  对应用程序来说,进程就像一个大容器。在应用程序被运行后,就相当于将应用程序装进容器里了,你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。

  一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件,另一个则接收用户的按键操作并及时做出反应,互相不干扰),在程序被运行后中,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程

  1.进程插入是什么

  独立的地址空间对于编程人员和用户来说都是非常有利的。对于编程人员来说,系统更容易捕获随意的内存读取和写入操作。对于用户来说,操作系统将变得更加健壮,因为一个应用程序无法破坏另一个进程或操作系统的运行。当然,操作系统的这个健壮特性是要付出代价的,因为要编写能够与其他进程进行通信,或者能够对其他进程进行操作的应用程序将要困难得多。但仍有很多种方法可以打破进程的界限,访问另一个进程的地址空间,那就是“进程插入”(Process Injection)。一旦木马的DLL插入了另一个进程的地址空间后,就可以对另一个进程为所欲为,比如下文要介绍的盗QQ密码。

  2.木马是如何盗走QQ密码的

  普通情况下,一个应用程序所接收的键盘、鼠标操作,别的应用程序是无权“过问”的。可盗号木马是怎么偷偷记录下我的密码的呢?木马首先将1个DLL文件插入到QQ的进程中并成为QQ进程中的一个线程,这样该木马DLL就赫然成为了QQ的一部分!然后在用户输入密码时,因为此时木马DLL已经进入QQ进程内部,所以也就能够接收到用户传递给QQ的密码键入了,真是“家贼难防”啊!

  3.如何插入进程

  (1)使用注册表插入DLL

  早期的进程插入式木马的伎俩,通过修改注册表中的[HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWindowsAppInit_DLLs]来达到插入进程的目的。缺点是不实时,修改注册表后需要重新启动才能完成进程插入。

  (2)使用挂钩(Hook)插入DLL

  比较高级和隐蔽的方式,通过系统的挂钩机制(即“Hook”,类似于DOS时代的“中断”)来插入进程(一些盗QQ木马、键盘记录木马以Hook方式插入到其他进程中“偷鸡摸狗”),需要调用SetWindowsHookEx函数(也是一个Win32 API函数)。缺点是技术门槛较高,程序调试困难,这种木马的制作者必须具有相当的Win32编程水平。

  你知道吗——什么是API

  Windows中提供各种功能实现的接口称为Win32 API(Application Programming Interface,即“应用程序编程接口”),如一些程序需要对磁盘上的文件进行读写,就要先通过对相应的API(文件读写就要调用文件相关的API)发出调用请求,然后API根据程序在调用其函数时提供的参数(如读写文件就需要同时给出需要读写的文件的文件名及路径)来完成请求实现的功能,最后将调用结果(如写入文件成功,或读取文件失败等)返回给程序。

  (3)使用远程线程函数(CreateRemoteThread)插入DLL

  在Windows 2000及以上的系统中提供了这个“远程进程”机制,可以通过一个系统API函数来向另一个进程中创建线程(插入DLL)。缺点很明显,仅支持Windows 2000及以上系统,在国内仍有相当多用户在使用Windows 98,所以采用这种进程插入方式的木马缺乏平台通用性。

  木马将自身作为DLL插入别的进程空间后,用查看进程的方式就无法找出木马的踪迹了,你能看到的仅仅是一些正常程序的进程,但木马却已经偷偷潜入其中了。解决的方法是使用支持“进程模块查看”的进程管理工具(如“Windows优化大师”提供的进程查看),木马的DLL模块就会现形了。

  不要相信自己的眼睛:恐怖的进程“蒸发”

  严格地来讲,这应该算是第2.5代的进程隐藏技术了,可是它却比前几种技术更为可怕得多。这种技术使得木马不必将自己插入到其他进程中,而可以直接消失!

  它通过Hook技术对系统中所有程序的进程检测相关API的调用进行了监控,“任务管理器”之所以能够显示出系统中所有的进程,也是因为其调用了EnumProcesses等进程相关的API函数,进程信息都包含在该函数的返回结果中,由发出调用请求的程序接收返回结果并进行处理(如“任务管理器”在接收到结果后就在进程列表中显示出来)。

  而木马由于事先对该API函数进行了Hook,所以在“任务管理器”(或其他调用了列举进程函数的程序)调用EnumProcesses函数时(此时的API函数充当了“内线”的角色),木马便得到了通知,并且在函数将结果(列出所有进程)返回给程序前,就已将自身的进程信息从返回结果中抹去了。就好比你正在看电视节目,却有人不知不觉中将电视接上了DVD,你在不知不觉中就被欺骗了。

  所以无论是“任务管理器”还是杀毒软件,想对这种木马的进程进行检测都是徒劳的。这种木马目前没有非常有效的查杀手段,只有在其运行前由杀毒软件检测到木马文件并阻止其病毒体的运行。当时还有一种技术是由木马程序将其自身的进程信息从Windows系统用以记录进程信息的“进程链表”中删除,这样进程管理工具就无法从“进程链表”中获得木马的进程信息了。但由于缺乏平台通用性而且在程序运行时有一些问题,所以没有被广泛采用。

  你知道吗——什么是Hook

  Hook是Windows中提供的一种用以替换DOS下“中断”的一种系统机制,中文译名为“挂钩”或“钩子”。在对特定的系统事件(包括上文中的特定API函数的调用事件)进行Hook后,一旦发生已Hook的事件,对该事件进行Hook的程序(如:木马)就会收到系统的通知,这时程序就能在第一时间对该事件做出响应(木马程序便抢在函数返回前对结果进行了修改)。

  毫无踪迹:全方位立体隐藏

  利用刚才介绍的Hook隐藏进程的手段,木马可以轻而易举地实现文件的隐藏,只需将Hook技术应用在文件相关的API函数上即可,这样无论是“资源管理器”还是杀毒软件都无法找出木马所在了。更令人吃惊的是,现在已经有木马(如:灰鸽子)利用该技术实现了文件和进程的隐藏。要防止这种木马最好的手段仍是利用杀毒软件在其运行前进行拦截。

  跟杀毒软件对着干:反杀毒软件外壳

  木马再狡猾,可是一旦被杀毒软件定义了特征码,在运行前就被拦截了。要躲过杀毒软件的追杀,很多木马就被加了壳,相当于给木马穿了件衣服,这样杀毒软件就认不出来了,但有部分杀毒软件会尝试对常用壳进行脱壳,然后再查杀(小样,别以为穿上件马夹我就不认识你了)。除了被动的隐藏外,最近还发现了能够主动和杀毒软件对着干的壳,木马在加了这种壳之后,一旦运行,则外壳先得到程序控制权,由其通过各种手段对系统中安装的杀毒软件进行破坏,最后在确认安全(杀毒软件的保护已被瓦解)后由壳释放包裹在自己“体内”的木马体并执行之。对付这种木马的方法是使用具有脱壳能力的杀毒软件对系统进行保护。

  你知道吗——什么是壳

  顾名思义,你可以很轻易地猜到,这是一种包在外面的东西。没错,壳能够将文件(比如EXE)包住,然后在文件被运行时,首先由壳获得控制权,然后释放并运行包裹着的文件体。很多壳能对自己包住的文件体进行加密,这样就可以防止杀毒软件的查杀。比如原先杀毒软件定义的该木马的特征是“12345”,如果发现某文件中含有这个特征,就认为该文件是木马,而带有加密功能的壳则会对文件体进行加密(如:原先的特征是“12345”,加密后变成了“54321”,这样杀毒软件当然不能靠文件特征进行检查了)。脱壳指的就是将文件外边的壳去除,恢复文件没有加壳前的状态。

  现在不少人倾向于使用Server版的操作系统进行网络服务的架设。不可否认,和Pro版系统相比,Server版的系统的确给个人用户提供了更为强大的网络管理功能。但是,当你查看系统进程时,面对众多进程,你可知Server版操作系统在你的后台启动了哪些服务吗?这些服务安全吗?你是否真的需要这些服务呢?  

  普通用户常用Windows 2000 Server来架设个人服务器,然而在系统运行时自动启动的服务中,有些是系统运行所必需的,有些是可以停用或禁用的。同时,很多服务还存在一些安全隐患,我们必须将这些危险服务关闭。看来,随随便便地享受“服务”也会给我们带来安全隐患。今天就让我们来了解一下个人服务器架设者们需要更改或慎用的十大服务。

  提示:系统为Windows 2000 Pro的用户同样可以通过本文了解自己的系统中的服务。由于该系统是针对家庭个人用户的,它所提供的网络方面的管理工具并不完善,所以,对于想架设个人服务器的普通用户来说,还是应该采用Windows 2000 Server。

  Messenger

  危害种类:信息骚扰

  危害系数:★★★

  这是发送和接收系统管理员或“警报器”服务消息的服务。  

  自微软公司于90年代中期推出32位操作系统以来,该服务就一直是Windows操作系统中不可缺少的一部分。

  现在,很多垃圾邮件发送者都利用这一功能向计算机用户发送垃圾信息,建议大家禁用该服务。

  Remote Registry Service

  危害种类:恶意攻击

  危害系数:★★★★

  该服务允许远程用户通过简单的连接就能修改本地计算机上的注册表设置。

  知道管理员账号和密码的人远程访问注册表是很容易的。打开注册表编辑器,选择“文件”菜单中的“连接网络注册表”选项,在“选择计算机”对话框里的“输入要选择的对象名称”下的输入框中输入对方的IP地址,点击“确定”按钮便会出现一个“输入网络密码”对话框,输入管理员账号和密码,点击“确定”按钮后就可对目标机器的注册表进行修改了。

  现在,不少木马后门程序可以通过此服务来修改目标机器的注册表,强烈建议大家禁用该项服务。

  ClipBook

  危害种类:信息泄露

  危害系数:★★★

  这个服务允许任何已连接的网络中的其他用户查看本机的剪贴板。为了安全,强烈建议大家将该服务设置为手动。ClipBook所支持的ClipBook Viewer程序可以允许剪贴页被远程计算机上的ClipBook浏览,可以使用户能够通过网络连接来剪切和粘贴文本和图形。

  Computer Browser

  危害种类:信息泄露

  危害系数:★★

  这个服务可以将当前机器所使用网络上的计算机列表提供给那些请求得到该列表的程序(很有可能是恶意程序),很多黑客可以通过这个列表得知当前网络中所有在线计算机的标志并展开进一步的攻击。建议一般用户禁用该服务。

  Indexing Service

  危害种类:信息泄露

  危害系数:★★★★★

  Indexing Service是一个搜索引擎。这个索引服务应该算是多数IIS Web服务器上诸多安全弱点的根源。同时,它也是很多蠕虫病毒爆发的罪魁祸首,例如曾流行一时的红色代码就是利用IIS的缓冲区溢出漏洞和索引服务来进行传播的,而著名的蓝色代码和尼姆达则是分别利用IIS服务的IFRAMEExecCommand、Unicode漏洞来进行传播。

  因此,如果你不需要架设Web服务器,请一定要关闭该项服务。

  DNS Client

  危害种类:信息泄露

  危害系数:★★

  该服务是用于查询DNS缓存记录的。可用于对某个已入侵的系统进行DNS查询,可加速DNS查询的速度。攻击者在取得用户的Shell后,可以通过ipconfig/displaydns命令查看用户的缓存内容,获知你所访问过的网站。

  Server   

  危害种类:信息泄露、恶意攻击

  危害系数:★★★★★  

  该服务提供RPC支持以及文件、打印和命名管道共享。Server服务是作为文件系统驱动器来实现的,可以处理I/O请求。如果用户没有提供适当的保护,会暴露系统文件和打印机资源。

  对于Windows 2000系统而言,这是一个高风险服务。Windows 2000中默认共享的存在就是该服务的问题。如果不禁用该服务,每次注销系统或开机后,默认共享就会打开,你的所有重要信息都将暴露出来。同时,由于很多Windows 2000使用者为了使用方便把管理员密码设置为空密码或非常简单的密码组合,这给了黑客可乘之机。

  在此提醒大家,除非你打算在Windows网络上共享文件或打印机,否则就不要运行该服务。

  Workstation

  危害种类:信息泄露

  危害系数:★★★

  该服务以一个文件系统驱动器的形式工作,并且可以允许用户访问位于Windows网络上的资源。该服务应当只在位于某个内部网络中并受到某个防火墙保护的工作站和服务器上运行。在任何可以连接到Internet的服务器上都应该禁用这个服务。需要提醒大家的是一些独立服务器(例如Web服务器)是不应当加入到某个Windows网络中的。

  TCP/IP NetBIOS Helper Service

  危害种类:恶意攻击

  危害系数:★★★★

  在Windows构建的网络中,每一台主机的唯一标志信息是它的NetBIOS名。系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,从而实现信息通讯。在这样的网络内部,利用NetBIOS名实现信息通讯是非常方便、快捷的。但是在Internet上,它就和一个后门程序差不多了。它很有可能暴露出当前系统中的NetBIOS安全性弱点,例如大家所熟悉的139端口入侵就是利用了此服务。

  由于NetBIOS是基于局域网的,因此,只需要访问Internet资源的一般用户可以禁用它,除非你的系统处于局域网中。

  Terminal Services

  危害种类:恶意攻击

  危害系数:★★★★★

  该服务提供多会话环境,允许客户端设备访问虚拟的系统桌面会话以及运行在服务器上的基于Windows的程序并打开默认为3389的对外端口,允许外来IP的连接(著名的3389攻击所依靠的服务就是它)。对于这个非常危险的服务,只有“禁用”。

  配置服务的方法:进入“服务”窗口,右键点击要配置的服务,然后点击“属性”。可根据需要在“常规”选项卡中,点击“自动”、“手动”或“已禁用”。

  这么多有安全隐患的服务如果没有被广大的个人服务器爱好者所关注,那么黑客入侵简直是易如反掌,服务器被攻占只是迟早的事。笔者在此提醒大家,不要忽略一切看似微不足道的设置,其实合理运用Windows自身的安全机制,也能很好地提升服务器的安全系数。