网工课程设计文档.docx
- 文档编号:27377901
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:27
- 大小:644.61KB
网工课程设计文档.docx
《网工课程设计文档.docx》由会员分享,可在线阅读,更多相关《网工课程设计文档.docx(27页珍藏版)》请在冰豆网上搜索。
网工课程设计文档
目录
一、实验名称1
二、实验目的1
三、实验原理1
四、实验步骤4
1、三个服务器的安装与配置4
1.web、ftp服务器的安装与配置4
2.dns服务器的安装与配置6
2、服务器测试运行6
3、sniffer抓包及分析6
1.arp包分析7
2.icmp包分析9
3.web服务器的抓包分析13
4.dns服务器的抓包分析18
5.ftp服务器的抓包分析22
五、实验小结25
一、
实验名称
基于Dns的Ftp和web服务访问研究
二、实验目的
1、熟练掌握web、dns、ftp三个服务器的安装。
2、理解三种服务器的访问过程。
3、用sniffer抓取访问过程中的数据包加以分析。
三、实验原理
1.ARP(地址解析协议)
地址解析协议(AddressResolutionProtocol,ARP)是在
仅知道主机的IP地址时确定其物理地址的一种协议。
在A不知道B的MAC地址的情况下,A就广播一个ARP请求包,请求包中填有B的IP(192.168.1.2),以太网中的所有计算机都会接收这个请求,而正常的情况下只有B会给出ARP应答包,包中就填充上了B的MAC地址,并回复给A。
A得到ARP应答后,将B的MAC地址放入本机缓存,便于下次使用。
本机MAC缓存是有生存期的,生存期结束后,将再次重复上面的过程。
ARP协议并不只在发送了ARP请求才接收ARP应答。
当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。
因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。
由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。
所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!
这就是一个简单的ARP欺骗。
2.DNS(域名解析协议)
DNS是计算机域名系统(DomainNameSystem或DomainNameService)的缩写,它是由解析器和域名服务器组成的。
域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
其中域名必须对应一个IP地址,而IP地址不一定只对应一个域名。
域名系统采用类似目录树的等级结构。
在Internet上,一个域名要由两台域名服务器提供“权威性的”域名解析。
这里的“权威性”,指的是被服务的域名的所有记录是由这两台服务器唯一决定的。
虽然Internet上的其他域名服务器上都可能保存有该域名的记录,但那些记录是从这两台“权威性”的域名服务器上拷贝过去的,是非权威性的。
这两台域名服务器,和您的域名一起被登记在域名注册管理机构的数据库中。
如果是国际域名,域名注册管理机构就是InterNIC(国际互联网络信息中心);如果是国内域名,域名注册管理机构就是CNNIC(中国互联网信息中心)。
这两台“权威性的”服务器,一主一辅,保存着相同的记录,主要是为了提高可靠性。
域名注册管理机构的数据库的记录最终体现在“根”域名服务器上。
目前在Internet上的最顶级“根”域名服务器共有13台,它们被完善地维护着。
如果它们全都不工作,Internet就崩溃了(网络仍通,但域名及电子邮件完全不能工作)。
根服务器中保存的记录的最本质的信息,就是一个域名由哪两台域名服务器提供解析服务。
以下结合实例讲述域名的查询过程:
当您打开浏览器,访问某个站点时,例如,您的电脑需要知道这个站点的IP地址是多少。
于是它会自动向您的“主控DNS”服务器发出询问,即“的IP是多少?
”,如果这台域名服务器对这个域名不是“权威性”的,起初它上面并没有关于的记录,于是它向根服务器发出一个查询:
“由什么服务器提供域名解析服务”?
根服务器的回答将是:
“哦,去问或者吧。
他们的IP地址是203.196.4.70及203.196.4.10”。
您的主控DNS服务器继而会询问这台域名服务器,还是那个问题,即“的IP是多少?
”,将给出“权威性的”回答。
您的主控DNS服务器收到这个回答,一方面将该信息告诉您的电脑,另一方面它会把该信息保存在自己的缓冲区内,如果它再次接到相同的查询,它就直接将刚才缓存了的记录回答给下一个询问者。
但是这个缓存的记录有一个失效期,当失效期到达后,您的主控DNS服务器将会自动丢弃缓存的记录。
当再有电脑发出同样的查询请求时,将重复前面叙述的完整的过程。
3.Ftp(文件传输协议)
FTP是一种文件传输协议,主要用于文件的上传和下载,它最大的特点是传输速度快且支持断点续传。
IIS5.0允许用户设定数目不限的虚拟FTP站点,但是每一个虚拟FTP站点都必须拥有唯一的IP地址及端口号。
如:
ftp:
//192.168.1.1,它就会显示设置主目录路径下的所有文件。
FTP有两种使用模式:
主动和被动。
主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。
在这种情况下,客户端由于安装了防火墙会产生一些问题。
所以,创立了被动模式。
被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。
一个主动模式的FTP连接建立要遵循以下步骤:
1.客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个FTP进程连接至服务器的21号命令端口。
此时,源端口为随机端口x,在客户端,远程端口为21,在服务器。
2.客户端开始监听端口(x+1),同时向服务器发送一个端口命令(通过服务器的21号命令端口),此命令告诉服务器客户端正在监听的端口号并且已准备好从此端口接收数据。
这个端口就是我们所知的数据端口。
3.服务器打开20号源端口并且建立和客户端数据端口的连接。
此时,源端口为20,远程数据端口为(x+1)。
4.客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。
被动模式FTP:
为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。
这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。
在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。
当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N>1024和N+1)。
第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。
这样做的结果是服务器会开启一个任意的非特权端口(P>1024),并发送PORTP命令给客户端。
然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
4.HTTP(超文本传送协议)
超文本传送协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到Web浏览器。
HTML是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。
您可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息。
HTTP工作在TCP/IP协议体系中的TCP协议上。
安全超文本传输协议(SecureHypertextTransferProtocol,S-HTTP)是一种结合HTTP而设计的消息的安全通信协议。
S-HTTP协议为HTTP客户机和服务器提供了多种安全机制,这些安全服务选项是适用于Web上各类用户的。
还为客户机和服务器提供了对称能力(及时处理请求和恢复,及两者的参数选择)同时维持HTTP的通信模型和实施特征。
S-HTTP不需要客户方的公用密钥证明,但它支持对称密钥的操作模式。
这意味着在没有要求用户个人建立公用密钥的情况下,会自发地发生私人交易。
它支持端对端安全传输,客户机可能首先启动安全传输(使用报头的信息),用来支持加密技术。
在语法上,S-HTTP报文与HTTP相同,由请求行或状态行组成,后面是信头和主体。
请求报文的格式由请求行、通用信息头、请求头、实体头、信息主体组成。
相应报文由响应行、通用信息头、响应头、实体头、信息主体组成。
目前有两种方法来建立连接:
HTTPSURI方案和HTTP1.1请求头(由RFC2817引入)。
由于浏览器对后者的几乎没有任何支持,因此HTTPSURI方案仍是建立安全超文本协议连接的主要手段。
安全超文本连接协议使用https:
//代替http:
//。
5.TCP(传输控制协议)
在因特网协议族(Internetprotocolsuite)中,TCP层是位于IP层之上,应用层之下的传输层。
不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)的限制)。
之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。
然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。
TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算和校验。
首先,TCP建立连接之后,通信双方都同时可以进行数据的传输,其次,它是全双工的;在保证可靠性上,采用超时重传和捎带确认机制。
在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。
四、实验步骤
1、三个服务器的安装与配置
1.web、ftp服务器的安装与配置
依次单击“开始”→“设置”→“控制面板”菜单,打开“控制面板”窗口,鼠标左键双击“添加/删除程序”图标,弹出“添加/删除程序”窗口,单击“添加/删除Windows组件”,弹出“windows组件向导”。
双击“Internet信息服务(IIS)”,选中窗口中的所有复选框,单击“确定”按钮回到“Windows组件向导”窗口,单击“下一步”按钮。
就开始安装了。
安装成功后会弹出提示安装成功的窗口,单击“确定”按钮完成IIS的安装。
依次单击“开始”→“程序”→“管理工具”→“Internet信息服务”菜单,打开“Internet信息服务”窗口,鼠标左键双击“Internet信息服务”树下的节点“*ser”,打开节点的分支。
鼠标右键单击“默认Web站点”,在弹出的菜单中依次选择“新建”→“站点”选项,
弹出“Web站点说明”为主题的窗口,在“说明”栏内填写新建站点的名称,如web。
点击“下一步”按钮继续。
弹出“IP地址和端口设置”为主题的窗口,在“输入Web站点使用的IP地址”栏的下拉列表中选择本机的IP地址,如192.168.1.1,单击“下一步”按钮继续。
弹出以“Web站点主目录”为主题的窗口,主目录是指存放web站点所有文件的位置。
单击“浏览”按钮选择web站点主目录的位置,如D:
\100402127_hyy\web。
点击“下一步”按钮继续。
弹出以“Web站点访问权限”为主题的窗口,设置访问者对web站点的访问权限,选中“写入”和“浏览”复选框。
然后单击“下一步”按钮继续。
弹出提示创建完成的窗口,点击“完成”按钮结束web站点的创建。
鼠标右键单击“默认Ftp站点”,在弹出的菜单中依次选择“新建”→“站点”选项,弹出“Ftp站点说明”为主题的窗口,在“说明”栏内填写新建站点的名称,如ftp。
点击“下一步”按钮继续。
弹出“IP地址和端口设置”为主题的窗口,在“输入Ftp站点的IP地址”栏的下拉列表中选择本机的IP地址,如192.168.1.1,单击“下一步”按钮继续。
弹出以“Ftp站点主目录”为主题的窗口,主目录是指存放ftp站点所有文件的位置。
单击“浏览”按钮选择ftp站点主目录的位置,如D:
\100402127_hyy\web。
点击“下一步”按钮继续。
弹出以“Ftp站点访问权限”为主题的窗口,设置访问者对ftp站点的访问权限,选中“读取”和“写入”复选框。
然后单击“下一步”按钮继续。
弹出提示创建完成的窗口,点击“完成”按钮结束ftp站点的创建。
2.dns服务器的安装与配置
依次单击“开始”→“设置”→“控制面板”菜单,打开“控制面板”窗口,鼠标左键双击“添加/删除程序”图标,弹出“添加/删除程序”窗口,单击“添加/删除Windows组件”,弹出“windows组件向导”。
双击“网络服务”,弹出“网络服务”窗口,选中“域名服务系统(DNS)”复选框,单击“确定”按钮,回到“Windows组件向导”窗口,单击“下一步”按钮。
就开始安装了。
安装成功后会弹出提示安装成功的窗口,单击“确定”按钮完成DNS的安装。
依次单击“开始”→“程序”→“管理工具”→“DNS”菜单,打开“DNS”窗口,鼠标左键双击“DNS”树下的节点“*ser”,打开节点的分支。
鼠标右键单击“正向搜索区域”,在弹出的菜单中选择“新建区域”,弹出“新建区域向导”窗口,单击“下一步”后,选中“标准主要区域”单选按钮,单击“下一步”按钮继续,在“输入区域名称”文本框中输入,单击两次“下一步”,弹出提示创建完成的窗口,点击“完成”按钮结束dns区域的创建。
鼠标右键单击,在弹出的菜单中选择“添加主机”在“输入主机名称”文本框中输入www,输入IP地址为192.168.1.1。
同法添加主机ftp,IP是192.168.1.1。
用同样的方法创建一个反向搜索区域,在“新建区域向导”中的“网络ID”文本框中输入:
192.168.1。
单击“下一步”直到完成新建。
鼠标右键单击,选择“新建指针”填入1,域名是,同方法添加1域名是。
2、服务器测试运行
在打开的记事本中,输入用HTM编写的代码,HTM是一种制作万维网页面的标准语言,浏览器可以按照HTM文档规定的格式显示页面。
点击“文件”菜单中的“保存”命令,把这一文档保存到Web站点的主目录中,即D:
\100402127_hyy\web。
值得注意的是,需要使用HTM文档的格式保存文件,这里使用的文件名为index.htm、a.htm、b.htm、c.htm,用链接把它们连起来。
在IE中输入能访问web文件夹中的内容,实验证明dns服务器配置正确。
打开“我的电脑”,在地址栏中输入,将显示web文件夹中的内容:
index.htm、a.htm、b.htm、c.htm,可以浏览,可以下载、也可以上传,实验证明ftp站点是正确的,并且可以被访问到。
当然,这也可以通过局域网中其它计算机来登录这一站点。
在我搭档机子中输入:
,并用sniffer抓包。
3、sniffer抓包及分析
步骤一:
设定实验环境
步骤二:
利用sniffer软件抓包
在搭档主机中打开sniffer软件,在工具栏中点击“开始”,首先在搭档机子上ping自己的机子:
ping192.168.1.1确定能ping通后,再ping域名:
ping,也能ping通。
再进行最后的服务器测试。
测试完后确定无误后,再点击“结束”。
步骤三:
分析
1.arp包分析
从解码卷标上可以看出解码窗口分为三部分,最上面是捕获的报文,中间是报文的解码,最下面是报文的二进制码,即发送的最原始内容。
我捕获到的报文有arp,dns,HTTP,ftp,icmp等协议,解码表对应每一个层次的协议进行解码分析。
链路层对应的是DLC协议,在DLC协议里面,长度为14字节,我们可以看到发送数据包的目标MAC地址(Destination)和发送数据包的源MAC地址(Source)。
这是一个arp请求包,首先,在本局域网上的所有主机上运行的ARP进程都收到本机发送的ARP请求(从目标地址为Broadcast可以看出)。
其次,从摘要中,PA=[192.168.1.1],可以看出ARP请求地址为192.168.1.1。
第二行,6个字节,可以看出ARP包是采取广播方式,目标地址从下面的解码可以看出是FFFFFFFFFFFF,翻译过来就是全1,全1为一个广播地址,这里代表一个链路层的广播地址。
第三行,6个字节,值为000C2974987F,这个MAC地址为发起该ARP的主机接口的MAC地址,即源MAC地址。
第四行,2个字节,是协议类型,0806代表ARP类型,表示该帧是ARP帧。
第五行,2字节,是硬件类型。
我们用的是标准以太网,值为1H(0001),表示是10M以太网。
第六行,长度2字节,是协议类型,我们用的是IP协议,IP对应的值为800,所以显示值为0800.
第七行,1字节,记录硬件地址长度,这个值告诉处理该帧的程序,读取硬件地址时读到哪里结束。
因为使用到网卡的MAC地址,而MAC地址的长度为6字节,所以这里显示长度为6。
第八行,1字节,为协议长度,这个值告诉处理该帧的程序,读取协议地址时读到哪里结束。
这次通信使用IPV4协议,而IPV4为4字节,所以该字段的值就是4。
第九行,2字节,为操作类型,ARP请求为1,ARP响应为2,图中是0001,所以这是一个ARP请求。
第十行,6字节,用来定义发送者站的物理地址长度,这里为发送者MAC地址,该地址用来告诉本次操作的对方,是哪个MAC地址对它进行了操作。
第十一行,4字节,用来定义发送站的逻辑地址长度,这里为发送者IP地址,该地址用来告诉本次操作的对方,是哪个IP地址对它进行了操作。
第十二行,6字节,用来定义目标的物理地址长度,这里为接收者MAC地址,用来告诉本次操作的对方,是哪个MAC地址应该接收并处理该帧。
第十三行,4字节,用来定义目标的逻辑地址,这里为接收者IP地址,用来告诉本次操作的对方,是哪个MAC地址应该接收并处理该帧。
最后的0,应该只起到填充作用。
这是由于IP报文规定最小不能少于60字节,而ARP只用了42个字节,所以它需要用其他无用数据来填充剩下的12字节。
这是一个arp应答包,接下第九行,2字节,为操作类型,ARP请求为1,ARP响应为2。
第十行,6字节,用来定义发送者站的物理地址长度,这里为接收者MAC地址,该地址用来告诉本次操作的对方,是哪个MAC地址对它进行了操作。
第十三行,4字节,用来定义目标的逻辑地址,这里为发送者IP地址,用来告诉本次操作的对方,是哪个MAC地址应该发送该帧。
2.icmp包分析
这是一个icmp请求包,ping命令可以把一个ICMP回显请求发送给一个指定的主机,接收该命令的主机通过回送一个ICMP回显应答来对收到的ICMP回显请求进行应答。
ping命令的目的是测试主机是否存在。
IP报文结构为:
IP协议头+载荷,其中对IP协议头的分析是分析报文结构的主要内容之一,IP协议头的一种结构如下:
版本:
说明版本4―――IPv4
首部长度:
单位是4字节,最大60字节
TOS:
IP优先级字段
总长度:
单位为字节,最大长度65535字节
标识:
IP报文标识字段
标志:
占3比特,只用到低位的2比特
MF(MoreFragment)
MF=1,后面还有分片的数据包
MF=0,分片数据包的最后一个
DF(Don’tFragment)
DF=1,不允许分片
DF=0,允许分片
段偏移:
分片后的分组在原分组中的相对位置,总共13比特,单位为8字节
寿命:
TTL(TimetoLive)丢弃TTL=0的报文
协议:
携带的是何种协议报文
1:
ICMP
6:
TCP
17:
UDP
89:
OSPF
头部检验和:
对IP协议首部的校验和
源IP地址:
IP报文的源地址
目的IP地址:
IP报文的目的地址
Icmp报文结构:
ICMPType(类型):
当Type=8Code=0时,为请求报文。
ICMPChecksum(校验和):
其值为485C,用于检测报文的正确性;
Identifier和SequenceNumber是ICMP报头中的其他部分。
这是icmp应答包,ping命令可以把一个ICMP回显请求发送给一个指定的主机,接收该命令的主机通过回送一个ICMP回显应答来对收到的ICMP回显请求进行应答。
ping命令的目的是测试主机是否存在。
当Type=8Code=0时,为应答报文。
ICMPChecksum(校验和):
其值为485C,用于检测报文的正确性;
Identifier和SequenceNumber是ICMP报头中的其他部分。
3.web服务器的抓包分析
HTTP是一种让Web服务器与浏览器(客户端)通过Internet发送与接收数据的协议。
它是一个请求、响应协议--客户端发出一个请求,服务器响应这个请求。
HTTP运用可靠的TCP连接,通常用的TCP80端口。
HTTP通讯是发生在TCP协议之上,第一个TCP包进行数据分析
第一行:
2字节,源端口号,即发送这个TCP包的计算机所使用的端口号。
第二行:
2字节,目标端口号,即接受这个TCP包计算机所使用的端口号。
第三行:
4字节,表示发送数据包的排序序列。
用以接收的时候按顺序组合和排序。
第四行:
大小不定,用以表示当前接受到数据包的序号。
第五行:
1字节,用来说明数据包的大小,从哪里开始哪里结束。
第六行:
保留空间,以作未来用。
第七至第十三行:
6字节,标志位,有控制功能。
分别为URG,紧急指针;ACK,确认指针;PUSH,不用等待缓冲区装满而直接把报文交给应用层;RST,复位指针;SYN,同步信号;FIN,完成或释放指针。
第十四行:
2字节,发送方希望被接受的数据大小。
第十五行:
2字节,是根据报头和数据字段计算出的校验和,一定由发送端计算和存储的。
第十六行:
2字节,紧急指针,告知紧急资料所在的位置。
对http协议进行分析:
第一行GET”表示我们所使用的HTTP动作,,GET的消息没有消息体,“HTTP/1.1”也是表示所使用的协议。
第二行定义客户端可以处理的媒体类型,按优先级排序;在一个以逗号为分隔的列表中,可以定义多种类型和使用通配符。
第三行则是定义客户端乐于接受的自然语言列表。
第四行定义客户端可以理解的编码机制。
第八行被请求资源的主机名。
对于使用HTTP/1.1的请求而言,此域是强制性的。
第九行表示使用Keep-Alive方式,即数据传递完并不立即关闭连接。
这是一个http应答包,消息体的部分正是我们前面写好的HTML代码。
第二行表示这个服务器使用的WEB服务器软件,这里是IIS5.0。
第四行是处理此请求的时间。
第八行就是所返回的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 文档