计算机网络实验报告-实验11
实验十一 实验报告
实验任务1、分析应用层协议DNS
1、自己机器配置的本地DNS服务器地址?
答: 202.196.64.1
2、使用nslookup命令正向解析任意一个网站(例如 www.dangdang.com)。
3、在自己机器上运行“Ipconfig空格/flushdns” 命令,该命令有什么功能?
为什么在用Wireshark抓包软件捕获DNS数据包之前,先执行该命令?
4、在Wireshark中捕获一对DNS请求 和 DNS响应数据包,截图显示。
实验任务2、分析应用层协议HTTP
运行wireshark软件,开始捕获数据包
从你的主机多次访问淘宝网站Web服务器
结束捕获并分析
1、在Wireshark中捕获一对 HTTP请求 和 HTTP响应数据包,截图显示。
2、cookie 头部信息在HTTP请求 还是 HTTP响应数据包中?
内容是什么?有什么作用?
实验任务3、分析应用层协议FTP
运行Wireshark软件,
计算机网络实验报告-实验九:观察运输层协议为应用层协议提供服务工作过程
实验报告九 观察运输层协议为应用层协议提供服务工作过程
实验目的
1、安装并学会使用Cisco Packet Tracer Student工具软件。
2、连接一台客户机和一台服务器,在该服务器上部署Web网站、FTP服务、DNS服务。客户机(IP:192.168.10.22)服务器(IP: 192.168.10.11)
3、通过客户机访问服务器,观察应用层协议和运输层协议工作过程的动画演示。
4、参照实验内容的详细说明,完成实验报告。
任务1、安装并启动Cisco Packet Tracer Student工具软件
任务2、设置一台PC机与一台服务器,通过双绞线连接
设置PC主机名:(个人姓名PC)LiPC 例如(WangMinPC)
设置Server主机名: (个人姓名Server)LiPC 例如(WangMinServer)
截图显示
任务3、配置PC机
设置PC机的IP地址192.168.10.22,子网掩码 255.255.255.0
任务4、配置Server服务器
设置Server服务器的IP地址192.168.10.11,子网掩码 255
计算机网络实验报告-实验八
实验八 实验报告
实验任务1、分析运输层UDP协议报文段的头部信息
在Wireshark中捕获UDP报文段,回答问题,截图显示。
启动捕获后,访问某个基于UDP的应用程序,例如QQ登录、视频播放等。
实验任务2、分析运输层协议TCP报文段的头部信息
在Wireshark中捕获任一TCP报文段,回答问题,截图显示。
答:分析所选取的TCP报文段的头部协议信息,填写下表的空白处
实验任务3、捕获分析TCP的三次握手连接报文段
在Wireshark中启动捕获后,可访问FTP服务器,捕获到三次握手连接。回答问题,截图显示。
答:找出第一次握手(SYN)的报文段头部信息,填写相关内容。
实验任务4、捕获分析TCP的四次挥手撤销连接报文段
在Wireshark中启动捕获后,可退出访问FTP服务器,捕获到四次挥手撤销连接。回答问题,截图显示。
答:找出第一次挥手(FIN)的报文段头部信息,填写相关内容。
答:找出第二次挥手(ACK)的报文段头部信息,填写相关内容。
(填写内容要与截图内容相同!)
答:找出第三次挥手(FIN,ACK)的报文段头部信息,填写相关内容。
计算机网络实验报告-实验七:RIP、OSPF动态路由协议
实验内容七:RIP、OSPF动态路由协议
实验目的:配置RIP、OSFP动态路由
实验任务1:RIP路由配置实验
(1) 添加三台2811型号路由器,为每台路由器添加网络接口模块
先关闭路由器电源,电源开关如下图。
( 实际操作中,为确保电路安全,只有关机后,才可以在路由器中插入新的网络模块卡,类似往计算机中插入网卡。)
在三台路由器上均添加模块NM-2FE2W,拖拽右下角模块到左上方路由器插槽中,如下图所示。(NM-2FE2W有2个 快速以太网接口)。
插入新模块后,再重新开启路由器。
(2) 添加三台PC机,所有设备之间用交叉线连接,配置网络接口IP地址。
按照拓扑图中地址设置,
配置路由器各网络接口IP地址、子网掩码。
配置PC机各网络接口IP地址、子网掩码、默认网关。
(3)分别查看三台路由器的路由表
Router# show ip route
三个路由表中,只显示了每台路由器直接连接的网络地址和接口。
(4)在三台路由器上,分别配置动态RIP路由协议,自动更新路由表。
R1路由器示例:
Router>enable
Router#config
计算机网络实验报告六-理解网络层ICMP、ARP协议工作原理
实验报告六 理解网络层ICMP、ARP协议工作原理
实验要求:
本次实验两人一组,配合完成。
一位同学的机器设为主机A,一位同学的机器设为主机B。
主机A同学填写本机IP地址设置信息:
主机A的IP地址: 192.168.111.40
主机A的子网掩码: 255.255.255.0
主机A的默认网关: 192.168.111.254
主机B同学填写本机IP地址设置信息::
主机B的IP地址: 192.168.111.41
主机B的子网掩码: 255.255.255.0
主机B的默认网关: 192.168.111.254
任务1、通过执行ping命令,理解ICMP协议询问报文。
计算机网络实验报告实验五-IP协议分析与子网转发
实验报告 IP协议分析与子网转发
实验目的:1、理解IP协议数据报格式,IP数据包分片;
2、了解路由器在不同子网之间转发数据报,配置静态路由。
实验任务1、启动Wireshark软件,捕获IP数据报,分析数据报首部格式。
在自己机器上的命令提示符窗口,执行Ping命令:Ping 网关IP地址。
在Wireshark软件中,找到主机发往网关地址的任一IP数据报。
分析所选IP数据报的首部数据格式和内容,填写下表。
实验任务2、启动Wireshark软件,捕获IP数据报,分析IP数据报分片
在自己机器上的命令提示符窗口,执行:ping –l 4500 网关IP地址
向网关IP地址发送长度为4500B的数据报。
在Wireshark软件中,找到从你的主机向网关发送的3个分片IP数据报(Fragmented IP protocol)。
实验任务3:启动 Cisco Packet Tracer软件,设置主机A、B、C,设置路由器A、B、C(选Genetic),网络连接及IP配置如下图所示。
主机与路由器之间,用交叉线连接0或1 号接口。
计算机网络实验报告四:学会使用网络常见命令,学会配置路由器
实验报告 学会使用网络常见命令,学会配置路由器
实验任务1:在自己机器上,执行Ping命令,测试网络层连接情况。
Ping命令执行过程:发送端发送4个探测数据包,接收方返回4个响应数据包。测试收发双方网络层是否连通。
1)在命令提示符窗口输入:ping 127.0.0.1
//测试自己主机网络设置是否正确
截图显示ping命令执行结果
2)在命令提示符窗口输入:ping 本机配置的IP
//测试自己主机网络设置是否正确
截图显示ping命令执行结果
3)在命令提示符窗口输入:ping 其他同学机器配置的IP
//测试自己主机与局域网其他主机是否连通
截图显示ping命令执行结果
4)在命令提示符窗口输入
实验任务2:启动 Cisco Packet Tracer软件。
设置两台主机A、B,通过两台路由器 A、B连接,使用交叉线。
实验任务3:测试网络连通情况
计算机网路实验报告3 :三层交换机的配置
实验报告3 三层交换机的配置
实验目的:配置三层交换机的路由功能,实现不同VLAN之间通信
交换机是即插即用型设备,交换机接口无需配置IP信息。
但:若启动交换机为三层工作模式,必须像配置路由器一样,
配置接口IP地址,实现VLAN(不同子网)之间的数据传输。
任务1、在同一交换机上构建2个VLAN
——按以下实验拓扑图建立模拟网络。
任务2、配置三层交换机上的路由功能(方法一:通过VLAN ip做网关)
——在三层交换机上创建两个VLAN(VLAN1、VLAN2)
switch> enable
switch# config terminal
switch(config)# hos LINNAN //用自己的姓名拼音命名交换机
LINNAN(config)# vlan 1 //创建VLAN 1
LINNAN(config)# exit
LINNAN(config)# vlan 2 /创建VLAN 2
LINNAN(config)# exit
——设置vlan1
计算机网络实验报告二:数据链路层协议分析
实验报告2 数据链路层协议分析
实验目的:
通过Wireshark软件,观察分析数据链路层的数据帧。
通过Cisco Packet Tracer 软件,观察分析点对点和多点数据传输控制。
任务1:访问网站,分析数据链路层帧格式
——在wireshark中,开始抓包
——在浏览器中,浏览任一Web网站
——在wireshark中,停止抓包
——在捕获的数据包中,选中一个,HTTP请求数据包(GET开头)
——在中间窗口,观察该数据包的数据链路层帧头部信息
任务2:同桌两位同学相互访问,分析数据链路层帧格式
——在wireshark中,开始抓包
——在命令提示符窗口,输入命令:ping 其他同学IP地址
——在wireshark中,停止抓包
——在捕获的数据包中,选中一个,ICMP回送请求数据包
——在中间窗口,观察该数据包的数据链路层帧头部信息
填写其数据链路层,帧头部信息
目的网卡地址:
发送网卡地址:
帧中包含网络层数据报的协议类型:
人工智能实验五-旅行商问题
1 实验内容
旅行商问题求解,自行设计城市网络,实现最短路径求解
①任选语言,利用遗传算法或蚁群算法进行求解
②考虑城市网络拓扑对问题求解的影响
2 实验目的
通过人工智能实验,可以帮助更好地掌握人工智能相关概念、技术、原理、应用等,通过实验提高编写实验报告、总结实验结果的能力,使对智能程序、智能算法等有比较深入的认识。
(1)可以熟练地用遗传算法对问题进行求解
(2)对遗传算法的底层原理理解更加透彻
1.初始化城市距离
通过给定城市的个数N、城市之间的最小、最大距离,通过MATLAB的rand函数生成一个N*N的距离矩阵(其对角线距离默认为0)。
2.初始化种群并且编码
可以把一个N个城市的旅行回路排列成一个N维向量,用它来表示一个染色体,如[1,2,3,4,5,6,7,8,9,10],带入距离矩阵,即可求出该向量所表示的回路的路程.
人工智能实验四-动物识别系统
人工智能实验四-动物识别系统
1 实验内容
动物识别系统IDENTIFIER实现
(一)任选语言,采用产生式系统进行推理,实现动物的识别
(二)尝试设计更多规则进而识别更多的动物
2 实验目的
通过人工智能实验,可以帮助更好地掌握人工智能相关概念、技术、原理、应用等,通过实验提高编写实验报告、总结实验结果的能力,使对智能程序、智能算法等有比较深入的认识。
(1)理解和掌握产生式知识表示方法。
(2)能够用编程语言实现产生式系统的规则库。
基于产生式规则的动物识别系统——识别虎、金钱豹、斑马、长颈鹿、鸵鸟、企鹅、信天翁等七种动物的产生式系统:
(1)以动物识别系统的产生规则为例,建造规则库和综合数据库,并能对他们进行添加、删除和修改操作
(2)基于建立的规则库和综合数据库,进行推理
人工智能实验三-15数码问题实现
人工智能实验三——15数码问题实现
1实验内容
15数码问题实现:
1、任选语言,采用A*算法实现问题求解,并给出具体的移动步骤
2、尝试设计不同的启发式函数h,并分析对结果的影响
2 实验目的
通过人工智能实验,可以帮助更好地掌握人工智能相关概念、技术、原理、应用等,通过实验提高编写实验报告、总结实验结果的能力,使对智能程序、智能算法等有比较深入的认识。
(1)更好地理解A*算法的原理
(2)进行启发式函数多次尝试,对A*算法解题步骤记忆更加深刻
在算法中,一个结点位置的好坏用估价函数来对它进行评估。 A*算法的估价函数可表示为: f’(n) = g’(n) + h’(n) 这里,f’(n) 是估价函数, g’(n) 是起点到终点的最短路径值,h’(n)是n到目标的最短路经的启发值。
人工智能实验二-8数码问题实现
人工智能实验二-8数码问题实现
实验内容-8数码问题实现:
1、任选语言,采用过程表示法实现算法,并给出具体的移动步骤
2、尝试15数码问题的过程表示法实现
实验目的
通过人工智能实验,可以帮助更好地掌握人工智能相关概念、技术、原理、应用等,通过实验提高编写实验报告、总结实验结果的能力,使对智能程序、智能算法等有比较深入的认识。
1.将过程表示法用代码表示出来,加深对过程表示法的理解
2.增强创新能力,尝试用代码解决15数码问题
八数码的游戏,就是要在一个九宫格里面放入8个数字,数字只能上下左右移动,并且只能移动到空白处。通过若干此类似的移动后,能把数字移动成一个固定的所示图案。同样的还有15数码游戏。
C++高级程序设计实验十二模板类的构造& C++的I/O流类库
C++高级程序设计实验十二模板类的构造& C++的I/O流类库
1.理解和应用类模板和函数模板;
2.理解C++输入输出流类库;
3.掌握ios类中用于控制输入输出成员函数的使用;
4.掌握操纵符格式控制的使用;
5.掌握用户自定义数据类型的输入输出方式;
6.掌握文本文件和二进制文件的输入输出;
7.将C++输入输出流灵活应用到类和对象知识中。
1.理解下面的动态数组类模板,它由一系列位置连续、任意数量相同类型的元素组成,其元素个数可在程序运行时改变,并完成该类中没有完成的成员函数(不允许改变已有代码),并设计主函数,实现对该模板类的功能测试。
程序设计:
1.采用预定义的输入输出操纵符格式控制改造12.2.2中第一题,使其达到相同的输出效果。
2.定义一复数类CComplex(类中含有实部real和虚部imag私有成员变量,都为double类型),重载输入运算符>>和输出运算符<<,使得该类可以直接通过输入输出运算符进行输入输出操作。
3.有一名为test.txt的文件,里面分两行分别存储了整数12345678和字符串abcdefg,设计两个完整的程序,第一个程序以文本文件的方式存
C++高级程序设计实验十一异常处理
1、设计一个异常RangeError类响应输入的数不在指定范围内,实现并测试这个类。
2、定义一个异常类CException,有成员函数Reason(),用来显示异常的类型,定义函数fn1()触发异常,在主函数的try模块中调用fn1(),在catch模块中捕获异常,观察程序的执行流程。
1./*设计一个异常RangeError类响应输入的数不在指定范围内,实现并测试这个类。*/
#include<iostream>
#include<exception>
using namespace std;
class RangeError
{
public:
RangeError()
{
cout << "Please input a Integer Number(0~10000):";
int abc;
cin >> abc;
try
{
if (abc <= 10000 && abc >= 0)
{
cout << "Your Integer Number is:" << abc;
}
else
{
throw 1;
C++高级程序设计实验报告实验十 多态性-类型转换与虚函数
C++高级程序设计实验报告实验十 多态性—类型转换与虚函数
1.理解掌握运算符[]、()的重载;
2.理解类型转换,掌握类型转换函数的设计和使用;
3.理解和掌握虚函数的作用;
4.掌握利用虚函数实现C++的运行时多态性;
5.理解纯虚类和抽象类。
1.理解下面的程序,并在VS下运行查看结果,回答程序后面的问题。
问题一:上述程序存在两大错误,在不修改主函数和程序原意的前提下,改正该程序中存在的错误。
问题二:①处的转换属于显式转换还是隐式转换,并解释该转换过程。
问题三:②处的转换属于显式转换还是隐式转换,并解释该转换过程。
程序设计;
1.编写一个程序计算三角形、正方形和圆形的面积,要求抽象出一个基类base,在其中说明一个虚函数,用来求面积,并利用单接口,多实现版本设计各图形面积的方法。
思考题:
1.设计一个汽车类Motor,该类具有可载人数、轮胎数、马力数、生产厂家和车主五个数据成员,根据Motor类派生出Car类、Bus类和Truck类。其中Bus类除继承基类的数据成员外,还具有表示车厢节数的数据成员Number;Truck类除继承基类的数据成员之外,还具有表示载重量的数据
C++实验报告实验八 派生与继承
C++高级程序设计实验实验八-派生与继承
实验目的:
1.理解多重派生的定义;
2.理解多重派生中构造函数与析构函数的调用顺序;
3.理解多重派生中虚拟基类的作用;
实验内容:
1.理解下面的程序,并在VS下运行查看结果,回答程序后面的问题。
问题一:改正以上程序中存在的错误,并分析该程序的输出结果。
2.理解下面的程序,并在VS下运行查看结果,回答程序后面的问题。
问题一:在不改变原有程序意图的前提下,分别用三种方法改正以上程序,并使程序正确输出
程序设计题:
1.建立普通的基类building,用来存储一座楼房的层数、房间数以及它的总平方数。建立派生类house,继承building,并存储卧室与浴室的数量,另外,建立派生类office,继承building,并存储灭火器与电话的数目。设计一主函数来测试以上类的用法。
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long
思考题:
1.按照下图的类层次结构编写程序,定义属于score的对c1以及类teacher的对象t1,分别输入个数据成员的值后再显示出这些数据。
C++实验报告实验七-运算符重载
实验七 运算符重载
一、实验目的
(1).编写程序熟悉运算符重载函数的定义和使用;
(2).编写程序熟悉重载单目和双目运算符的方法;
(3).编写程序熟悉流插入和提取运算符的重载;
二、实验要求
1、创建一个二维坐标点point的类别,该类别能够存放一个二维坐标点(x,y)。重载运算符“++”,使之能用于坐标点x和y都增加1。并重载输出流符号,使point类的对象输出格式是(x,y)形式。测试该类别和++,<<符号。写一个cpp文件即可。
2、P509 17.21题。
三、提交要求
要求:提交时将两个练习的文件写在一个word文档提交。
第一题:
#include<bits/stdc++.h>
using namespace std;
class Point
{
private:
int x,y;
public:
Point(int x=0,int y=0)
{
this->x = x;
this->y = y;
}
friend Point operator ++ (Point &p);
friend P
C++实验六类和对象-对象传递与静态成员
C++高级程序设计实验报告-实验六:
1.理解静态成员(静态数据成员、静态成员函数)的作用与使用;
2.理解友元(友元函数、友元类)的作用于使用;
3.理解常类型的使用。
1.理解下面的程序,并在VS下运行查看结果,回答程序后面的问题。
问题一:以上程序编译能通过吗,为什么?
问题二:成员变量nTotalObj在程序中起什么作用,它是如何实现的?
问题三:如果规定该程序的主函数和类CStudent中的成员变量的属性不允许改变,应该如何改正该程序?
2.理解下面的程序,并在VS下运行查看结果,回答程序后面的问题。
问题一:以上程序有两大错误,试指出来,并改正之?
3.理解下面的程序,并在VS下运行查看结果,回答程序后面的问题。
问题一:以上程序有两大错误,试指出来,并改正之(要求主函数和类Date的数据成员属性不可以改动)?
程序设计:
1.某商店经销一种货物。货物成箱购进,成箱卖出,购进和卖出时以重量为单位,各箱的重量不一样,因此,商店需要记录下目录库存的总重量。试用C++模拟商店货物购进和卖出的情况。
C++高级程序设计实验报告-实验五
实验五:类的应用(2)
(1).编写程序熟悉类的声明和对象的定义;
(2).编写程序熟悉对象成员的引用;
(3).编写程序熟悉构造函数和析构函数的作用;
创建一个名为HugeInteger的大整数类(因为现在的int型能存放的整数的位数有局限性,可以只考虑正整数),表示方法,要求这个整数类型能存放长度为40位的整数数字,可以自由设计是数据的数据成员来存放40位的大整数。例如:创建长度为40的一个整数数组最多能存放40位的大整数(提示:数组的每个下标变量存放整数的一位)或者可以创建长度为40的char型数组,每个位置放一个数字一位。
编写提供3个成员函数
setInteger函数设置数据,功能是给长度为40的数组赋值(提示:参数可以是int型数据,或者参数可以是字符串表示,能够传入的数据足够长,因为int本身就是局限了HugeInteger的发挥)
print函数将大整数打印出来
add函数大整数类的对象之间可以进行加法运算。(思考:大整数类的对象和int型变量进行加法运算)思考的部分可以不用实现。
编写一个测试程序,在测试HugeInteger类的成员函数。
要求:类要用接口与实现分离
C++高级程序设计实验三-类和对象构造函数与析构函数
C++高级程序设计实验报告三:类和对象—构造函数与析构函数
实验三类和对象—构造函数与析构函数:
1.理解掌握this指针的作用和用法;
2.理解掌握构造函数的定义和作用;
3.掌握构造函数的使用;
4.理解掌握拷贝构造函数的定义和使用;
5.理解掌握构造函数的重载;
6.理解掌握析构函数的定义和使用。
C++高级程序设计实验报告-实验四类的应用
C++高级程序设计实验报告
实验四:类的应用
(1).编写程序熟悉类的声明和对象的定义;
(2).编写程序熟悉对象成员的引用;
(3).编写程序熟悉构造函数和析构函数的作用;
(4).编写程序熟悉对象数组、对象指针和this指针的使用;
(5).编写程序熟悉常对象、常对象成员和常指针的使用;
实验要求:
创建一个名为Rational的有理数类,进行分数运算。
1.创建两个私有的数据成员:numerator(分子)和denominator(分母)。
2.该类必须提供一个构造函数,初始化数据成员,最好带有默认值。该构造函数应当确认的分子和分母数据的有效性,并且应该以最简化的形式保存。例如:当输入的分子是6,分母是8,应该处理成简化的形式再保存,最后分子的值是3,分母的值是4。
3.该类至少还要提供相关功能的成员函数。
人工智能实验报告-实验一汉诺塔问题实现
人工智能实验报告实验一:
梵塔(汉诺塔)问题实现:
任选语言,完成算法的实现,并给出具体的移动步骤
尝试最多能完成几盘梵塔问题
相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置金盘。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。
先设置A,B,C三个圆柱,分别为初始位,过渡位,目标位,其中A柱为初始位,C柱为最终目标位,B柱为过渡位。
根据问题归约法,可以将总问题先分为以下三个步骤:
① 将最上面的n-1个圆盘从初始位移动到过渡位;
② 将初始位的最底下的一个圆盘移动到目标位;
将过渡位的n-1个圆盘移动到目标位
C++高级程序设计实验报告二
C++高级程序设计实验报告-类和对象,类的构建:1.类的定义;2.类对象的使用;3.类成员变量的定义和使用;4.类成员函数的定义和使用;5.理解类的作用域;6.理解类的声明;7.理解类中private和public权限的声明依据。
C++高级程序设计实验报告一
C++高级程序设计实验报告:复习C语言的内容;熟悉C++中简单的标准输入输出函数的实用;理解内置(内联)函数的优缺点并学会使用内置函数;理解和使用函数重载以及带默认参数的函数;理解和使用引用。