计算机网络课程设计报告.docx
《计算机网络课程设计报告.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告.docx(26页珍藏版)》请在冰豆网上搜索。
计算机网络课程设计报告
计算机网络课程设计报告
专业班级:
计算机科学与技术一班
学号:
姓名:
指导老师:
日期:
2015.3.2---2015.3.13
设计评语:
一数据包的分析
1.ARP协议
捕获ARP请求,ARP应答数据包,分析其组成特征。
总结ARP协议运行的基本过程。
ARP请求:
源MAC地址:
c8:
9c:
dc:
5a:
48:
9c
源IP地址:
192.168.84.66
目的IP地址:
192.168.84.8
ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
我这个实验中所要找的主机和源主机在同一个局域网。
如果所要找的主机和源主机不在同一个局域网上,那么这时就要借助于网络层的协议,配合链路层协议才能将数据报成功的发送到目的主机上。
ARP应答:
目的MAC地址:
c8:
9c:
dc:
58:
8b:
69
目的IP地址:
192.168.84.8
这个实验有一件很有意思的事情,就是说如果某个主机请求得到我们的MAC的地址,我们先把它的MAC地址加入到自己的表中.就好比社交网络中,别人请求加我们为好友,如果我们接收的话,也自动加对方为好友一样.既然对方找上我们了,肯定是要做进一步的交流,互加MAC地址也很自然的.
2.ICMP协议
捕获ICMP数据包,对其进行分析研究。
(icmp请求数据包,icmp应答数据包)
ICMP请求:
Scr:
c8:
9c:
dc:
5a:
48:
9cDst:
c8:
9c:
dc:
58:
8b:
69
Scr:
192.168.84.66Dst:
192.168.84.8
ICMP应答:
Scr:
c8:
9c:
dc:
58:
8b:
69Dst:
c8:
9c:
dc:
5a:
48:
9c
Scr:
192.168.84.8Dst:
192.168.84.66
ICMP协议是用来找出故障的具体原因和位置的。
因为IP是不可靠传输,所以ICMP的存在是用于在TCP/IP网络中发送出错和控制消息的。
但是ICMP的错误报告只能通知出错数据包的源主机,而无法通知到从源主机到出错路由器途中的所有的路由器。
3.TCP协议
捕获TCP“三次握手”建立连接的数据包并分析;捕获TCP“2次两次握手”释放连接的数据包并分析。
tcp连接的建立第一次握手
Seq=0win=65535len=0
源IP地址:
192.168.84.29
目的IP地址:
106.120.168.90
Srcport:
4048Dstport:
80
Src:
c8:
9c:
dc:
59:
39:
e0Dst:
00:
03:
0f:
02:
f6:
fe
第二次握手
Seq=0Ack=1win=14600len=0
Scr:
00:
03:
0f:
02:
f6:
feDst:
c8:
9c:
dc:
59:
39:
e0
Scr:
106.120.168.90Dst:
192.168.84.29
Scrport:
80Dstport:
4048
第三次握手
Seq=1Ack=1Win=65535Len=0
Scr:
c8:
9c:
dc:
59:
39:
e0Dst:
00:
03:
0f:
02:
f6:
fe
Scr:
192.168.84.29Dst:
106.120.168.90
Scrport:
4048Dstport:
80
tcp连接的释放
TCP在连接请求报文段和连接接受报文段不携带任何数据,但需要占用一个序号,在确认请求报文段中可以携带数据,也可不携带数据。
但,不携带数据时,不会消耗一个序号。
但是TCP规定,断开连接请求报文不携带任何数据,但要消耗一个序列号。
发送该报文之前会将缓冲区中的数据全部发送出去,该报文可以附加数据。
4.HTTP,DNS,DHCP
捕获HTTP,DNS,DHCP数据包,分析其构成。
http数据包的捕获与分析
HTTP协议是一个客户端为得到服务器上的一种资源面向服务器发出的一个请求,服务器则返回一个与所请求的资源相对应的应答。
但是应该注意的是HTTP是一种无状态协议,也就是说,服务器在发送应答后,不会保留关于客户端的任何信息,因此也无法分辨来自于同一客户端的多个请求。
DNS数据包的捕获与分析
DNS请求:
请求www.baidu.
ScrMAC:
c8:
9c:
dc:
5a:
48:
9c
Scrip:
192.168.84.66
Scrport:
57086
DNS应答:
Scr:
00:
03:
0f:
02:
f6:
feDst:
c8:
9c:
dc:
5a:
48:
9c
Scr:
202.103.24.68Dst:
192.168.84.192
Scrport:
53Dstport:
57086
Name:
formi.baidu.
Adress:
180.149.131.55
经过本次对DNS域名系统的抓包实验的分析,我加深了对DNS域名系统的理解和掌握。
首先从DNS的含义上,DNS是由解析器和域名服务器组成的,其中,域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
它主要有主服务器和转发服务器两种形式。
DHCP
Scr:
c8:
9c:
dc:
5a:
48:
9cDst:
Broadcast(ff:
ff:
ff:
ff:
ff:
ff)
Scr:
0.0.0.0Dst:
255.255.255.255
Scrport:
68Dstport:
67
TrasactionID:
0xf2b70fc9
Scr:
00:
16:
17:
fa:
70:
41Dst:
Broadcast(ff:
ff:
ff:
ff:
ff:
ff)
Scr:
192.168.84.224Dst:
255.255.255.255
Scrport:
67Dstport:
68
TrasactionID:
0xf2b70fc9
5.smtp协议
通过捕捉smtp协议包捕捉密码
二编程题
CRC校验码程序
编写一个程序,能够根据输入的原始数据,及所选择的多项式,自动生成CRC校验码。
#include
#include
#include
usingnamespacestd;
#defineWORDSIZE255
intgetNum(chara[],intn);
voidshowNum(intr,intn);
intmain(intargc,char*argv[])
{
cout<<"请输入原数据:
"<intx,p,lenA,lenP;
chara[WORDSIZE];
memset(a,'\0',WORDSIZE);
cin>>a;
lenA=strlen(a);
x=getNum(a,WORDSIZE);
memset(a,'\0',WORDSIZE);
cout<<"请输入多项式对应的二进制码:
"<cin>>a;
lenP=strlen(a);
p=getNum(a,WORDSIZE);
x<<=lenP-1;
intresult=0,i;
for(i=lenA-1;i>=0;i--)
{
if(x&(1<<(i+lenP-1)))
{
result=result*2+1;
x^=(p<
}
else
{
result=result*2;
}
}
showNum(x,lenP-1);
return0;
}
intgetNum(chara[],intn)
{
intk=0;
inti;
for(i=0;i='\0';i++)
{
k=k*2+a[i]-'0';
}
returnk;
}
voidshowNum(intr,intn){
cout<<"CRC校验码为:
"<inti;
for(i=n-1;i>=0;i--)
{
if(r&(1<
{
cout<<1;
}
else
{
cout<<0;
}
}
cout<}
三:
机架实验
1.改路由器的名称及路由器密码命令操作
2.配置TELNET远程登陆
在做机架这个实验的时候,我们第一个成功的修改了路由器的名称以及密码,但是在做配置TELNET远程登陆的这个实验的时候,当我们把所有的配置都配置好的时候,可是就是不能从其中一个路由器上ping到另外一个路由器上,不管是查资料还是去了解了机架的基本原理,这个实验最终还是没能成功。
在理论上应该是可以ping通的,但是实际上到底有什么问题这还有待去探索。
四校园网
在ftp服务器上ping网关和www服务器,均能ping通,如下图所示:
添加路由后,在行政楼主机中ping服务器中的www和dhcp可以ping通。
在“DHCP”服务器上ping:
192.10.10.1
在dhcp上访问外网服务器:
测试WWW服务器
mail服务器测试
学习校园网的建立,感觉还是挺复杂的,进行反复的实验验证,还要看清楚路的走向,最后还是基本上都通过了。
从这次实验中,我知道了一个校园网络系统的组建需要从多方面考虑,不但涉及许多技术问题,而且包括网络设施、信息资源、专业应用等。
这个方案是根据学校的具体情况作出的网络设计,设计了学生宿舍、行政楼、图书馆、教学楼等的网络拓扑设计以及和IP地址分配的方案。
是一个可行的网络设计方案。
还有使用VLAN对网络的划分,可以实现使用逻辑拓扑解决物理上的连接问题,并且具有一定的安全性。
五课设总结
两个星期下来,把以前分散学习的计算机网络技术知识点系统地复习与应
用了一遍,并且能具体的用到了简单的网络连接的实际问题中去,顺利地完成该课程设计,收获颇多。
通过该课程设计,学会了基本的抓包,还会分析一些最基本的网络协议,还有掌握了一些路由器的配置,还有对CRC校验码的一个熟悉和了解以及用程序代码来验证了CRC校验码。
还有懂得简单的网络设计。
在这次课程设计中,发现了许多问题也知道自己本身的不足。
从抓包来说的话,在DHCP协议抓包的时候,我一直都没有抓成功,以为是抓不到这个协议的包,后来通过同学的帮助才知道不是抓不到,而是自己不知道怎么抓。
在设置正确之后就成功的抓到了。
在做机架上的路由配置实验的时候,可能是一开始自己没有懂机架的一些基本原理,导致在这个试验中出现的一系列问题,比如说开始的修改路由器的名称以及修改路由器的密码,其实应该是修改机架的那些普通路由器,而在一开始,我就是直接用路由器的服务器在做,虽然后来的问题不是因为我而引起的,但自己也没有清楚这个原理,在后来的配置远程登陆这个实验上,所有的配置都配好了,就是路由器之间ping不通,理论上应该是可以ping通的,但实际上到底是什么问题我也不得而终。
通过这次课程设计,对课本上的知识有了更深的理解,课本上的知识是机械的,表面的。
通过实践,上机实验,和同学一起探讨问题,才在实验原理与作用上得到更多的体现。
计算机网络技术是一门实践性和综合性比较强的课程,平时的具体实践时间与锻炼机会太少,所以造成在课程设计中就出现了很多问题,但只要认真去实践,依然会从中得到很大的收获,问题就会迎刃而解的了。
六参考文献
[1]计算机网络(第5版)希仁