计算机网络实验报告封面

时间:2024.4.20

实验1 《XXXX实验》

实验学时:2  实验地点:XXXX   实验日期:2014.XX

1.     实验目的

XXXX

2.     实验内容

   XXXX

3.     实验方法

XXXX

4.     实验步骤

XXXX

5.     实验结果

实验2 《XXXX实验》

实验学时:2  实验地点:XXX   实验日期:2014.XX

1.     实验目的

XXXX

2.     实验内容

   XXXX

3.     实验方法

XXXX

4.     实验步骤

XXXX

5.     实验结果

实验3 《XXXX实验》

实验学时:2  实验地点:XXX   实验日期:2014.XX

1.     实验目的

XXXX

2.     实验内容

   XXXX

3.     实验方法

XXXX

4.     实验步骤

XXXX

5.     实验结果


第二篇:计算机网络实验报告封面


实验1 《Windows Socket编程

实验学时:2  实验地点:X204   实验日期:2014.04.23

1.     实验目的

通过实验,使学生熟悉并掌握计算机Windows 编程的基本知识,进一步加深学生对课堂所学基本内容的理解,掌握基本的Windows编程技巧,通过实验使得学生能够进行一些简单的网络程序设计。

2.实验内容

1.介绍基本的Windows Socket编程技巧;

2.基于Windows Socket编程,设计并实现一个简单的聊天系统,包括客户端及服务器端。

3.实验方法

利用MFC,参考网络上socket编程指南进行实验

4.实验步骤

1.工程创建

(1)服务器端创建

(2)客户端创建

2.Winsock初始化

在Windows环境下进行网络程序设计时,所有的Winsock函数都是从ws2_32.dll导出的,我们可以通过#pragma comment(lib, "ws2_32.lib")语句链接到该库文件。但在使用Winsock函数之前还必须调用WSAStartup函数对库资源进行初始化工作,使用完毕后,在退出程序之前,我们还必须调用WSACleanup函数来释放库资源。

3.编程模式

(1)服务器端

1)创建socketSocket函数的原型为:

2)绑定bindbind函数的原型:

3)监听listen

4)接受连接accept,接收/发送数据send/recv

5)发送/接收数据

6)关闭监听套接字,终止服务器

(2)客户端:

1)创建连接套接字

2)设置通信地址

3)向服务器提出连接请求:

4)连接成功后,接收服务器端发送来的信息

5)关闭套接字,终止通信

4.项目简单演示

1)开启服务器端,等待客户端连接

2)开启客户端,可以开启多个,为了达到效果,可以再不同的机器上开启客户端

3)连接服务器。

4)开始聊天,只要连接上服务器的客户端都会收到聊天信息,相当于简单的群聊。

5.实验结果

成功启动服务器:

启动客户端:

向服务端发送消息:

服务端成功接收到消息:

实验2 《NS2网络仿真实验

实验学时:2  实验地点:XXX   实验日期:2014.XX

1.     实验目的

1)        学生能够初步掌握NS2网络模拟平台,并且能够利用网络模拟平台进行简单的实验。

2)        学习采用距离矢量算法(Distance Vector Algorithm)的动态路由。

3)        加深对TCP 拥塞控制与流量控制机制的理解,并且能够为实验需要简单修改NS2 的核心模块。

2.     实验内容

本实验分为三个实验过程,NS2平台的坏境搭建、NS2网络路由协议的仿真以及要简单修改NS2 的核心模块。此外,在实验过程中需要同学们自学linux操作系统的安装和使用(可在虚拟机中安装linux,本实验指导书使用的VMware虚拟机中的ubuntu操作系统),熟悉linux下的软件开发过程(如vi编辑器,gcc编译器),熟悉Tcl和Otcl脚本语言,熟悉C++编程语言。

实验3 《ip数据包捕获》

实验学时:2    实验地点:X203 实验日期:2014.05.05

1.     实验目的

JPCAP是一个能够捕获、发送网络数据包的java类库包。这个包用到了Winpcap/Libpcap和原始套接字API,目前,JPCAP在FreeBSD 3.x、Linux RedHat 6.1、Solaris 和Microsoft Windows 2000/XP系统上已经做过测试,并且支持Ethernet, IPv4, IPv6, ARP/RARP, TCP, UDP, ICMPv4协议。JPCAP是由在美国加利福尼亚大学Irvine分校(UCI)攻读博士学位的日本人Keita Fujiiy研制发布的,其主页为http://netresearch.ics.uci.edu/kfujii/ 。

JAVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点。JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用Winpcap/Libpcap,给JAVA语言提供一个公共的接口,从而实现了平台无关性,并能够捕获、发送网络数据包。

通过本次实验熟悉使用JPCAP捕获数据包,并从捕获的数据了解ip数据包包含的信息。

