计算机网通信实验指导书文档格式.docx
《计算机网通信实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《计算机网通信实验指导书文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
三、实验步骤
1.问题理解和分析
充分地分析和理解问题本身,弄清要求做什么。
2.确定解决问题的方法(设计)
主要是找到解决问题的主要思路,是怎么做。
在此阶段可考虑系统的功能和模块划分等。
3.详细设计和编码
确定算法的主要流程,再进行编程。
4.程序调试和运行。
实验2差错编码
通过C/JAVA语言实现海明码的程序设计,掌握信道编码的基本概念、作用以及实现方法。
允分理解数据通信中信道编码的意义与具体的实现方法。
程序编写类题目
[问题描述]
用软件实验通信中差错编码。
[基本要求]
(1)熟练掌握海明码的基本原理。
(2)分别编写函数实现编码、解码的子函数。
(3)对给定的任意先序序列进行编、解码。
4.程序调试和运行
实验3数据传输协议设计
在数据通信与计算机网络中通信协议起着致关重要的作用,本知识点也是该课程的重难点。
通过对通信协议理论知识的学习,要求学生对一个简单通信系统,编写一个较完整的通信协议,实现系统的通信任务,以强化学生对通信协议的理解和掌握。
数据链路层协议实现。
[基本要求]
(1)学生自己要了解数据链路层流量控制协议的基本原理。
(2)实现停-等流量控制协议。
(3)实现“退回到N重发”的滑动窗口协议。
主要是找到解决问题的主要思路,是怎么做。
确定算法的主要流程,再进行编程。
实验4常用网络命令和一些工具的使用实验
通过对计算机网络基本知识的学习,动手操作一些常用的命令、工具,加深对计算机网络的认识与使用。
简单操作类题目
1.EtherDetectPacketSniffer的使用,它是一个强大、易用的网络数据包嗅探器。
它能够完整地捕捉到所处局域网中所有计算机的上、下行数据包,你也可以保存捕捉到的数据包。
此软件可用于本地网络安全、网页设计、局域网管理、网络程序设计...等的辅助工作。
Windump是Windows环境下一款经典的网络协议分析软件,其Unix版本名称为Tcpdump。
它可以捕捉网络上两台电脑之间所有的数据包,供网络管理员/入侵分析员做进一步流量分析和入侵检测。
在这种监视状态下,任何两台电脑之间都没有秘密可言,所有的流量、所有的数据都逃不过你的眼睛(当然加密的数据不在讨论范畴之内,而且,对数据包分析的结果依赖于你的TCP/IP知识和经验,不同水平的人得出的结果可能会大相径庭)。
如果你做过DEBUG或者反汇编,你会发现二者是那么惊人的相似。
2.局域网管理软件(网络执法官的使用)
局域网上网限制软件,上网监管,网络监控,邮件监控,互联网监控,上网监控,上网管理,网络监控软件,邮件拦截,邮件备份,上网过滤,网页过滤,管理上网,局域网管理,局域网监控,网络监视,邮件监视,上网监视,网络监测,邮件监测,网络检测,邮件检测,限制上网,限制聊天,上网限制,聊天限制,控制上网,网络管理程序,限制QQ,限制MSN,封堵QQ,禁止MSN,电子邮件监控,email监控……
3.PINGMSCONFIGIPCONFIGGPEDITWINGATEPROXY等软件的使用方法比如要知道PING不同的对象代表什么含义
4.网上邻居的故障及维护
5.网络打印共享的管理及维护
1.从网上收集相关命令和软件的说明书、了解其功能及作用。
2.从网上收集相关命令和软件的使用方法。
3.下载相关软件、并安装到PC机。
4.动手使用相关命令及软件。
5.
5.附录1Sniffer的使用附录2Windump的使用范例附录3网络执法官操作方法
附录1Sniffer的使用
捕获数据包前的准备工作
在默认情况下,sniffer将捕获其接入碰撞域中流经的所有数据包,但在某些场景下,有些数据包可能不是我们所需要的,为了快速定位网络问题所在,有必要对所要捕获的数据包作过滤。
Sniffer提供了捕获数据包前的过滤规则的定义,过滤规则包括2、3层地址的定义和几百种协议的定义。
定义过滤规则的做法一般如下:
1、在主界面选择captureà
definefilter选项。
2、definefilterà
address,这是最常用的定义。
其中包括MAC地址、ip地址和ipx地址的定义。
以定义IP地址过滤为例,见图1。
图1
比如,现在要捕获地址为10.1.30.100的主机与其他主机通信的信息,在Mode选项卡中,选Include(选Exclude选项,是表示捕获除此地址外所有的数据包);
在station选项中,在任意一栏填上10.1.30.100,另外一栏填上any(any表示所有的IP地址)。
这样就完成了地址的定义。
注意到Dir.栏的图标:
表示,捕获station1收发的数据包;
表示,捕获station1发送的数据包;
表示,捕获station1收到的数据包。
最后,选取
将定义的规则保存下来,供以后使用。
3、definefilterà
advanced,定义希望捕获的相关协议的数据包。
如图2。
图2
比如,想捕获FTP、NETBIOS、DNS、HTTP的数据包,那么说首先打开TCP选项卡,再进一步选协议;
还要明确DNS、NETBIOS的数据包有些是属于UDP协议,故需在UDP选项卡做类似TCP选项卡的工作,否则捕获的数据包将不全。
如果不选任何协议,则捕获所有协议的数据包。
PacketSize选项中,可以定义捕获的包大小,图3,是定义捕获包大小界于64至128bytes的数据包。
图3
4、definefilterà
buffer,定义捕获数据包的缓冲区。
如图4:
图4
Buffersize选项卡,将其设为最大40M。
Capturebuffer选项卡,将设置缓冲区文件存放的位置。
5、最后,需将定义的过滤规则应用于捕获中。
如图5:
图5
点选SelectFilterà
Capture中选取定义的捕获规则。
二、捕获数据包时观察到的信息
Captureà
Start,启动捕获引擎。
sniffer可以实时监控主机、协议、应用程序、不同包类型等的分布情况。
如图6:
图6
Dashboard:
可以实时统计每秒钟接收到的包的数量、出错包的数量、丢弃包的数量、广播包的数量、多播包的数量以及带宽的利用率等。
HostTable:
可以查看通信量最大的前10位主机。
Matrix:
通过连线,可以形象的看到不同主机之间的通信。
ApplicationResponseTime:
可以了解到不同主机通信的最小、最大、平均响应时间方面的信息。
HistorySamples:
可以看到历史数据抽样出来的统计值。
Protocoldistribution:
可以实时观察到数据流中不同协议的分布情况。
Switch:
可以获取cisco交换机的状态信息。
在捕获过程中,同样可以对想观察的信息定义过滤规则,操作方式类似捕获前的过滤规则。
三、捕获数据包后的分析工作
要停止sniffer捕获包时,点选Captureà
Stop或者Captureà
StopandDisplay,前者停止捕获包,后者停止捕获包并把捕获的数据包进行解码和显示。
如图7:
图7
Decode:
对每个数据包进行解码,可以看到整个包的结构及从链路层到应用层的信息,事实上,sniffer的使用中大部分的时间都花费在这上面的分析,同时也对使用者在网络的理论及实践经验上提出较高的要求。
素质较高的使用者借此工具便可看穿网络问题的结症所在。
Expert:
这是sniffer提供的专家模式,系统自身根据捕获的数据包从链路层到应用层进行分类并作出诊断。
其中diagnoses提出非常有价值的诊断信息。
图8,是sniffer侦查到IP地址重叠的例子及相关的解析。
图8
sniffer同样提供解码后的数据包过滤显示。
要对包进行显示过滤需切换到Decode模式。
Displayà
definefilter,定义过滤规则。
selectfilter,应用过滤规则。
显示过滤的使用基本上跟捕获过滤的使用相同。
四、sniffer提供的工具应用
sniffer除了提供数据包的捕获、解码及诊断外,还提供了一系列的工具,包括包发生器、ping、traceroute、DNSlookup、finger、whois等工具。
其中,包发生器比较有特色,将做简单介绍。
其他工具在操作系统中也有提供,不做介绍。
包发生器提供三种生成数据包的方式:
点选
,新构一个数据包,包头、包内容及包长由用户直接填写。
图9,定义一个广播包,使其连续发送,包的发送延迟位1ms
图9
点选
发送在Decode中所定位的数据包,同时可以在此包的基础上对数据包进行如前述的修改。
*
,发送buffer中所有的数据包,实现数据流的重放。
见图10:
图10
附录2Windump的使用范例
C:
>
windump
windump:
listeningon\Device\NPF_{3B4C19BE-6A7E-4A20-9518-F7CA659886F3}
这表示windump正在监听我的网卡,网卡的设备名称是:
\Device\NPF_{3B4C19BE-6A7E-4A20-9518-F7CA659886F3}
如果你看见屏幕上显示出这个信息,说明你的winpcap驱动已经正常安装,否则请下载并安装正确的驱动。
Windump的参数很多,运行windump-h可以看到:
Usage:
windump[-aAdDeflnNOpqRStuvxX][-Bsize][-ccount][-Cfile_size][-Ffile][-iinterface][-rfile][-ssnaplen][-Ttype][-wfile][-Ealgo:
secret][expression]
下面我来结合TCP的三步握手来介绍Windump的使用,请接着往下看:
D:
\tools>
windump-n
09:
32:
30.977290IP192.168.0.226.3295>
192.168.0.10.80:
S912144276:
912144276(0)win64240(DF)//第一行
30.978165IP192.168.0.10.80>
192.168.0.226.3295:
S2733950406:
2733950406(0)ack912144277win8760(DF)//第二行
30.978191IP192.168.0.226.3295>
.ack1win64240(DF)//第三行
先看第一行。
其中09:
30.977290表示时间;
192.168.0.226为源IP地址,端口3295,其实就是我自己的那台电脑;
192.168.0.10是目的地址,端口80,我们可以判断这是连接在远程主机的WEB服务上面;
S912144276:
912144276(0)表示我的电脑主动发起了一个SYN请求,这是第一步握手,912144276是请求端的初始序列号;
win64240表示发端通告的窗口大小;
mss1460表示由发端指明的最大报文段长度。
这一行所表示的含义是IP地址为192.168.0.226的电脑向IP地址为61.133.136.34的电脑发起一个TCP的连接请求。
接下来我们看第二行,时间不说了;
源IP地址为192.168.0.10,而目的IP地址变为192.168.0.226;
后面是S2733950406:
2733950406(0)ack912144277,这是第二步握手,2733950406是服务器端所给的初始序列号,ack912144277是确认序号,是对第一行中客户端发起请求的初始序列号加1。
该行表示服务器端接受客户端发起的TCP连接请求,并发出自己的初始序列号。
再看第三行,这是三步握手的最后一步,客户端发送ack1,表示三步握手已经正常结束,下面就可以传送数据了。
在这个例子里面,我们使用了-n的参数,表示源地址和目的地址不采用主机名的形式显示而采用IP地址的形式。
下面我们再来看看如果三步握手不成功会是怎么样。
我先telnet到一台没有开telnet服务的计算机上面:
\DocumentsandSettings\Administrator>
telnet192.168.0.10
正在连接到192.168.0.10...不能打开到主机的连接,在端口23.由于目标机器积极拒绝,无法连接。
这个时候我们再看windump所抓获的数据包:
listeningon\Device\NPF_{3B4C19BE-6A7E-4A20-9518-F7CA659886F3}
10:
38:
22.006930arpwho-has192.168.0.10tell192.168.0.226//第三行
22.007150arpreply192.168.0.10is-at0:
60:
8:
92:
e2:
d//第四行
22.007158IP192.168.0.226.3324>
192.168.0.10.23:
S1898244210:
1898244210
(0)win64240(DF)//第五行
22.007344IP192.168.0.10.23>
192.168.0.226.3324:
R0:
0(0)ack1898244211win0//第六行
22.478431IP192.168.0.226.3324>
1898244210(0)win64240(DF)
22.478654IP192.168.0.10.23>
0(0)ack1win0
22.979156IP192.168.0.226.3324>
1898244210(0)win64240(DF)
22.979380IP192.168.0.10.23>
0(0)ack1win0
从第三行中,我们可以看见192.168.0.226因为不知道192.168.0.10的MAC地址,所以首先发送ARP广播包;
在第四行中,192.168.0.10回应192.168.0.226的请求,告诉192.168.0.226它的MAC地址是0:
d。
第五行中,192.168.0.226向192.168.0.10发起SYN请求,但在第六行中,我们可以看见,因为目标主机拒绝了这一请求,故发送R0:
0(0)的响应,表示不接受192.168.0.226的请求。
在接下来的几行中我们看见192.168.0.226连续向192.168.0.10发送SYN请求,但都被目标主机拒绝。
附录3网络执法官操作方法
一、主要操作流程
1、安装运行软件
软件可以安装在硬盘的任一盘符上(需对安装本软件的目录及系统临时目录有写入权限),建议将本软件运行于Windows2000/xp/2003下,并以Administrator身份启动软件。
2、软件自动检测到用户并赋予默认权限
软件初次运行时,无用户记录,会将所有检测到的网卡作为新用户并赋予默认权限(请参见名词解释“默认权限”)。
3、管理员根据实际需要修改各用户权限
管理员可以在主菜单“用户”/“设定权限”中修改用户权限,也可以在主界面“用户列表”的右键菜单中选择“设定权限”修改用户权限。
用户权限分为“无限制”、“部分受限制”和“完全限制”。
“无限制”用户可在任意时段、以任意IP与网络连接而不会被软件判为非法用户;
“部分受限制”用户只能在指定的时段以指定的IP与网络连接,否则即被软件判为非法用户;
“完全限制”用户不能与网络连接,只要软件检测到该类用户存在,即将其判为非法用户。
对非法用户,软件会自动采用管理员指定的“管理方式”进行管理。
注意,软件并不主动识别网络中的交换机、服务器等关键设备,请谨慎操作,以免造成对这些关键设备的错误管理从而造成网络故障。
4、软件自动对各用户依其权限进行监控
管理员设置完用户权限后,会立即生效并自动永久保存。
注意,只有企业注册版才可以管理友邻用户(请参见名词解释中的“友邻用户”),并将监控结果(何时上线、何时下线、所用IP、主机名、是否非法等)作永久记录,以备查询。
二、辅助操作
关于“用户列表”
“用户列表”主体为一个列表框,是管理员最常使用的界面。
“用户列表”中显示了系统中所有用户,通过双击某用户行,可以调出查看该用户属性的对话框;
右键单击某用户行,可以调出设置该用户权限、对其手工管理、发送消息等对话框;
如果选取了多个用户,在右键菜单中还会出现“ip-mac绑定”等选项,能快速进行批量操作。
“用户列表”各项目默认顺从左到右为:
网卡权限及地址、状态、锁定、IP、主机名、上线时间、下线时间、网卡注释,辅以各种图标,以更直观(请参考“用户图示”)。
“用户列表”支持排序,单击各项标头,即可对该项进行正向、逆向排序。
“网卡注释”初始值为网卡生产厂家名,建议在用户属性中将其改为各用户所在部门的名称,如“品管部 张三”,排序后可将同一部门的人集中在一起,方便管理。
设置关键主机组
点击主菜单的“设置/关键主机组”可以设置关键主机,也可以在用户权限设定对话框中点击“关键主机”按钮来设置关键主机。
关键主机最多可设定8组,每组最多可包含18个IP。
关键主机的修改即时生效并永久保存。
请参考名词解释“关键主机”。
设置用户权限
点击主菜单的“用户”/“设定权限”可以修改某用户权限,也可以在主界面“用户列表”的右键菜单中选择“设定权限”修改用户权限。
用户权限的修改即时生效并永久保存,请参考本页上方“主要操作流程”中“3、管理员根据实际需要修改各用户权限”。
批量IP-MAC绑定
注册版本可以一次指定多个用户所使用的IP。
在“用户列表”中选择多个用户,然后点击右键,选择右键菜单中的“ip-mac绑定”。
此功能与逐个设置各用户限用IP的效果相同,适合于为多个用户快速指定权限。
锁定
锁定指管理员临时断开用户与关键主机或其它全部主机的连接,请参考名词解释“锁定”。
每个用户的锁定状态有三种:
未锁定、半锁定(禁止与关键主机连接)、全锁定(禁止与所有主机连接),双击“用户列表”的某行上的“锁定”列,可以快速切换该用户的锁定状态;
在右键菜单的“锁定/解锁”项中也可以改变用户的锁定状态;
如果选择了多个用户,也可以在右键菜单的“锁定/解锁”项中批量改变用户锁定状态。
手工管理
管理员可以临时对某一用户采取一定的管理手段,以限制某一用户或测试软件是否正常。
请参考名词解释“手工管理”。
记录查询
各用户的上线记录会在数据库中永久保存以供查询。
在主界面的“记录查询”子界面中,可以输入各种条件查询并统计,对查询及统计结果还可导出为文本文件。
与“用户列表”一样,点击查询结果显示框中的各标头,可以对结果进行各种排序。
删除用户
某些情况下需要将用户删除掉,可以在“用户列表”的右键菜单中进行操作。
对于注册版本,在软件启动时,提供“继续但不扫描”选项,在此状态下可批量删除用户及记录。
注意,如果下次再检测到该用户,将会为其赋予默认权限(请参考名词解释“默认权限”)。
调整上线检测灵敏度
在主菜单的“设置”/“其它设定”中可以上线检测灵敏度,游标向右移为加大。
一般情况下,用户开机后的60秒内能被本软件检测到,灵敏度越大,这个时间就越短,但占用的资源就越多。
调整下线检测灵敏度
在主菜单的“设置”/“其它设定”中可以下线检测灵敏度,游标向右移为加大。
一般情况下,用户关机后的120秒内能被本软件检测到,灵敏度越大,这个时间就越短,但占