课程编号:08110512
计算机网络基础
实验指导
执笔:况 颐
实验五 TCP/IP数据的抓取与分析
一、实验类型
验证性实验
二、实验目的
利用网络数据报抓取软件获得流入和流出本地主机上的TCP/IP数据,并对抓取的数据进行分析,获取数据信息特别是数据首部主要字段的信息。
三、实验设备和器材
1.计算机(网络环境)
2.系统软件
3. IP数据报抓取软件
四、实验步骤
1.熟悉实验软件。
本实验采用的数据抓取软件为Laurentiu公司的CaptureNET Version 3.12(软件安装包位于\\\\gis\\计算机网络实验\\实验软件\\SpyNet Sniffer 3.12 Build 6文件夹),该软件既可以抓取网络层的数据,也可用于抓取运输层的数据。默认方式安装,安装完毕,选择
本机的网络适配器作为监听对象。
2. 启动CaptureNET,停止所有网络操作,开始抓取,当抓到一定数量的数据报后,停止。
观察和分析捕获到的数据情况。
捕获的数据中包含序号、捕获时间、源MAC地址、目的MAC地址、帧或包格式(协议)、源IP地址、目的IP地址、源端口、目的端口、包中字节序号、应答以及包大小。
此时,因为本机没有数据传输,所以捕获的IP数据、TCP数据和UDP数据比重较小,甚至没有。
3.重启CaptureNET,开始抓取,同时进行网络数据操作,如访问“网上邻居”、Ping局域网内的主机、访问Internet上的资源等,当抓到一定数量的数据报后,停止。
观察并分析获取数据的情况——各种类型数据包的比重、格式等。
五、结果与分析
1.你从抓取的数据中能够得到哪些信息?IPv4数据报和TPDU首部中的所有字段是否都能得到?
2.你认为只要到达本机的所有数据是否都能追踪到其来源?为什么?
3.提交实验报告。
实验六 网络漏洞与网络安全
一、实验类型
验证性实验
二、实验目的
利用网络端口扫描软件查找网络上某个主机计算机或某些主机可能存在的漏洞,进一步利用远程控制软件,尝试控制存在漏洞的主机。以此增强网络安全意识。
三、实验设备和器材
1.计算机(网络环境)
2.系统软件
3. 端口扫描取软件
4. 远程控制软件
四、实验步骤
1.实验软件简介
本实验使用的远程控制扫描软件DameWare NT Utilities v6.7绿色版,该软件能够检
测某个主机或某些主机的端口使用情况和用户密码安全漏洞,并根据远程主机的安全情况尝试对远程主机进行控制。
绿色软件(压缩包位于\\\\gis\\计算机网络实验\\实验软件\\DameWare NT Utilities),将文件解压到系统盘根目录下(含路径),并将主文件DNTU.exe创建为桌面快捷方式。
2.扫描主机
启动DameWare NT Utilities,主程序自动扫描所在网段的所有主机的主机名、IP地址、端口使用情况,并将扫描结果显示在“Browser”区,这个过程可能需要一段时间,请稍候。
3.远程服务程序植入
鼠标右键点击“Browser”区尝试进行远程控制的主机名,并选择Remote Control—Mini Remote Control,此时DameWare NT Utilities将一个远程服务程序植入加载到远程主机的进程中(这一进程默认为可见方式,可更改)。
4.远程控制
若远程植入成功就获得了对远程主机的控制权。控制方式有不同类型,可逐一尝试。
5.实验结束,删除实验软件。
五、结果与分析
1.你认为网络上主机的安全措施应该从哪几个方面着手?
2.利用上次实验所有的抓包软件能否判断本地主机是否受到攻击?如何判断?为什么?
3.DameWare NT Utilities对于Windows 2000和Windows XP操作系统控制的结果有什么不同,为什么?
4.提交实验报告。
实验七 基于Winsock API的TCP/IP简单网络编程
一、实验类型
验证性实验
二、实验目的
采用Microsoft Visual Basic v6.0作为编程工具,利用其Winsock控件,实现基于TCP/IP的简单的网络数据传输,通过本实验了解网络编程的基本知识。
本实验使用TCP协议实现两台主机进行实时串通信(字符)。
三、实验设备和器材
1.计算机(网络环境)
2.系统软件
3. Microsoft Visual Basic v6.0
四、准备知识
实现网络上主机通信有三个必需要素:服务器端程序、客户端程序和通讯端口。
Microsoft Visual Basic的WinSock控件能够通过UDP协议或TCP协议的端口(插
口,套接字)连接到远程的机器并进行数据传输。这两种协议都能用来创建客户端和服务端应用程序,根据应用程序的特点选用。这两种协议在理论课程中已经讲述。
Winsock控件是在后台运行的一种控件,在使用过程中,控件不会显示在正在执行的窗体之中。
五、实验步骤
1.启动Microsoft Visual Basic 6.0,新建一个标准工程,加载WinSock控件(ProjectcomponentsMicrosoft Winsock control 6.0)。
2. 分别建立服务器端窗体和客户端窗体(名称、类型以及按钮等),选择TCP协议类型。在Visual Basic之中,共有两种设置协议的方式:
①修改属性窗口(下图)。
②程序代码设置
Winsock1.Protocol=sckTCPProtocol
3. 设置端口,本实验采用端口号为2000。如果选择“服务器端”时,服务器端的Winsock控件必须将特定的连接端口号设置在监听模式之中。同时,在客户端提出连接的请求时,主机端可以允许客户端的连接请求,并且完成连接的程序。一旦主机端与客户端连接成功,就可以传送数据。
4. 测试。
将服务器端和客户端在同一个主机上调试和测试,成功后可以进一步在不同的主机上进行,并尝试修改服务器端的IP地址。
六、部分参考源代码(单机)及涉及到的函数
1.服务器端frmserver
Private Sub Form_Load()
'设置本机连接端口的localport属性的内容,请注意!必须是整体值
tcpserver.LocalPort = 2000
'将本机连接端口设置为监听模式
tcpserver.Listen
Me.Caption = \"frmsever\"
Label1.Caption = \"传送的文字\"
Label2.Caption = \"接收的文字\"
'打开frmclient窗体
End Sub
Private Sub tcpserver_ConnectionRequest(ByVal requestID As Long)
'如果tcpserver 控件的状态目前不是处于关
'闭的状态时,在允许远程设备连接时,必须要关闭目前的控制的运行
If tcpserver.State <> sckClosed Then tcpserver.Close
'允许远程设备使用必要的识别码(requestid)与主机进行连接
tcpserver.Accept requestID
End Sub
Private Sub tcpserver_DataArrival(ByVal bytesTotal As Long)
'声明即将接收的数据类型
Dim strdata As String
'调用tcpserver控件的getdata方法,将接收的数据以vbstring数据类型,存放在strdata变量之中。
tcpserver.GetData strdata, vbString
'将strdata变量的内容,存放在txtoutput控件之中。
txtReceive.Text = strdata
End Sub
Private Sub Command1_Click()
tcpserver.SendData txtsend.Text
'发送txtsend.Text中的内容
End Sub
2. 客户端frmclient
Private Sub cmdconnect_Click()
'调用tcpclient控件的connect,初始化与主机的连接请求
tcpclient.Connect
End Sub
Private Sub Form_Load()
'指定远程主机的ip地址。如果是localhost,代表的ip地址为127.0.0.1,并且也代表本机。
tcpclient.RemoteHost = \"localhost\"
'设置本机连接端口的localport属性的内容
'请注意!必须是整体值
tcpclient.RemotePort = 2000
'设置窗体的标题内容
Me.Caption = \"frmclient\"
Label1.Caption = \"传送的文字\"
Label2.Caption = \"接收的文字\"
cmdconnect.Caption = \"与主机连接\"
End Sub
Private Sub tcpclient_DataArrival(ByVal bytesTotal As Long)
'说明即将接收的数据类型
Dim strdata As String
'调用tcpclient控件的getdata方法,将接收的数据以vbstring数据类型存放strdata变量之中。
tcpclient.GetData strdata, vbString
'将strdata变量的内容,存放在txtoutput控件之中。
txtReceive.Text = strdata
End Sub
Private Sub Command1_Click()
tcpclient.SendData txtsend.Text
'发送txtsend.Text中的内容
End Sub
七、结果与分析
1.使用UDP协议是否要判断连接,为什么?
2.如何允许更多客户端同时与服务器连接?
3.本实验给出了单机调试代码,如果要进行双机通信,代码应如何修改?
4. 提交实验报告。
因篇幅问题不能全部显示,请点此查看更多更全内容