第03讲黑客常用命令3.1DOS与命令基础知识3.2IP与端口基础知识3.3常用命令的使用目标、重点、难点目标:理解什么是命令.掌握IP和端口基础知识,掌握常用命令的使用.重点:常用命令的使用难点:常用命令的使用DOS及其构成DOS是英文DiskOperatingSystem的缩写,意思是“磁盘操作系统”,顾名思义,DOS主要是一种面向磁盘的系统软件,有了DOS,人们开始不必去深入了解机器的硬件结构,也不必去死记硬背那些枯燥的机器命令。2.1DOS与命令基础知识我们只需通过一些接近于自然语言的DOS命令,就可以轻松地完成绝大多数的日常操作。另外,DOS还能有效地管理各种软硬件资源,对它们进行合理的调度,所有的软件和硬件都在DOS的监控和管理之下,有条不紊地进行着自己的工作。最初的计算机采用的都是DOS操作系统,后来,微软公司开发了Windows操作系统,又叫做Windows操作平台。由于Windows操作平台简单易学,不必记忆大量的英文命令,而且功能也越来越完善,所以特别受大家的欢迎。DOS主要由三个基本文件和一些外部命令组成,三个基本文件是MSDOS.SYS、IO.SYS和COMMAND.COM。其中,MSDOS.SYS称为DOS的内核,它主要用来管理和启动系统的各个部件,为DOS的引导做好准备工作。IO.SYS主要负责系统的基本输入和输出,即DOS于各个部件的联系。COMMAND.COM文件是DOS与用户的接口,它主要提供了一些DOS的内部命令。磁盘是否具有启动DOS的能力,就看它是否具有这三个文件,具有这三个文件的磁盘称为引导盘。而除此之外还包含许多DOS外部命令的磁盘称为系统盘。DOS命令又分内部命令和外部命令。内部命令又称为驻机命令,它是随着DOS系统的启动同时被加载到内存里且长驻内存。也就是说,只要启动了DOS系统,我们就可以使用内部命令。外部命令是储存在磁盘上的可执行文件,执行这些外部命令需要从磁盘将其文件调入内存,因此,外部命令只有该文件存在时才能使用。带有.COM、.EXE、.BAT等扩展名的文件都可看成是外部命令。常用的内部命令有MD、CD、RD、DIR、PATH、COPY、TYPE、EDIT、REN、DEL、CLS、VER、DATE、TIME、PROMPT。常用的外部命令有DELTREE、FORMAT、DISKCOPY、LABEL、VOL、SYS、XCOPY、FC、ATTRIB、MEM、TREE。DOS命令的格式DOS命令的一般格式如下:命令动词〔参数1〕〔参数2〕……每一条DOS命令实际上都是一个可执行的文件,命令动词就是这个文件的文件名。每条DOS命令都以命令动词开头,后面接着若干个参数,有的命令动词后面也可以不接参数。DOS系统对命令的书写和使用作了如下规定:●命令动词与参数之间必须用空格分开。●命令中的字母可以大写,也可以小写。●许多命令中有一组可选择的参数,它们以“/”开始,后跟一个指定的字符,这些参数之间的前后位置可以颠倒。●每一条DOS命令输入完后都必须按回车键,表示一个命令的结束。IP地址概念众所周知,在电话通讯中,电话用户是靠电话号码来识别的。同样,在网络中为了区别不同的计算机,也需要给计算机指定一个号码,这个号码就是“IP地址”。2.2IP与端口基础知识所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP(TransportControlProtocol/InternetProtocol,传输控制协议/Internet协议)协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。有人会以为,一台计算机只能有一个IP地址,这种观点是错误的。我们可以指定一台计算机具有多个IP地址,因此在访问互联网时,不要以为一个IP地址就是一台计算机;另外,通过特定的技术,也可以使多台服务器共用一个IP地址,这些服务器在用户看起来就像一台主机似的。将IP地址分成了网络号和主机号两部分,设计者就必须决定每部分包含多少位。网络号的位数直接决定了可以分配的网络数(计算方法2^网络号位数);主机号的位数则决定了网络中最大的主机数(计算方法2^主机号位数-2)。然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明的选择了一种灵活的方案:将IP地址空间划分成不同的类别,每一类具有不同的网络号位数和主机号位数。IP地址的类型1.A类IP地址一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围1.0.0.1-126.255.255.254(二进制表示为:00000001000000000000000000000001-01111110111111111111111111111110)。可用的A类网络有126个,每个网络能容纳1677214个主机。2.B类IP地址一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围128.1.0.1-191.255.255.254(二进制表示为:10000000000000010000000000000001-10111111111111111111111111111110)。可用的B类网络有16384个,每个网络能容纳65534主机。3.C类IP地址一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围192.0.1.1-223.255.255.254(二进制表示为:11000000000000000000000100000001-11011111111111111111111011111110)。C类网络可达2097152个,每个网络能容纳254个主机。4.D类地址用于多点广播(Multicast)。D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。地址范围224.0.0.1-239.255.255.2545.E类IP地址以“1111”开始,为将来使用保留。E类地址保留,仅作实验和开发用。全零(“0.0.0.0”)地址指任意网络。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。TCP/IP协议需要针对不同的网络进行不同的设置,且每个节点一般需要一个“IP地址”、一个“子网掩码”、一个“默认网关”。固定IP:特殊服务器才拥有。动态IP:不过,由于IP资源的稀缺,一般用户不具备固定IP。可以通过动态主机配置协议(DHCP),给客户端自动分配一个IP地址,避免了出错,也简化了TCP/IP协议的设置。IP地址的分配公有的IP地址都由国际组织NIC(NetworkInformationCenter)负责统一分配,目前全世界共有三个这样的网络信息中心。InterNIC:负责美国及其他地区;ENIC:负责欧洲地区;APNIC:负责亚太地区。我国申请IP地址要通过APNIC,APNIC的总部设在日本东京大学。申请时要考虑申请哪一类的IP地址,然后向国内的代理机构提出。IP地址的申请私有地址(Privateaddress)属于非注册地址,专门为组织机构内部使用。以下列出留用的内部私有地址:A类10.0.0.0--10.255.255.255B类172.16.0.0--172.31.255.255C类192.168.0.0--192.168.255.255计算机端口是英文port的译义,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。端口的含义在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的IP地址来进行互联网络中的路由选择。可见,把数据包顺利的传送到目的主机是没有问题的。问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给众多同时运行的进程(服务)中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。需要注意的是,端口并不是一一对应的。比如你的电脑作为客户机访问一台服务器时,服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“3457”这样的端口。端口其实就是队(类比银行排队),操作系统为各个进程分配了不同的队,数据包按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。不光接受数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口,这样,数据包中将会标识有源端口,以便接受方能顺利的回传数据包到这个端口。如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:256×256)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0到65535(256×256-1)。端口可以分为:公认端口(常用端口,已经占用)、注册端口、动态和私有端口。端口的分类有人曾经把服务器比作房子,而把端口比作通向不同房间(服务)的门,如果不考虑细节的话,这是一个不错的比喻。入侵者要占领这间房子,势必要破门而入(物理入侵另说),那么对于入侵者来说,了解房子开了几扇门,都是什么样的门,门后面有什么东西就显得至关重要。入侵者通常会用扫描器对目标主机的端口进行扫描,以确定哪些端口是开放的,从开放的端口,入侵者可以知道目标主机大致提供了哪些服务,进而猜测可能存在的漏洞,因此对端口的扫描可以帮助我们更好的了解目标主机,而对于管理员,扫描本机的开放端口也是做好安全防范的第一步。端口在入侵中的作用Ping命令PING(PacketInternetGrope),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet控制报文协议,TCP/IP协议族中的子协议)回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。2.3常用命令的使用netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。Natstat命令net命令是功能强大的以命令行方式执行的工具。它包含了管理网络环境、服务、用户、登陆等Windows98/NT/2000中大部分重要的管理功能。使用它可以轻松的管理本地或者远程计算机的网络环境,以及各种服务程序的运行和配置。或者进行用户管理和登陆管理等。Net命令telnet命令用于远程登录,互联网早期的的BBS论坛都是采用telnet登录的。一旦telnet成功地连接到远程