计算机网络实验

实验一 UTP双绞线的制作
一、实验目的
理解直连线和交叉线的应用范围,掌握直连线和交叉线的制作方法。
二、实验内容
制作RJ45网线

三、实验环境
RJ45卡线钳、水晶头、双绞线、测试仪
四、实验原理
4.1物理层概述
物 理层是七层结构中的第一层,物理层的功能就是实现在传输介质上传输各种数据的比特流。物理层并不是物理设备和物理媒体,它定义了建立、维护和拆除物理链路 的规范和协议,同时定义了物理层接口通信的标准,包括机械的、电气的、功能的和规程的特性。机械特性定义了线缆接口的形状、引线数目及如何排列等。电气的 特性说明哪根线上出现的电压
应为什么范围。功能的特性说明某根线上的某一电平的电压代表何种意义。规程的特性则说明对于不同的功能各种可能时间的 出现顺序。物理介质提供数据传输的物理通道,连接各种网络设备。我们将传输介质分为有线传输介质和无线传输介质两大类。有线介质包括同轴电缆、双绞线、光 纤;无线介质则有卫星、微波、红外线等。
4.2 双绞线概述
双绞线由两根具有绝缘保护层的铜导线组成。两根线安按照一定的密度相互绞在一 起,就可以改变导线的电气特性,从而降低信号的干扰程度。双绞线电缆比较柔软,便于在墙角等不规则地方施工,但信号的衰减比较大。在大多数应用下,双绞线 的最大布线长度为100米。双绞线分为两种类型:非屏蔽双绞线和屏蔽双绞线。
4.3 双绞线连接
双绞线采用的是RJ-45 连接器,俗称水晶头。RJ45 水晶头由金属片和塑料构成,特别需要注意的是引脚序号,当金属片面对我们的时候从左至右引脚序号是1-8, 这序号做网络联线时非常重要,不能搞错。按照双绞线两端线序的不同,我们一般划分两类双绞线:一类两端线序排列一致,称为直连线;另一类是改变线的排列顺 序,称为交叉线。
线序如下:
直通线:(机器与集线器连)
1   2    3    4    5    6    7    8
A 端:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕;
B 端:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕。

交叉线:(机器直连、集线器普通端口级联)
1    2   3    4    5     6    7   8
A 端:橙白,橙,绿白,蓝,蓝白,绿,棕白,棕;
B 端:绿白,绿,橙白,蓝,蓝白,橙,棕白,棕。
在 进行设备连接时,我们需要正确的选择线缆。我们将设备的RJ45接口分为MDI和MDIX两类。当同种类型的接口通过双绞线互连时,使用交叉线;当不同类 型的接口通过双绞线互连时使用直连线。通常主机和路由器的接口属于MDI,交换机和集线器的接口属于MDIX。例如,路由器和主机相连,采用交叉线;交换 机和主机相连则采用直连线。


主机
路由器
交换机MDIX
交换机MDI
集线器
主机
交叉
交叉
直连
N/A
直连
路由器
交叉
交叉
直连
N/A
直连
交换机MDIX
直连
直连
交叉
直连
交叉
交换机MDI
N/A
N/A
直连
交叉
直连
集线器
直连
直连
交叉
直连
交叉

五、实验步骤
1、基本过程
(1)剪下一段长度的电缆
(2)用压线钳在电缆的一端剥去约2cm护套。
(3)分离4对电缆,按照所做双绞线的线序标准(T568A或T568B)排列整齐,并将线弄平直。
(4)维持电缆的线序和平整性,用压线钳上的剪刀将线头剪齐,保证不绞合电缆的长度最大为1.2cm。
(5)将有序的线头顺着RJ-45头的插口轻轻插入,插到底,并确保护套也被插入。
(6)再将RJ-45头塞到压线钳里,用力按下手柄。就这样一个接头就做好了。
(7)用同样的方法制做另一个接头。
(8)用简单测试仪检查电缆的连通性。
(9)注意:如果两个接头的线序都按照T568A或T568B标准制作,则作好的线为直通缆;如果一个接头的线序按照T568A标准制作,而另一个接头的线序按照T568B标准制作,则作好的线为交叉缆。
2、制作流程
制作直连和交叉双绞线
步骤1:准备好5类线、RJ-45插头和一把专用的压线钳(图:步骤1)。
步骤2:用压线钳的剥线刀口将5类线的外保护套管划开(小心不要将里面的双绞线的绝缘层划破),刀口距5类线的端头至少2厘米(图:步骤2)。


步骤3:将划开的外保护套管剥去(旋转、向外抽) (图:步骤3)。
步骤4:露出5类线电缆中的4对双绞线(图:步骤4)。


步骤5:按照EIA/TIA-568B标准和导线颜色将导线按规定的序号排好(图:步骤5)。
步骤6:将8根导线平坦整齐地平行排列,导线间不留空隙(图:步骤6)。
 
步骤7:准备用压线钳的剪线刀口将8根导线剪断(图:步骤7)。
步骤8:剪断电缆线。请注意:一定要剪得很整齐。剥开的导线长度不可太短。可以先留长一些。不要剥开每根导线的绝缘外层(图:步骤8)。
 
步骤9:将剪断的电缆线放入RJ-45插头试试长短(要插到底),电缆线的外保护层最后应能够在RJ-45插头内的凹陷处被压实。反复进行调整(图:步骤9)。
步骤10:在确认一切都正确后(特别要注意不要将导线的顺序排列反了),将RJ-45插头放入压线钳的压头槽内,准备最后的压实(图:步骤10)。
 
步骤11:双手紧握压线钳的手柄,用力压紧(图:步骤11a)(图:步骤11b)。请注意,在这一步骤完成后,插头的8个针脚接触点就穿过导线的绝缘外层,分别和8根导线紧紧地压接在一起。


