. . ..计算机网络课程设计报告专业班级:计算机科学与技术一班学号:姓名:指导老师:日期:2015.3.2---2015.3.13设计评语:目录一数据包的分析 (3)1.ARP协议 (3)2.ICMP协议 (3)3.TCP协议 (3)4. HTTP,DNS,DHCP (3)5.smtp协议 (3)二编程题 (3)CRC校验码程序 (3)三:机架实验 (3)1. 改路由器的名称及路由器密码命令操作 (3)2. 配置TELNET 远程登陆 (3)四校园网 (3)五课设总结 (3)六参考文献 (3)一数据包的分析1.ARP协议捕获ARP请求,ARP应答数据包,分析其组成特征。
总结ARP协议运行的基本过程。
ARP请求:源MAC地址:c8:9c:dc:5a:48:9c源IP地址:192.168.84.66目的IP地址:192.168.84.8ARP是解决同一个局域网上的主机或路由器的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:9c Dst: c8:9c:dc:58:8b:69 Scr: 192.168.84.66 Dst:192.168.84.8ICMP应答:Scr: c8:9c:dc:58:8b:69 Dst: c8:9c:dc:5a:48:9cScr: 192.168.84.8 Dst:192.168.84.66ICMP协议是用来找出故障的具体原因和位置的。
因为IP是不可靠传输,所以ICMP的存在是用于在TCP/IP网络中发送出错和控制消息的。
但是ICMP的错误报告只能通知出错数据包的源主机,而无法通知到从源主机到出错路由器途中的所有的路由器。
3.TCP协议捕获TCP“三次握手”建立连接的数据包并分析;捕获TCP“2次两次握手”释放连接的数据包并分析。
tcp连接的建立第一次握手Seq=0 win=65535 len=0源IP地址:192.168.84.29目的IP地址:106.120.168.90Src port:4048 Dst port:80Src: c8:9c:dc:59:39:e0 Dst: 00:03:0f:02:f6:fe 第二次握手Seq=0 Ack=1 win=14600 len=0Scr: 00:03:0f:02:f6:fe Dst: c8:9c:dc:59:39:e0 Scr: 106.120.168.90 Dst:192.168.84.29Scr port:80 Dst port:4048第三次握手Seq=1 Ack=1 Win=65535 Len=0Scr: c8:9c:dc:59:39:e0 Dst: 00:03:0f:02:f6:fe Scr:192.168.84.29 Dst:106.120.168.90Scr port:4048 Dst port:80tcp连接的释放TCP在连接请求报文段和连接接受报文段不携带任何数据,但需要占用一个序号,在确认请求报文段中可以携带数据,也可不携带数据。
但,不携带数据时,不会消耗一个序号。
但是TCP规定,断开连接请求报文不携带任何数据,但要消耗一个序列号。
发送该报文之前会将缓冲区中的数据全部发送出去,该报文可以附加数据。
4. HTTP,DNS,DHCP捕获HTTP,DNS,DHCP数据包,分析其构成。
http数据包的捕获与分析HTTP协议是一个客户端为得到服务器上的一种资源面向服务器发出的一个请求,服务器则返回一个与所请求的资源相对应的应答。
但是应该注意的是HTTP是一种无状态协议,也就是说,服务器在发送应答后,不会保留关于客户端的任何信息,因此也无法分辨来自于同一客户端的多个请求。
DNS数据包的捕获与分析DNS请求:请求www.baidu.Scr MAC: c8:9c:dc:5a:48:9c Scr ip: 192.168.84.66Scr port: 57086DNS应答:Scr: 00:03:0f:02:f6:fe Dst:c8:9c:dc:5a:48:9cScr:202.103.24.68 Dst:192.168.84.192Scr port: 53 Dst port:57086Name:formi.baidu.Adress:180.149.131.55经过本次对DNS域名系统的抓包实验的分析,我加深了对DNS域名系统的理解和掌握。
首先从DNS的含义上,DNS是由解析器和域名服务器组成的,其中,域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
它主要有主服务器和转发服务器两种形式。
DHCPScr: c8:9c:dc:5a:48:9c Dst:Broadcast(ff:ff:ff:ff:ff:ff) Scr: 0.0.0.0 Dst:255.255.255.255Scr port:68 Dst port:67Trasaction ID:0xf2b70fc9Scr :00:16:17:fa:70:41 Dst:Broadcast(ff:ff:ff:ff:ff:ff) Scr:192.168.84.224 Dst:255.255.255.255Scr port:67 Dst port:68Trasaction ID:0xf2b70fc95.smtp协议通过捕捉smtp协议包捕捉密码二编程题CRC校验码程序编写一个程序,能够根据输入的原始数据,及所选择的多项式,自动生成CRC校验码。
#include <iostream>#include <cstring>#include <iomanip>using namespace std;#define WORDSIZE 255int getNum(char a[], int n);void showNum(int r, int n);int main(int argc, char *argv[]){cout<<"请输入原数据:"<<endl;int x, p, lenA, lenP;char a[WORDSIZE];memset(a, '\0', WORDSIZE);cin>>a;lenA = strlen(a);x = getNum(a, WORDSIZE);memset(a, '\0', WORDSIZE);cout<<"请输入多项式对应的二进制码:"<<endl;cin>>a;lenP = strlen(a);p = getNum(a, WORDSIZE);x <<= lenP - 1;int result = 0, i;for (i = lenA - 1; i >= 0; i--){if (x & (1 << (i + lenP - 1))){result = result * 2 + 1;x ^= (p << i);}else{result = result * 2;}}showNum(x, lenP - 1);return 0;}int getNum(char a[], int n){int k = 0;int i;for (i = 0; i < n && a[i] != '\0'; i++){k = k * 2 + a[i] - '0';}return k;}void showNum(int r, int n){cout<<"CRC校验码为:"<<endl;int i;for (i = n - 1; i >= 0; i--){if (r & (1 << i)){cout<<1;}else{cout<<0;}}cout<<endl;}三:机架实验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 校验码。
还有懂得简单的网络设计。