当前位置:文档之家› 网络管理实验指导书

网络管理实验指导书

网络管理





2010.9
目录
前言 (1)
实验一TCP/IP协议代码实例分析 (2)
实验二基于TCP/UDP的客户服务器通信程序 (5)
*实验三基于Winsock API的客户/服务器程序 (6)
实验四基于原始套接口的PING程序设计 (7)
*实验五基于WinInet API的客户程序 (8)
前言
本课程是一门重要的计算机专业方向课程,为学生进行计算机网络软件开发奠定所需的技术知识基础。

带有*的为选做实验。

实验一TCP/IP协议代码实例分析
一、实验目的:
1、掌握TCP/IP的四个协议层之间的联系
2、了解应用层数据的封闭和传输
3、了解TCP协议连接的建立和关闭
4、掌握应用层命令和响应的传输.
二、实验环境:
1、硬件环境:安装网卡的一台或多台联网的计算机。

2、软件环境:WinPcap,Ethereal
三、实验内容
1、安装WinPcap,下载地址
/soft/2685.htm
2、安装Ethereal ,下载地址
/soft/3906.htm
3、Ethereal的使用
1)启动ethereal 以后,选择菜单Capature->Start ,就OK 了。

当你不想抓的时候,按一下stop,抓的包就会显示在面板中,并且已经分析好了。

2)使用capture选项。

nterface: 指定在哪个接口(网卡)上抓包。

一般情况下都是单网卡,所以使用缺省的就可以了Limit each packet: 限制每个包的大小,缺省情况不限制
Capture packets in promiscuous mode: 是否打开混杂模式。

如果打开,抓取所有的数据包。

一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。

Filter:过滤器。

只抓取满足过滤规则的包(可暂时略过)File:如果需要将抓到的包写到文件中,在这里输入文件名称。

use ring buffer:是否使用循环缓冲。

缺省情况下不使用,即一直抓包。

注意,循环缓冲只有在写文件的时候才有效。

如果使用了循环缓冲,还需要设置文件的数目,文件多大时回卷,其他的项选择缺省的就可以了
3)ethereal的抓包过滤器
抓包过滤器用来抓取感兴趣的包,用在抓包过程中。

抓包过滤器使用的是libcap 过滤器语言,在tcpdump 的手册中有详细的解释,基本结构是:[not] primitive [and|or [not] primitive ...]
如果你想抓取某些特定的数据包时,可以有以下两种方法,你可以任选一种:
a、在抓包的时候,就先定义好抓包过滤器,这样结果就是只抓到你设定好的那些类型的数据包;
b、先不管三七二十一,把本机收到或者发出的包一股脑的抓下来,然后使用下节介绍的显示过滤器,只让Ethereal 显示那些你想要的那些类型的数据包;
4)ethereal的显示过滤器(重点内容)
在抓包完成以后,显示过滤器可以用来找到你感兴趣的包,可以根据1)协议2)是否存在某个域3)域值4)域值之间的比较来查找你感兴趣的包。

例如:
我想抓取IP 地址是192.168.2.10 的主机,它所接收收或发送的所有的HTTP 报文,那么合适的显示Filter (过滤器)就是:
记住一个决窍,如果Filter的背景是绿色的,就说明你的Filter是合乎规定的,如果是红色的,就说明你设定的Filter是Ethereal所不允许的,是不对的。

5)更多使用方法可到网上查询中文使用说明。

4、在计算机上打开Ethereal软件,进行报文截获。

1)从浏览器上访问页面,具体操作为打开网页,浏览,关掉网页。

2)停止Ethereal的报文截获,结果命名为“http学号”保存。

3)分析截获的报文,回答以下问题:
A、分析建立TCP连接的三次握手和关闭TCP连接的四次握手的相关报文。

四、实验总结
写出实验完成后的体会、收获和存在的问题。

实验二基于TCP/UDP的客户服务器通信程序
一、实验目的
1、掌握基于TCP/UDP的网络程序基本流程。

2、掌握Winsock API的调用方法。