步骤12:完成(图:步骤13)。

六、实验反思
(1) 对于主机来说,交换机和路由器都属于异种设备,为什么交换机用直连线,而路由器用交叉线?
(2) 如果现在只有直连线若干,同时还有一个交换机和一个路由器,我们需要建立主机和路由器之间的连接可以采取什么样的办法?
(3)查阅相关书籍说出屏蔽双绞线和非屏蔽双绞线之间的区别。


实验二 常见网络命令的使用
一、实验目的
理解、验证常用网络命令的原理和功能,掌握常用的网络命令使用方法,合理使用相关命令对网络进行管理与维护
二、实验内容
1. 网络参数查询命令:IPCONFIG和IP地址相关计算
2. 网络测试命令:网络质量定性分析和网络故障检测
3. 路由表命令ROUTE
4. 网络端口查询命令:NETSTAT
5. 以太网络 ARP 表命令和MAC绑定
三、实验环境
Windows 2000/xp/2003 操作系统
四、实验步骤
4.1 IPCONFIG
ipconfig 实用程序和它的等价图形用户界面——windows 95/98 中的winipcfg 可用于显示当前的tcp/ip配置的设置值。这些信息一般用来检验人工配置的tcp/ip设置是否正确。但是,如果你的计算机和所在的局域网使用了动态主 机配置协议(dynamic hostconfiguration protocol,dhcp——windows nt 下的一种把较少的ip 地址分配给较多主机使用的协议,类似于拨号上网的动态ip分配),这个程序所显示的信息也许更加实用。这时,ipconfig可以让你了解你的计算机是否 成功的租用到一个ip地址,如果租用到则可以了解它目前分配到的是什么地址。了解计算机当前的ip地址、子网掩码和缺省网关实际上是进行测试和故障分析的 必要项目。
最常用的选项:
ipconfig——当使用ipconfig时不带任何参数选项,那么它为每个已经配置了的接口显示ip地址、子网掩码和缺省网关值。
ipconfig /all——当使用all 选项时,ipconfig能为dns 和wins 服务器显示它已配置且所要使用的附加信息(如ip地址等),并且显示内置于本地网卡中的物理地址(mac)。如果ip地址是从dhcp服务器租用 的,ipconfig将显示dhcp服务器的ip地址和租用地址预计失效的日期(有关dhcp服务器的相关内容请详见其他有关nt服务器的书籍或询问你的 网管)。
ipconfig /release和ipconfig /renew——这是两个附加选项,只能在向dhcp服务器租用其ip 地址的计算机上起作用。如果你输入ipconfig /release,那么所有接口的租用ip 地址便重新交付给dhcp 服务器(归还ip 地址)。如果你输入ipconfig /renew,那么本地计算机便设法与dhcp服务器取得联系,并租用一个ip地址。请注意,大多数情况下网卡将被重新赋予和以前所赋予的相同的ip地 址。
如果你使用的是windows 95/98,那么你应该更习惯使用winipcfg 而不是ipconfig,因为它是一个图形用户界面,而且所显示的信息与ipconfig相同,并且也提供发布和更新动态ip地址的选项 如果你购买了windows ntresource kit(nt资源包),那么windows nt 也包含了一个图形替代界面,该实用程序的名字是wntipcfg,和windows95/98的winipcfg类似。
如运行IPCONFIG.EXE则运行结果如下:
Windows IP Configuration
Ethernet adapter 本地连接:
Connection-specific DNS Suffix  . :
IP Address. . . . . . . . . . . . : 168.168.120.66
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 168.168.120.250
4.2 ping命令
ping 是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,你就可以推断tcp/ip参数是否设置得正 确以及运行是否正常。需要注意的是:成功地与另一台主机进行一次或两次数据报交换并不表示tcp/ip配置就是正确的,你必须执行大量的本地主机与远程主 机的数据报交换,才能确信tcp/ip的正确性。
简单的说,ping就是一个测试程序,如果ping运行正确,你大体上就可以排除网络访问层、 网卡、modem的输入输出线路、电缆和路由器等存在的故障,从而减小了问题的范围。但由于可以自定义所发数据报的大小及无休止的高速发送,ping 也被某些别有用心的人作为ddos(拒绝服务攻击)的工具,前段时间yahoo就是被黑客利用数百台可以高速接入互联网的电脑连续发送大量ping 数据报而瘫痪的。 按照缺省设置,windows上运行的ping命令发送4个icmp(网间控制报文协议)回送请求,每个32字节数据,如果一切正常,你应能得到4个回送 应答。ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络连接速度比较快。 ping还能显示ttl(time to live存在时间)值,你可以通过ttl值推算一下数据包已经通过了多少个路由器:源地点ttl起始值(就是比返回ttl略大的一个2的乘方数)-返回时 ttl值。例如,返回ttl值为119,那么可以推算数据报离开源地址的ttl起始值为128,而源地点到目标地点要通过9个路由器网段 (128-119);如果返回ttl值为246,ttl起始值就是256,源地点到目标地点要通过9个路由器网段。  
通过ping检测网络故障 的典型次序。正常情况下,当你使用ping命令来查找问题所在或检验网络运行情况时,你需要使用许多ping命令,如果所有都运行正确,你就可以相信基本 的连通性和配置参数没有问题;如果某些ping命令出现运行故障,它也可以指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障:
ping 127.0.0.1——这个ping命令被送到本地计算机的ip软件,该命令永不退出该计算机。如果没有做到这一点,就表示tcp/ip的安装或运行存在某些最基本的问题。  
ping 本机ip——这个命令被送到你计算机所配置的ip 地址,你的计算机始终都应该对该ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送 该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的ip地址。  
ping 局域网内其他ip——这个命令应该离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果 收到0个回送应答,那么表示子网掩码(进行子网分割时,将ip地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。
ping 网关ip——这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。
ping 远程ip——如果收到4 个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问internet(但不排除isp的dns会有问题)。
ping localhost——localhost是个作系统的网络保留名,它是127.0.0.1的别名,每太计算机都应该能够将该名字转换成该地址。如果没有做到这一带内,则表示主机文件(/windows/host)中存在问题。  
ping http://www.yahoo.com/——对这个域名...是通过dns 服务器如果这里出现故障,则表示dns服务器的ip地址配置不正确或dns服务器有故障(对于拨号上网用户,某些isp 已经不需要设置dns 服务器了)。顺便说一句:你也可以利用该命令实现域名对ip地址的转换功能。
如果上面所列出的所有ping命令都能正常运行,那么你对你的计算机进行本地和远程通信的功能基本上就可以放心了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。下面出示ping命令及其输出的例子:
C:\WINIdoWS>ping 198.87.118.1
Pinging 198.98.118.1 whit 32 bytes of data:
Reply from 198.98.118.1:bytes=32 time=224ms TTL=14
Reply from 198.98.118.1:bytes=32 time=213ms TTl=14
Reply from 198.98.118.1:bytes=32 time=213ms TTl=14
Reply from 198.98.118.1:bytes=32 time=213ms TTl=14
除 了帮助判断伺时一台主机不能达到和测试路由器及其他主机的连接外,ping还可测试路由问题。当使用一台主机时,如果用ping获取它的IP地址,但 Ping未能到达该主机时,那么该主机可能没有列在DNS服务器或是本地的Hosts文件中,或是指定的是一个无效的DNS服务器或该DNS服务器是不可 到达的。这时可以通过向Hosts文件中输入远程主机的名字和IP地址(正在ping的那台主机)来缓解这个问题。
在开始用ping工具进行远程主机连接或路由问题解决之前,应该首先用ping测试计算机来验证它的网络接口正在正确工作。要测试自己的机器,可使用下面命令的任意一个(用你的计算机的实际1P地址代替yourIPaddress):
ping locatlhost
pring 127.0.0.1
ping yourIPqaddress
提示:可通过使用带有—r参数的ping命令判断到远程主机的包所选择的路由。
下面是ping命令的语法:
ping[-t][-a][-n count][-l length][-f][-ittl][-vtos][-rcount][-scount][[-j host-list]]|[-k
host-list)[-w timeout]destination-list
ping命令可用的参数说明如下:
-t。引导ping继续测试远程主机直到按Ctrl+C中断该命令。
-a。使ping命令不要把IP地址分解成host主机名,这对解决DNS和Hosts文件问题是有用的。
-n count。缺省情况下,ping发送四个ICMP包到远程主机,可以使用-n参数指定被发送的包的数目。
-l length。使用-l参数指定ping传送到远程主机的ICMP包的长度。缺省情况下,ping  发送长度为64bytes的包,但是可指定最大字节数为8192bytes。
-f。使ping 命令在每个包中都包含一个Do Not Fragment(不分段)的标志,它禁止包(packet)经过的网关把packet分段。
-i ttl。设定Time To Live(存活时间)。用ttl 指定其值。
-v tos。设置Type Of Service(服务类型),其值由toS 指定。
-r count。记录发出的packet 和返回的packet 的路由,必须使用count 的值指定l到9个主机。
-s count。由count 指定的段的数目指定时间标记(timestamp)。
-j host-list。使用户能够使用路由表说明packet 的路径,可以使用中间网关分隔连续的主机。IP支持的最大主机的数目是9个。
-k host-Iist。使用户通过由host-list 指定的路由列表说明packet 的路由,可通过中间网关分隔连续的主机,IP支持的最大主机的数目是9个。
-w timeout。为包的传输以毫秒为单位指定超时时间。
destination-list。指定ping的主机。
4.3 ROUTE
大多数主机一般都是驻留在只连接一台路由器的网段上。由于只有一台路由器,因此不存在使用哪一台路由器将数据报发表到远程计算机上去的问题,该路由器的ip地址可作为该网段上所有计算机的缺省网关来输入。
但是,当网络上拥有两个或多个路由器时,你就不一定想只依赖缺省网关了。实际上你可能想让你的某些远程ip地址通过某个特定的路由器来传递,而其他的远程ip则通过另一个路由器来传递。
在 这种情况下,你需要相应的路由信息,这些信息储存在路由表中,每个主机和每个路由器都配有自己独一无二的路由表。大多数路由器使用专门的路由协议来交换和 动态更新路由器之间的路由表。但在有些情况下,必须人工将项目添加到路由器和主机上的路由表中。route就是用来显示、人工添加和修改路由表项目的。  
一般使用选项:
route print——本命令用于显示路由表中的当前项目,由于用ip地址配置了网卡,因此所有的这些项目都是自动添加的。
route add——使用本命令,可以将信路由项目添加给路由表。例如,如果要设定一个到目的网络209.98.32.33的路由,其间要经过5个路由器网段,首先 要经过本地网络上的一个路由器,器ip为202.96.123.5,子网掩码为255.255.255.224,那么你应该输入以下命令:
route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5  
route change——你可以使用本命令来修改数据的传输路由,不过,你不能使用本命令来改变数据的目的地。下面这个例子可以将数据的路由改到另一个路由器,它采用一条包含3个网段的更直的路径:
route add 209.98.32.33 mask 255.255.255.224 202.96.123.250 metric 3 route delete——使用本命令可以从路由表中删除路由。例如:route delete 209.98.32.33
4.4 netstat
netstat实用程序是一个诊断工具,可以使用它监视到远程主机的连接以及该连接的协议统计。netstat实用程序对从使用域名连接到的主机中提取IP地址也是有用的。netstat命令的语法如下:
netstat [-a][-ens][-p protocol][-r][interval]
下面列出丁netstat命令中可使用的参数:
-a。使netstat显示所有连接,正常情况下,netstat不显示服务器的连接。
-e。使netstat显示Enhernet的统计。—e参数可与—s参数联合使用(在后面解释)。
-n。使netstat用数字格式显示地址和端口号而不是用host.domain格式列出名字。
-s。使用netstat显示基于每个协议的统计。缺省情况,nestat显示TCP,UDP,ICMP和IP协议的统计。
-p protocol。显示由protocol 参数指定的协议连接。
-r。使netstat显示路由表的内容。interval。可指定一个间隔,单位为秒。在该间隔netstat 显示请求的信息,要中断netstat的输出,按Ctrl+C。如果不包括interval的值,则netstat仅显示一次请求的数据,然后中断。
提 示:如果想获取所连接的主机IP地址,可使用带—n参数的netstat命令。下面 的例子使用没有任何参数的netstat来显示连接的主机,然后又发出带-n参数的netstat来驱动该IP 地址,可从第二次输出中分辨出Microsoft ftp 服务器的IP 地址是198.105.Z32.1。
C:\WINDOWS>netstat Active Connections Proto Local Address  Foreign Address  State
TCP
tower:1283
 ftp.microsoft.COm:ftp  
ESTABLISHED
C:\WiNdoWS>netstat -n


Active Connections


Proto Local Address
 Foreign Address
State
TCP
189.87.118.72:1283
 198.105.232.1:2l
  ESTABLISHED

除了使用netstat从host。domain名字中查找到IP地址外,也可从一个主机的1P地址查找到它的host.domain名字。
经 常上网的人一般都使用icq的,不知道你有没有被一些讨厌的人骚扰得不敢上线,想投诉却又不知从和下手?其实,你只要知道对方的ip,就可以向他所属的 isp投诉了。但怎样才能通过icq知道对方的ip呢?如果对方在设置icq时选择了不显示ip地址,那你是无法在信息栏中看到的。其实,你只需要通过 netstat就可以很方便的做到这一点:当他通过icq或其他的工具与你相连时(例如你给他发一条icq信息或他给你发一条信息),你立刻在dos prompt下输入netstat -n或netstat -a 就可以看到对方上网时所用的ip或isp域名了,甚至连所用port都完全暴露了。

4.5以太网络 ARP 表命令和MAC绑定
1. ARP命令
通过arp命令可以查看ARP高速缓存中的内容,可以清除缓存中的地址映射,建立新的地址映射
常用命令选项:
arp -a或arp -g--用于查看高速缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARP高速缓存中所有项目的选项,而 Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。
arp -a IP--如果你有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相关的ARP缓存项目。
arp -s IP 物理地址——你可以向ARP高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。
arp -d IP--使用本命令能够人工删除一个静态项目。

2. MAC绑定
在校园网络中,最方便的捣乱方法就是盗用别人的IP地址,被盗用IP地址的计算机不仅不能正常使用校园网络,而且还会频繁出现IP地址被占用的提示对话框,给校园网络安全和用户应用带来极大的隐患。捆绑IP地址和MAC地址就能有效地避免这种现象。
如何查找MAC地址
1、在Windows 9x/2000/XP下单击“开始/程序”,找到“MS-DOS方式”或“命令提示符”。
2、在命令提示符下输入:“Ipconfig/all”,回车后出现如附图所示的对话框,其中的“Physical Address”即是所查的MAC 地址。
捆绑IP地址和MAC地址可以按以下方式进行:
进入“MS-DOS方式”或“命令提示符”,在命令提示符下输入命令:ARP - s 10.88.56.72 00-10-5C-AD-72-E3,即可把MAC 地址和IP地址捆绑在一起。
这样,就不会出现IP地址被盗用而不能正常使用校园网络的情况(当然也就不会出现错误提示对话框),可以有效保证校园网络的安全和用户的应用。
注意:ARP命令仅对局域网的上网代理服务器有用,而且是针对静态IP地址,如果采用Modem拨号上网或是动态IP地址就不起作用。
4.6 NET
NET命令是一个命令行命令, 管理网络环境、服务、用户、登陆……等本地信息 ,该命令的不同参数的基本用法为:
(1)NET VIEW
作 用:显示域列表、计算机列表或指定计算机的共享资源列表。  命令格式:net view [\\computername | /domain[:domainname]]  参数介绍:
键入不带参数的net view 显示当前域的计算机列表。  
\\computername指定要查看其共享资源的计算机。
/domain[:domainname]指定要查看其可用计算机的域。
简单示例:
net view \\YFANG查看YFANG的共享资源列表。  
net view /domain:LOVE 查看LOVE 域中的机器列表。
(2)NET USER
作 用:添加或更改用户帐号或显示用户帐号信息。该命令也可以写为 net users。
命令格式:net user [username [password | *] [options]] [/domain]  
参数介绍:
user 查看计算机上的用户帐号列表。
username添加、删除、更改或查看用户帐号名。
password为用户帐号分配或更改密码。  
*提示输入密码。  
/domain在计算机主域的主域控制器中执行操作。
简单示例:
net user yfang 查看用户YFANG 的信息
(3)NET USE
作 用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。  
命 令格式:net use [devicename | *] [\\computername\sharename[\volume]] [password| *]][/user:[domainname\]username] [[/delete]|[/persistent:{yes | no}]]  
参数介绍:
键入不带参数的net use列出网络连接。
devicename指定要连接到的资源名称或要断开的设备名称。  \\computername\sharename服务器及共享资源的名称。
password访问共享资源的密码。  
*提示键入密码。
/user 指定进行连接的另外一个用户。
domainname指定另一个域。
username 指定登录的用户名。
/home将用户连接到其宿主目录。
/delete取消指定网络连接。
/persistent控制永久网络连接的使用。  
简单示例:
net use e: \\YFANG\TEMP 将\\YFANG\TEMP 目录建立为E 盘
net use e: \\YFANG\TEMP /delete 断开连接
(4)NET TIME
作 用:使计算机的时钟与另一台计算机或域的时间同步。  
命令格式:net time [\\computername | /domain[:name]] [/set]  
参数介绍:
\\computername 要检查或同步的服务器名。
/domain[:name]指定要与其时间同步的域。  
/set使本计算机时钟与指定计算机或域的时钟同步。
 (5)Net Start