2.     实验内容

     1.使用Keita Fujiiy编写的基于JPCAP 的JPCAPDumper软件捕获网络数据,了解JPCAP能实现的功能。JPCAPDumper为英文程序,可参考反编译和汉化后的程序数据包捕获器,功能一致;

2.熟悉JPCAP API的常用类(ARPPacket、DatalinkPacket、IPAddress、IPPacket等);

3.熟悉JPCAP环境的安装步骤;

4.使用JPCAP编写简单的ip数据包捕获程序;

5.参考反编译和汉化的数据包捕获器代码,实现可视化ip数据包捕获程序(选作)。

3.     实验方法

使用MyEclipse进行相应的代码编程,加上做成可视化界面。

4.     实验步骤

1. JPCAP环境的安装

JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用Winpcap/Libpcap,给JAVA语言提供一个公共的接口,从而实现了平台无关性,并能够捕获、发送网络数据包。因此要是用JPCAP首先需要安装Winpcap(Windows操作系统)或Libpcap(Linux操作系统)。

(1)安装Java SDK(http://java.sun.com)

(2)安装最新版本的LibPcap(对于Linux平台,http://ee.lbl.gov/) 或者WinPcap (对于Windows平台,http://winpcap.polito.it/)

(3)下载并解压缩Jpcap的最新版本(http://netresearch.ics.uci.edu/kfujii/jpcap/doc/index.html)。

(4)以Window XP系统为例,具体准备工作如下:

l  复制Jpcap.dll到C:\WINDOWS\system32

l  安装winpcap4.0.2

l  在Eclipse工程中导入 jpcap.jar

2. JPCAPDumper的使用

JPCAPDumper是Keita Fujiiy编写的基于JPCAP的网络分析软件,用于演示JPCAP的功能。JPCAPDumper为英文程序,对中文操作系统支持较差,可参考反编译和汉化后的程序数据包捕获器,两者功能一致。

3. 熟悉JPCAP API

阅读资料里提供的JPCAP API,熟悉JPCAP常用类和方法。

Jpcap0.4版本共有1个分析器接口14个分析器类,分别简介如下:

JpcapHandler :这个接口用来定义分析被捕获数据包的方法

ARPPacket :这个类描述了ARP/RARP包,继承了Packet类      

DatalinkPacket :这个抽象类描述了数据链路层

EthernetPacket :这个类描述了以太帧包,继承DatalinkPacket类

ICMPPacket :这个类描述了ICMP包,继承了IPPacket类

IPAddress :这个类描述了IPv4和IPv6地址,其中也包含了将IP地址转换为域名的方法

IPPacket :这个类描述了IP包,继承了Packet类,支持IPv4和IPv6

IPv6Option :这个类描述了IPv6选项报头

Jpcap :用来捕获数据包

Jpcap.JpcapInfo :Jpcap的内部类, 它包含被捕获数据包的信息 (在jpcap0.4修改部分BUG之后不再使用这个类)

JpcapSender :它用来发送一个数据包

JpcapWriter :它用来将一个被捕获的数据包保存到文件

Packet :这个类是所有被捕获的数据包的基类

TCPPacket :这个类描述TCP包,继承了IPPacket类

UDPPacket :这个类描述了UDP包,继承了IPPacket类

4.简单的抓包程序

以抓取ip数据包为例,JPCAP抓包基本步骤为:绑定网络设备、抓包、分析。

5.     实验结果

部分源码:

import java.io.IOException;

import jpcap.JpcapCaptor;

import jpcap.NetworkInterface;

import jpcap.packet.IPPacket;

import jpcap.packet.Packet;

publicclass IPPacketTest {

   publicstaticvoid main(String[] args) {

      //一、绑定网络设备

      NetworkInterface[] devices = JpcapCaptor.getDeviceList();

      for(NetworkInterface n : devices)

         System.out.println(n.name + "  |  " + n.description);

      System.out.println("-------------------------------");

     

      JpcapCaptor jpcap = null;

      int caplen = 1512;

      boolean promiscCheck = true;

      //caplen限制每一次收到一个数据包,只提取该数据包中前多少字节

      //Promisc:设置是否混杂模式。处于混杂模式将接收所有数据包,若之后又调用了包过滤函数setFilter()将不起任何作用

      //60这个参数主要用于processPacket()方法,指定超时的时间

      try{

         jpcap = JpcapCaptor.openDevice(devices[1], caplen, promiscCheck, 60);

        

      }catch(IOException e){

         e.printStackTrace();

      }

     

      //二、抓包

      int i = 0;

      while(i < 10){

         Packet packet = jpcap.getPacket();

         if((packet instanceof IPPacket) && (((IPPacket)packet).version == 4)){

            i++;

            IPPacket ip = (IPPacket)packet;//将包强制转换为IP包

            System.out.println("版本:IPV4");

            System.out.println("优先权:" + ip.priority);

            System.out.println("区分服务:最大吞吐量:" + ip.t_flag);

            System.out.println("区分服务:最高可靠性:" + ip.r_flag);

            System.out.println("长度:" + ip.length);

            System.out.println("标识:" + ip.ident);

            System.out.println("DF:Don't Fragment:" + ip.dont_frag);

            System.out.println("MF:More Fragment:" + ip.more_frag);

            System.out.println("片偏移:" + ip.offset);

            System.out.println("生存时间:" + ip.hop_limit);

            String protocol = null;

            switch(new Integer(ip.protocol)){

            case 1:protocol = "ICMP";break;

            case 2:protocol = "IGMP";break;

            case 6:protocol = "TCP";break;

            case 8:protocol = "EGP";break;

            case 9:protocol = "IGP";break;

            case 17:protocol = "UDP";break;

            case 41:protocol = "IPv6";break;

            case 89:protocol = "OSPF";break;

            default:break;

            }

            System.out.println("协议:" + protocol);

            System.out.println("源IP:" + ip.src_ip.getHostAddress());

            System.out.println("目的IP:" + ip.dst_ip.getHostAddress());

            System.out.println("源主机名:" + ip.src_ip);

            System.out.println("目的主机名:" + ip.dst_ip);

            System.out.println("--------------------------------------");

         }

      }

   }

}

 

更多相关推荐:
实验报告样式封面

实实验课程学生姓名学号专业班级验报告目录实验一建筑CAD操作系统实验二AutoCAD的基本绘制命令编辑命令与操作实验三实验四实验五实验六实验七实验八绘制二维建筑总平面渲染图绘制建筑总平面图和建筑局部大样图Aut...

实验报告的统一要求与封面格式-11

实验报告要求20xx1030一实验报告内容与要求1按照自己所做实验的次序撰写实验报告1实验内容2总体方案和设计流程3程序清单每个程序必须有详细的注释按照软件工程要求实验报告最后页总结你做本门课程实验的心得体会提...

实验报告书封面

实验报告名称姓名学号年级专业10会计学教改班20xx年1月1日成绩评语指导教师签名实验一股票系数的估计与应用实验时间20xx20xx1第18周实验地点福州大学经管北楼506实验工具锐思股票收益数据和Micros...

实验报告的封面及模版

深圳大学实验报告课程名称大学物理实验一实验名称学院指导教师报告人组号学号实验地点实验时间年月日提交时间123456

实验报告封面及报告

重庆交通大学学生实验报告实验课程名称开课实验室学院年级学生姓名学号开课时间至学年第学期交通经济管理实验教学示范中心实验报告20至20学年第学期周

南昌大学实验报告封面及目录

实实验课程学生姓名学号专业班级指导老师验报告自动控制理论樊晟年12月20日20xx目录一实验一典型环节的模拟研究二实验二二阶系统瞬态响应和稳定性三实验三一阶惯性环节的频率特性曲线实验四二阶开环系统的频率特性曲线...

深圳大学20xx年实验报告的封面及模版

报告要求报告一律使用A4纸报告模版的封面必须需打印封面必须填写完整实验报告内容只能手写报告末尾必须保留教师评语的地方和分数框报告内容包括一实验目的二实验原理三实验仪器四实验内容五数据记录必须要有表格六数据处理数...

武汉理工大学学生实验报告书及封面

学生实验报告书实验课程名称开课学院指导教师姓名学生姓名学生专业班级200200学年第学期实验教学管理基本规范实验是培养学生动手能力分析解决问题能力的重要环节实验报告是反映实验教学水平与质量的重要依据为加强实验过...

福州大学实验报告(封面)

实验课程设计报告名称姓名学号年级专业年月日成绩评语指导教师

实验报告封面格式22

现代设计艺术学院实训周课程设计色彩实验报告项目咖啡馆装饰画设计姓名陈淅学号20xx05004172班级视觉152指导教师杨淑目录目录项目特点3创意说明3工具材料说明3作品图片4项目总结41报告内容项目特点通过任...

标准格式-浙江大学实验报告-1_封面

实验报告课程名称营养与食品卫生学指导老师焦晶晶成绩实验名称维生素B2负荷尿试验与应用实验类型应用型一实验目的和要求必填二实验内容和原理必填三主要仪器设备必填四操作方法和实验步骤五实验数据记录和处理六实验结果与分...

实验报告封面及样本(2)

编号实验报告实验课程名称商业银行经营管理专业班级12学号学生姓名实验指导教师浙江大学城市学院实验报告纸实验名称银行综合业务实训2银行对公模块指导老师成绩专业班级姓名学号一实验目的和要求1目的培养金融专业学生综合...

实验报告封面(40篇)