3、能够设计基于TCP/UDP的简单客户/服务器程序。

二、实验环境
1、硬件环境:安装网卡的一台或多台联网的计算机。

2、软件环境:VC6.0
三、实验内容
1、设计要求
实现一个基于TCP的客户服务器通信程序和一个基于UDP的客户服务器通信程序。

2、TCP程序功能
(1)服务器端的程序当有客户提出连接请求时,在端口5050与客户端进行TCP连接,连接成功后,显示客户IP地址和端口号,并给客户端发送“HELLO!I am a server.”字符串。

如果发送正确则显示所发送的字节数。

(2)客户端程序向服务器提出TCP连接的请求,当连接建立后,从服务器的端口5050接收数据并进行显示,然后断开与服务器的连接。

3、UDP程序功能要求
(1)服务器从端口5050接收客户发送来的数据,接收成功后显示从客户端收到的数据、客户端的IP地址和端口号;给客户端发送“HELLO!I am a server.”字符串。

(2)客户端程序向服务器发送数据“HELLO!I am a client.”;客户端程序从服务器接收数据并进行显示。

四、实验总结
1、记录程序代码,并加以注释
2、写出实验完成后的体会、收获和存在的问题。

实验三基于Winsock API的客户/服务器程序
一、实验目的
1、理解Winsock API编程的原理。

2、掌握网络程序设计的基本方法。

二、实验环境
1、硬件环境:安装网卡的一台或多台联网的计算机。

2、软件环境:VC6.0
三、实验内容
1、设计要求
实现一个基于UDP的Windwos下的客户/服务器网络程序。

2、程序功能
(1)当两个程序执行后,在任何一个程序的窗口中点击鼠标都可以向另外一个程序发送数据,并可以接收到从另外一个程序发送到该程序的数据。

(2)程序1在窗口中点击鼠标左键,则发送信息到端口号为6000的远程机上,并可以从端口号6000的远程机接收数据。

(3)程序2在窗口中点击鼠标左键,则发送信息到端口号为8000的远程机上,并可以从端口号8000的远程机接收数据。

四、实验总结
1、记录程序代码,并加以注释
2、写出实验完成后的体会、收获和存在的问题。

实验四基于原始套接口的PING程序设计
一、实验目的
1、了解PING程序的功能。

2、掌握原始套接口的应用。

3、掌握PING程序的实现步骤。

二、实验环境
1、硬件环境:安装网卡的一台或多台联网的计算机。

2、软件环境:VC6.0
三、实验内容
1、Ping函数的主要功能
(1)创建一个原始套接口。

(2)根据主机名查询主机地址。

(3)输出Ping程序要测试的目标主机地址。

(4)控制Ping进行4次发送与接收的测试(发送和接收分别使用
SendEchoRequest()和WaitForEchoReply()函数来完成)。

(5)计算传输时间,并输出提示信息。

(6)关闭原始套接口。

2、Ping程序的实现步骤
(1)定义IP和ICMP协议头。

(2)定义回送请求和应答数据包的结构。

(3)在主程序中初始化Winsock协议栈(使用WSAStartup()函
数)。

(4)在主程序中调用Ping函数。

(5)释放Winsock协议栈。

四、实验总结
1、记录程序代码,并加以注释
2、写出实验完成后的体会、收获和存在的问题。

实验五基于WinInet API的客户程序
一、实验目的
1、了解WinInet中句柄的概念。

2、掌握基本WinInet函数的使用。

3、掌握基于基于WinInet API的程序编写方法。

二、实验环境
1、硬件环境:安装网卡的一台或多台联网的计算机。

2、软件环境:VC6.0
三、实验内容
1、程序功能
给定Internet中一台服务器的域名,客户机首先与该域名的服务器建立连接,然后查询该服务器提供的功能。

查询的项目主要有:HTTP、FTP、GOPHER、FINGER、WHOIS
四、实验总结
1、记录程序代码,并加以注释
2、写出实验完成后的体会、收获和存在的问题。

相关主题