作 用:启动服务,或显示已启动服务的列表。  
命令格式:net start service
(6)NET STOP
作 用:停止 Windows NT 网络服务。
命令格式:net stop service
参数介绍:
alerter(警报)
client service for netware(Netware 客户端服务)  
clipbook server(剪贴簿服务器)  
computer browser(计算机浏览器)  
directory replicator(目录复制器)
ftp publishing service (ftp )(ftp 发行服务)
lpdsvc
net logon(网络登录)
network dde(网络dde)
network dde dsdm(网络 dde dsdm)
network monitor agent(网络监控代理)
(7)Net Statistics
作 用:显示本地工作站或服务器服务的统计记录。  
命令格式:net statistics [workstation | server]  
参数介绍:
键入不带参数的net statistics 列出其统计信息可用的运行服务。  workstation显示本地工作站服务的统计信息。  
server显示本地服务器服务的统计信息。  
简单事例:
net statistics server | more 显示服务器服务的统计信息  
(8) Net Share
作 用:创建、删除或显示共享资源。  
命令格式:net share sharename=drive:path [/users:number | /unlimited]
[/remark:"text"]  参数介绍:
share 显示本地计算机上所有共享资源的信息。
sharename是共享资源的网络名称。
drive:path指定共享目录的绝对路径。  
/users:number设置可同时访问共享资源的最大用户数。  
/unlimited不限制同时访问共享资源的用户数。  
/remark:"text "添加关于资源的注释,注释文字用引号引住。
简单事例:
net share mylove=c:\temp /remark:"my first share"以mylove 为共享名共享C:\temp
net share mylove /delete 停止共享mylove 目录  
(9)Net Send  
作 用:向网络的其他用户、计算机或通信名发送消息。  
命令格式:net send {name | * | /domain[:name] | /users} message  
参数介绍:
name要接收发送消息的用户名、计算机名或通信名。  
*将消息发送到组中所有名称。  
/domain[:name]将消息发送到计算机域中的所有名称。
/users将消息发送到与服务器连接的所有用户。
message作为消息发送的文本。  
简单事例:
net send /users server will shutdown in 5 minutes.给所有连接到服务器的用户发送消息
实验三 常用网络服务器的安装与配置
一、实验目的
掌握Windows 2000/2003 Server 网络操作系统的Web 和FTP服务器的安装与设置方法。
二、实验内容
在Windows 2000/2003 Server上安装Web、FTP服务器,并学习和掌握这些服务器的常用配置、管理与维护方法。
三、实验环境
(1)服务器一台(可用普通机PC 做为服务器,已安装Windows 2000/2003 Server)
(2)客户机若干台(可按班级分成若干组)
(3)Windows 2000/2003 Server 软件(可放在指定的共享网络目录中)
四、实验步骤
(一)Web服务器的安装与配置
1、Web 服务器的安装
开始->设置->控制面板->添加程序->添加WINDOWS 组件
->应用程序服务器 ->详细信息->IIS
2、Web 服务器的管理与配置
开始->程序->管理工具->INTERNET 信息服务管理器
(1)创建网站
右击站点-->新建->网站->进入向导对话框
(2)配置WEB 服务器
右击站点->属性
WEB 站点:IP 地址(一机建多站点时需设置相应的IP 地址)
TCP 端口:80
主目录:默认(C:\INETPUB\WWWROT
文档: 默认(DEFAUTL.HTM)
3.Web 服务器上的网页发布
(1)先将WEB 服务器主目录下的文件删除
C:\INETPUB\WWWROT
(2) 再将自己的网页文件复制到该目录下
(3) 将其中主页文件名改成"文档"选项卡中设置的
默认文档:DEFAULT.HTM
(4) 在客户机上登录服务器(WLS),直接在IE 浏览器输入下列地址之一:
HTTP://WEB 服务器的IP 地址
例:HTTP:// 192.168.0.48
HTTP://WEB 服务器机器名
例:HTTP://admin.abc.com

(二)FTP服务器的安装与配置
1.FTP 服务器的安装
安装:开始->设置->控制面板->添加程序->添加WINDOWS 组件->INTERNET 应用程序服务(IIS)->详细信息->FTP
2.创建第一个FTP 站点
开始->程序->管理工具->INTERNET 信息服务->单击默认FTP 站点->属性
主目录: 选浏览->选定后确定
设置访问权限:读或写
3.在客户机上登录服务器
(1) 连接服务器
直接在IE 浏览器输入下列URL:
FTP://FTP 服务器的IP 地址
例:FTP:// 192.168.0.48
FTP://FTP 服务器机器名
例:FTP://WLSJ01
(2) 测试:文件的下载->上传(服务器复制)
(3)用专用的FTP 客户端软件(如CutFtp)测试上传与下载文件。
(4)用FTP 命令管理FTP 站点
*连接主机
格式 FTP 主机名
说明: 用户名:FTP
密码: FTP
*下载文件
格式 GET 源文件名 目标文件名
*上传文件
格式 PUT 源文件名 目标文件名
(三)、构建自己的域名服务器(在windows组件的网络服务中,可以按上述操作添加上)
1、打开DNS控制台:选“开始菜单→程序→管理工具→DNS”。

2、建立域名“admin.abc.com”映射IP地址“192.168.0.50”的主机记录。
①建立“com”区域:选“DNS→WY(你的服务器名)→正向搜索区域→右键→新建区域”,然后根据提示选“标准主要区域”、在“名称”处输入“com”。如下图:

②建立“abc”域:选“com→右键→新建域”,在“键入新域名”处输入“abc”。
③建立“admin”主机。选“abc→右键→新建主机”,“名称”处为“admin”,“IP地址”处输入“192.168.0.50”,再按“添加主机”。


3、建立域名“www.abc.com”映射IP地址“192.168.0.48”的主机记录。
①由于域名“www.abc.com”和域名“admin.abc.com”均位于同一个“区域”和“域”中,均在上步已建立好,因此应直接使用,只需再在“域”中添加相应“主机名”即可。
②建立“www”主机:选“abc→右键→新建主机”,在“名称”处输入“www”,“IP地址”处输入“192.168.0.48”,最后再“添加主机”即可。
4、建立域名“ftp.abc.com”映射IP地址“192.168.0.49”的主机记录方法同上。
5、建立域名“abc.com”映射IP地址“192.168.0.48”的主机记录方法也和上述相同,只是必须保持“名称”一项为空!建立好后它的“名称”处将显示“与父文件夹相同”。建立好的DNS控制台如下图所示
6、建立更多的主机记录或其他各种记录方法类似。更多的建立后如下图所示:

7、建立时也有可以采用将“abc.com”整个作为“区域”,然后在它下面直接建立“主机”的作法。不过对于同类记录较多时,这种方法显得较为不便。
8、DNS设置后的验证
为了测试所进行的设置是否成功,通常采用2K自带的“ping”命令来完成。格式如“ping www.abc.com”。成功的测试如下图所示
11、改变问题记录数据,比如:发送域名是www.sina.com.cn(可以向自己建的域名)的DNS请求 ,在协议分析器截获报文,查出对应的IP地址是多少?

(四)、构建DHCP服务器:(在windows组件的网络服务中,可以按上述操作添加上)

DHCP 是动态主机配置协议(Dynamic Host Configure Protocol)的缩写。一台DHCP服务器可以让管理员集中指派和指定全局的和子网特有的TCP/IP参数(含IP地址、网关、DNS服务器等)供整 个网络使用。客户机不需要手动配置TCP/IP;并且,当客户机断开与服务器的连接后,旧的IP地址将被释放以便重用,根据这个特性,比如你只拥有20个 合法的IP地址,而你管理的机器有50台,只要这50台机器同时使用服务器DHCP服务的不超过20台,则你就不会产生IP地址资源不足的情况。
如果已配置冲突检测设置,则 DHCP 服务器在将租约中的地址提供给客户机之前会试用Ping测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP地址都没有被使用手动TCP/IP配置的另一台非 DHCP 计算机使用。
二、DHCP的设置
1、打开DHCP管理器。选“开始菜单→程序→管理工具→DHCP”,默认的,里面已经有了你的服务器的FQDN( Fully Qualified Domain Name,完全合格域名),比如“wy.wangyi.santai.com.cn”。如下图:
2、如果列表中还没有任何服务器,则需添加DHCP服务器。选“DHCP→右键→添加服务器”,选“此服务器”,再按“浏览”选择(或直接输入)服务器名“wy”(即你的服务器的名字)。
3、打开作用域的设置窗口。先选中FQDN名字,再按“右键→新建作用域”。
4、设置作用域名。此地的“名称”项只是作提示用,可填任意内容。如下图:

5、 设置可分配的IP地址范围:比如可分配“192.168.0.10~192.168.0.244”,则在“起始IP地址”项填写 “192.168.0.10”,“结束IP地址”项填写“192.168.0.244;“子网掩码”项为“255.255.255.0”。如下图:


7、下面的“租约期限”可设定DHCP服务器所分配的IP地址的有效期,比如设一年(即365天)。如下图:


8、 选“是,我想配置这些选项”以继续配置分配给工作站的默认的网关、默认的DNS服务地址、默认的WINS服务器,在所有有IP地址的栏目均输入并“添加” 服务器的IP地址“192.168.0.48”后再根据提示选“是,我想激活作用域”再点击“完成”即可结束最后设置。
实验四 邮件服务器的安装与配置
一、实验目的
掌握Windows2000 Server 网络操作系统的邮件服务器的安装与设置方法。
二、实验内容
在Windows 2000/2003上安装邮件服务器,并学习和掌握邮件服务器的常用配置和维护功能。
三、实验环境
(1)服务器一台(可用普通机PC 做为服务器,已安装Windows2000 Server)
(2)客户机若干台(可按班级分成若干组)
(3)邮件服务器软件(北京遥志CMailServer)(可放在指定的共享网络目录中)
四、实验步骤
1、邮件服务器CMailServer 安装
检查Windows2003 Server 是否安装IIS。(如果没有安装,则先安装IIS)
检查Windows2003 Server 是否安装DNS。(如果没有安装,则先安装DNS,并设置域名为topmail.com,那么你的邮件地址格式就是 -- user@topmail.com,SMTP 地址和POP3 地址就是服务器的IP 地址。)
运行邮件服务器CMailServer 安装目录的cmailsetup.exe 安装文件。
邮件服务器CMailServer 的设置,
进入邮件服务器->点击系统设置-> 在CMailServer 的设置里将邮箱域名设置成
topmail.com,服务选择作为局域网邮件服务器。(见下图)

增加邮件帐号
客户端设置与邮件的收发
客户端用IE 浏览器收发邮件:
(1)设置客户端能与邮件服务器连通。
(2)用IE 浏览器收发邮件WebMail :在IE 浏览器输入地址URL:http://邮件服务器
IP/mail/
(3)输入帐号与密码,进入邮件服务器的收发邮件的页面。可测试发一封信给自己:
user@topmail.net.然后收信,是否收到?
客户端用OutLook 收发邮件:
设置OutLook 的账号、STMP 邮件服务器地址与POP3 邮件服务器址:
(1)设置邮件
帐号。在OutLook 中点击[工具]→[帐号]→[添加]→[邮件]→按向导完成设置。输
入POP3 和SMTP 服务器址为你安装的邮件服务器的IP 地址。

(2)用OutLook 收发邮件测试
第二部分: Windows Socket程序设计
一、客户机/服务器模式
在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:

首先服务器方要先启动,并根据请示提供相应服务:(过程如下)
1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。
2、等待客户请求到达该端口。
3、接收到重复服务请求,处理该请求并发送应答信号。
4、返回第二步,等待另一客户请求
5、关闭服务器。
客户方:
1、打开一通信通道,并连接到服务器所在主机的特定端口。
2、向服务器发送服务请求报文,等待并接收应答;继续提出请求……
3、请求结束后关闭通信通道并终止。

 二、基本套接字
为了更好说明套接字编程原理,给出几个基本的套接字,在以后的篇幅中会给出更详细的使用说明。
1、创建套接字——socket()
功能:使用前创建一个新的套接字号
// 该调用要接收三个参数:af、type、protocol。参数af指定通信发生的区域,UNIX系统支持的地址族有:AF_UNIX、AF_INET、 AF_NS等,而DOS、WINDOWS中仅支持AF_INET,它是网际网区域。因此,地址族与协议族相同。参数type 描述要建立的套接字的类型。 SOCK_STREAM  SOCK_DGRAM; 参数protocol说明该套接字使用的特定协议,如果调用者不希望特别指定使用的协议,则置为0,使用默认的连接模式。根据这三个参数建立一个套接字, 并将相应的资源分配给它,同时返回一个整型套接字号。


2、指定本地地址——bind()
功能:将套接字地址与所创建的套接字号联系起来。
格式:int PASCAL FAR bind(SOCKET s,const struct sockaddr FAR * name,int namelen);
参数:s: 是由socket()调用返回的并且未作连接的套接字描述符(套接字号)。
其它:没有错误,bind()返回0,否则SOCKET_ERROR
地址结构说明:
struct sockaddr_in
{
short sin_family;         //AF_INET
u_short sin_port;         //16位端口号,          网络字节顺序
struct in_addr sin_addr;   //32位IP地址,        网络字节顺序
char sin_zero[8];        //保留
}

// 网络字节顺序 不同的计算机存放多字节值的顺序不同,有的机器在起始地址存放低位字节(低价先存),有的存高位字节(高价先存)。为保证数据的正确性,在 网络协议中须指定网络字节顺序。TCP/IP协议使用16位整数和32位整数的高价先存格式,它们均含在协议头文件中。

3、建立套接字连接——connect()和accept()
功能:共同完成连接工作
格式:int PASCAL FAR connect(SOCKET s,const struct sockaddr FAR * name,int namelen);
参数:s是欲建立连接的本地套接字描述符。参数name指出说明对方套接字地址结构的指针。对方套接字地址长度由namelen说明。
如果没有错误发生,connect()返回0。否则返回值SOCKET_ERROR。在面向连接的协议中,该调用导致本地系统和外部系统之间连接实际建立。
由于地址族总被包含在套接字地址结构的前两个字节中,并通过socket()调用与某个协议族相关。因此bind()和connect()无须协议作为参数。

SOCKET PASCAL FAR accept(SOCKET s,struct sockaddr FAR * addr,int FAR * addrlen);
参 数:s为本地套接字描述符,在用做accept()调用的参数前应该先调用过listen()。addr 指向客户方套接字地址结构的指针,用来接收连接 实体的地址。addr的确切格式由套接字创建时建立的地址族决定。addrlen 为客户方套接字地址的长度(字节数)。如果没有错误发 生,accept()返回一个SOCKET类型的值,表示接收到的套接字的描述符。否则返回值INVALID_SOCKET。
accept() 用于面向连接服务器。参数addr和addrlen存放客户方的地址信息。调用前,参数addr 指向一个初始值为空的地址结构,而addrlen 的初 始值为0;调用accept()后,服务器等待从编号为s的套接字上接受客户连接请求,而连接请求是由客户方的connect()调用发出的。当有连接请 求到达时,accept()调用将请求连接队列上的第一个客户方套接字地址及长度放入addr 和addrlen,并创建一个与s有相同特性的新套接字 号。新的套接字可用于处理服务器并发请求。
4、监听连接——listen()
功能:用于面向连接服务器,表明它愿意接收连接。
格式:int PASCAL FAR listen(SOCKET s, int backlog);
参 数:s标识一个本地已建立、尚未连接的套接字号,服务器愿意从它上面接收请求。backlog表示请求连接队列的最大长度,用于限制排队请求的个数,目前 允许的最大值为5。如果没有错误发生,listen()返回0。否则它返回SOCKET_ERROR。 listen()在执行调用过程中可为没有调用过 bind()的套接字s完成所必须的连接,并建立长度为backlog的请求连接队列。 调用listen()是服务器接收一个连接请求的四个步骤中的第 三步。它在调用socket()分配一个流套接字,且调用bind()给s赋于一个名字之后调用,而且一定要在accept()之前调用。
5、数据传输——send()与recv()
int send( SOCKET s,    const char FAR *buf,    int len,    int flags );  
不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。
客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。
该函数的第一个参数指定发送端套接字描述符;
第二个参数指明一个存放应用程序要发送数据的缓冲区;
第三个参数指明实际要发送的数据的字节数;
第四个参数一般置0
这 里只描述同步Socket的send函数的执行流程。当调用该函数时,send先比较待发送数据的长度len和套接字s的发送缓冲区的长度,如果len大 于s的发送缓冲区的长度,该函数返回SOCKET_ERROR;如果len小于或者等于s的发送缓冲区的长度,那么send先检查协议是否正在发送s的发 送缓冲中的数据,如果是就等待协议把数据发送完,如果协议还没有开始发送s的发送缓冲中的数据或者s的发送缓冲中没有数据,那么send就比较s的发送缓 冲区的剩余空间和len,如果len大于剩余空间大小send就一直等待协议把s的发送缓冲中的数据发送完,如果len小于剩余空间大小send就仅仅把 buf中的数据copy到剩余空间里(注意并不是send把s的发送缓冲中的数据传到连接的另一端的,而是协议传的,send仅仅是把buf中的数据 copy到s的发送缓冲区的剩余空间里)。如果send函数copy数据成功,就返回实际copy的字节数,如果send在copy数据时出现错误,那么 send就返回SOCKET_ERROR;如果send在等待协议传送数据时网络断开的话,那么send函数也返回SOCKET_ERROR。
要 注意send函数把buf中的数据成功copy到s的发送缓冲的剩余空间里后它就返回了,但是此时这些数据并不一定马上被传到连接的另一端。如果协议在后 续的传送过程中出现网络错误的话,那么下一个Socket函数就会返回SOCKET_ERROR。(每一个除send外的Socket函数在执行的最开始 总要先等待套接字的发送缓冲中的数据被协议传送完毕才能继续,如果在等待时出现网络错误,那么该Socket函数就返回SOCKET_ERROR)


** 注意-既然发送和接收数据是将数据发送的协议的缓冲区中,那么协议的缓冲区大小如何取得呢?默认的情况下协议缓冲区大小是Windows 是4K字节。系统提供了一个函数取得协议缓冲区的大小。
int getsockopt(int s,int level,int optname,void *optval, socklen_t *optlen);
函数参数描述如下:
1 要进行选项检验的套接口s
2 选项检验所在的协议层level
3 要检验的选项optname
4 指向接收选项值的缓冲区的指针optval
5 指针optlen同时指向输入缓冲区的长度和返回的选项长度值
当函数成功时返回0。当发生错误时会返回-1,而错误原因会存放在外部变量errno中。
协议层参数指明了我们希望访问一个选项所在的协议栈。通常我们需要使用下面中的一个:SOL_SOCKET来访问套接口层选项
SOL_TCP来访问TCP层选项
我们在这一章的讨论将会专注于SOL_SOCKET层选项的使用。
参数optname为一个整数值。在这里所使用的值首先是由所选用的level参数来确定的。在一个指定的协议层,optname参数将会确定我们希望访问哪一个选项。下表列出了一些层与选项的组合值:
协议层        选项名字
SOL_SOCKET    SO_REUSEADDR
SOL_SOCKET    SO_KKEPALIVE
SOL_SOCKET    SO_LINGER
SOL_SOCKET    SO_BROADCAST
SOL_SOCKET    SO_OOBINLINE
SOL_SOCKET    SO_SNDBUF
SOL_SOCKET    SO_RCVBUF
SOL_SOCKET    SO_TYPE
SOL_SOCKET    SO_ERROR
SOL_TCP        SO_NODELAY

上表所列的大多数选项为套接口选项,其中的层是由SOL_SOCKET指定的。为了比较的目的包含了一个TCP层套接口选项,其中的层是由SOL_TCP指定的。

大多数套接口选项获得后存放在int数据类型中。数据类型int通常会有一些假设,除非表明了其他东西。当使用一个布尔值时,当值为非零时,int表示TRUE,而如果为零,则表示FALSE。
例子:
    int z;
    int s=-1;            
    int sndbuf=0;        
    int rcvbuf=0;        
    socklen_t optlen;      //就是一个整形。  
    optlen = sizeof sndbuf;
    z = getsockopt(s,SOL_SOCKET,SO_SNDBUF,&sndbuf,&optlen);
    optlen = sizeof rcvbuf;
z = getsockopt(s,SOL_SOCKET,SO_RCVBUF,&rcvbuf,&optlen);

int recv( SOCKET s,   char FAR *buf,    int len,   int flags   );   
不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。
该函数的第一个参数指定接收端套接字描述符;
第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据;
第三个参数指明buf的长度;
第四个参数一般置0。
这 里只描述同步Socket的recv函数的执行流程。当应用程序调用recv函数时,1)recv先等待s的发送缓冲中的数据被协议传送完毕,如果协议在 传送s的发送缓冲中的数据时出现网络错误,那么recv函数返回SOCKET_ERROR,2) 如果s的发送缓冲中没有数据或者数据被协议成功发送完毕后,recv先检查套接字s的接收缓冲区,3) 如果s接收缓冲区中没有数据或者协议正在接收数据,那么recv就一直等待,只到协议把数据接收完毕。
当协议把数据接收完毕,recv函数就把s 的接收缓冲中的数据copy到buf中(注意协议接收到的数据可能大于buf的长度,所以在这种情况下要调用几次recv函数才能把s的接收缓冲中的数据 copy完。recv函数仅仅是copy数据,真正的接收数据是协议来完成的),recv函数返回其实际copy的字节数。如果recv在copy时出 错,那么它返回SOCKET_ERROR;如果recv函数在等待协议接收数据时网络中断了,那么它返回0。
6、多路复用——select()
功能:用来检测一个或多个套接字状态。
格式:int PASCAL FAR select(int nfds,fd_set FAR * readfds,fd_set FAR * writefds,
fd_set FAR * exceptfds,const struct timeval FAR * timeout);
参数:readfds:指向要做读检测的指针
writefds:指向要做写检测的指针
exceptfds:指向要检测是否出错的指针
timeout:最大等待时间

7、关闭套接字——closesocket()
功能:关闭套接字s
格式:BOOL PASCAL FAR closesocket(SOCKET s);

转载于:https://www.cnblogs.com/zjushuiping/archive/2012/05/30/2527018.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值