《计算机网络系统实践》报告.docx
- 文档编号:11472132
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:19
- 大小:1.25MB
《计算机网络系统实践》报告.docx
《《计算机网络系统实践》报告.docx》由会员分享,可在线阅读,更多相关《《计算机网络系统实践》报告.docx(19页珍藏版)》请在冰豆网上搜索。
《计算机网络系统实践》报告
计算机与信息学院
《计算机网络系统实践》报告
2014年01月
一、必做部分
(一)局域网组网
1实验目的
(1)了解网线制作标准,了解各种网线的应用范围
(2)网络设备的介绍
(3)IP地址
(4)IP地址寻址过程
(5)WINDOWS下常用网络命令介绍
2实验环境
交换机、PC机、网线、windowsxp操作系统
3实验步骤
1.本实验的网络连接
将直通双绞线的一端接到交换机上,另一端接到PC机上的网卡上,此时交换机对应的端口指示灯应变亮。
2.IP地址的配置
(1)在WINxp操作系统下,右键选择“网上邻居”—>“属性”—>右键选择“本地连接”—>“属性”—>选择“Internet协议”—>“属性”—>在常规里选择“使用下面的IP地址”—>在IP地址框中填入“192.168.10.2”(注:
实验中的IP地址范围为:
192.168.10.X,其中X为1-60,本实验中以192.168.10.1为例)—>子网掩码中填入“255.255.255.0”—>“默认网关”填入“192.168.10.254”—>选择“使用下面的DNS服务器地址”—>在“首选DNS服务器”框中填入“202.102.192.68”—>“确定”。
(注:
DNS服务器地址是在使用域名服务时才需要填写的,DNS是将计算机域名和IP地址进行转换,网关和DNS都是根据实际要求来填入地址,此实验中不填也可以)。
(2)点击“确定”。
3.计算机名的配置
在WIN2000Profession操作系统下,右键选择“我的电脑”—>“属性”—>选择“网络标识”—>“属性”—>在“计算机名”框中输入计算机名“user1”—>隶属于选“工作组”—>填“workgroup”—>“确定”。
4.ARP协议的测试
每台机器完成上述配置后,可进行如下测试。
(1)进入MS-DOS方式
点击“开始”—>“运行”,在对话框中填入“cmd”,点“确定”。
(2)在MS-DOS方式下执行如下命令:
arp–a
(3)在MS-DOS方式下执行如下命令:
(注:
192.168.10.2为另一台机器的IP地址)ping192.168.10.2,然后再用arp-a命令查看。
结果中的MAC地址为user2主机的地址,在user2主机上用ipconfig/all命令可以验证。
我的计算机信息:
另外一台计算机信息:
5.在“网上邻居“里查看其它的IP计算机
(1)双击“网上邻居”,双击“邻近的计算机”就能看到在同一工作组里的其它计算机。
(2)双击“我的电脑”,在某一个盘符或某一个文件夹上右击“属性”,点选“共享”选项卡,点击“共享该文件夹”,这样别的主机就可以共享你的资源
4总结
此次实验我与吴佩同学共同完成,利用实验室的计算机进行局域网的实验。
能在windowsxp下进行IP地址的手工设定,也能利用dos界面熟练使用ping等常用网络命令。
熟悉了解IP地址以及IP地址寻址方式。
知道并认识常见网络设备,对计算机网络的实际操作部分有了深入的了解。
思考题:
1.如果test1与test2要等待多长时间不进行通讯,才能使ARPcache为空?
一般来说,路由器交换机上缺省是20分钟,PC机上5分钟,具体数值可调。
2.如果test1的IP地址改为:
192.168.10.9/28,那么test2的IP地址要如何设置才能与test1正常通讯?
应该确定两个主机都在同一个子网中,才能通信。
另外,在更改了子网后,应该注意更改其子网掩码。
(二)WWW服务器、FTP服务器的构建
1实验目的
了解Web服务器和FTP服务器的安装以及配置
2实验环境
Windows7操作系统、IIS服务器
3实验步骤
(1)利用IIS安装WWW服务器和FTP服务器
(2)在浏览器中打开http:
//127.0.0.1,查看是否安装成功
(3)在DOS界面下利用FTP127.0.0.1来查看是否安装成功
(4)新建一个WWW服务器站点
(5)新建一个FTP服务器站点
(6)对两个站点进行配置
截图如下:
4总结
通过本次实验,了解了服务器的运行方式。
能利用IIS对web服务器和FTP服务器来进行安装和配置。
并且能利用浏览器和dos下的操作指令来验证是否安装成功。
本次实验让我对计算机网络在实际生活中的应用有了很大的了解。
另外,我知道了在同一个PC上能同时安装Apache和IIS,但需要修改端口号。
(三)串口通讯
1实验目的
(1)理解串口通讯和RS-232协议的原理
(2)掌握RS-232串口的基本连接方法
(3)在Windows环境下,设计完成通过串口进行计算机通讯的程序设计。
(4)掌握ActiveX控件MSComm在VC编程中的使用。
2实验环境
PC机(一台)、虚拟串口端口、Windows7系统、Vc++6.0软件。
3实验步骤
(1)创建空的MFC工程
首先打开VC环境,单击“文件”主菜单中的“新建”菜单项,在弹出的“新建”窗体中选择“工程”标签,在标签下的列表框中列出的应用程序类型中选择“MFCAppWizard”选项。
在右边的“工程”文本框中填写工程名JieShou,并在下面的对话框中指定相应的路径。
此时系统弹出“MFCWizardStep1”对话框,在可选的程序类型中选择“基本对话(Dialogbased),在其后弹出的3个窗体中,单击“下一步(next)”即可,直至完成。
至此,空的MFC工程建立完毕。
(2)添加MSComm控件
选择“Project->AddToProject->->ComponentsandControls”在菜单命令,会弹出图1.2所示的ComponentsandControlsGallery对话框。
用户可以在图1.3所示的·RegisteredActiveX文件夹中选中“MicosoftCommunicationsControlVersion6.0”选项,单击“Insert”按钮就可以完成添加MSComm控件的操作。
此时可以看到工具栏的左下部比原来多出MSComm控件,在左边的项目工作区中点击Resource选项卡,单击Dialog选项左边的+,在展开的项目中双击IDD_JIESHOU_DIALOG,在项目工作区右边出现已有两个按钮和一行文本的设计窗体,把MSComm控件移至设计窗体中,并修改控件的ID为ID_COMMCTRL。
再打开取消按钮的属性页,把它的ID改为IDC_CLEAR,标题改为“清屏”。
(3)设计窗体及相应变量和函数的设置
将edit控件的ID设置成IDC_RECEIVE,在菜单“查看”中选择“建立类向导”,打开MemberVaviables选项卡。
在ClassName中选择类CjieShouDlg,先在ControlIDs中双击ID_COMMCTRL,在弹出窗体的MemberVariablename下为此控件命名为m_Com,类型为Control;如图1.6所示,类似的,再在ControlIDs中双击IDC_RECEIVE,在弹出窗体的MemberVariablename下为此控件命名为m_Jieshou,类型为Cstring。
打开MemberVaviables选项卡左边的MessageMaps选项卡,在objectIDs中选择IDC_CLEAR,在Messages下的文本框中双击BN_CLICKED,在弹出的对话框中将清屏按钮的对应函数命名为OnClear,再在objectIDs中选择ID_COMMCTRL,在Messages下的文本框中双击OnComm,在弹出的对话框中将MSComm控件的对应函数命名为OnComm,如图1.7所示,在此函数中将完成发送信息的功能。
在项目工作区中选择ClassView选项卡,单击打开CjieShouDlg类,在函数OnInitDialog()中完成MSComm控件的初始化。
(5)接收字符(即串口信息捕捉)的功能是由函数OnComm()完成的。
在项目工作区中选中ClassView选项卡,找到CJieShouDlg类,在CJieShouDlg类中双击OnComm()函数。
完成此函数代码。
截图如下:
4总结
本次实验不仅是软件上的知识,我也学到了很多硬件方面的知识。
在为了方便程序的调试,采用了网上的一些软件来辅助。
能熟练使用MFC搭建平台,并利用控件完成实验所需要求。
在使用控件的时候,发现win7并不是很兼容,需要对硬件进行注册,还要注意64位和32位的系统,其控件文件所在目录不同。
除此之外,我还能在MFC下调用一些封装的函数较快较好的完成实验。
知道了UpdateDate()的参数默认为true。
当数据从界面到程序时用UpdateDate()()或UpdateDate()(true)。
当数据从程序到界面时用UpdateDate(false)。
此外,知道m_Com.SetRThreshold
(1)的“1”代表的意思,其中m_Com是一个关联变量,与控件相关联。
1表示大于等于1个字符则触发OnComm,改为其他的值时,则不能单独传输1个字符。
二、选做部分
题目:
3.2端口扫描工具的设计与实现
1设计要求
(1)实现一个功能比较简单的、具有图形界面的端口扫描工具,主线程响应用户界面操作,工作线程完成端口扫描等工作;
(2)能够扫描指定IP地址的主机/服务器开放了哪些端口;
(3)能够扫描指定IP地址范围内的哪些主机/服务器开放了特定端口,如常见的TCP端口FTP(21)、SMTP(25),UDP端口DNS(53)、SNMP(161);
(4)扫描动作要具有一定的隐蔽性和效率。
2开发环境
Windows7操作系统、VC++6.0
3基本原理
(1)采用向端口发送connect包的方法,来记录开放的端口
(2)为了提高速度,采用多线程的方式。
每个端口开放一个线程进行扫描,为了不影响性能,最多有200个线程共同进行。
(3)在扫描IP段的时候,为每个IP地址的不同端口都开放线程,提高速度。
4功能模块
(1)启动扫描函数voidCPortscan20112914Dlg:
:
OnScan()
(2)消息响应函数voidCPortscan20112914Dlg:
:
OnScanThread(WPARAMwParam,LPARAMlParam)
(3)建立线程DWORDWINAPIStartScan(LPVOIDlpParam)
(4)扫描程序DWORDWINAPIDoScanPort(LPVOIDlpParam)
(5)获取IP地址boolIsIpString(constchar*pszHostOrIp)
5设计步骤
(1)利用MFC搭建平台,具备从图形化窗口读出以及从图形化窗口获得数据的功能。
(2)实现各个功能函数,写好注释。
(3)对基本完成的设计进行测试,对测试发现的问题予以改正。
(4)完成设计,填写使用说明的txt文本文件。
6设计结果及使用说明
单个IP扫描结果:
多个IP扫描结果:
7设计体会(关键问题及解决方法)
通过此次实验,我了解了TCP协议的运行方式,能利用TCP中自带的包connect()来进行端口的扫描。
而且熟悉了线程的使用,能建立多线程的程序。
在MFC下能熟练使用各种控件来完成要求。
此程序在测试范围内正确,速度不慢,基本能进行实际应用。
在完成该设计后,我有思考过怎么样让自己的端口扫描更隐蔽,可以用个跳板来转发数据,就能隐藏自己的IP。
或者,利用用connect包,若使用别的方法,例如TCPSYN或者TCPFIN等,大部分被扫描主机会记录这种非正常的连接请求,从而使得扫描者的IP被记录在日志中。
在设计的过程中,对winsock.h这个头文件有了一定的认识,通过查找资料能很好的解决所遇到的困难。
不过,对于多线程程序的实现并不熟悉,特别是在做扫描多个IP段的时候,因为每个IP回调用不同线程,而每个IP扫描每个端口时也是不同线程,而每个线程完成时间不同,所以会使得在显示结果时混乱,所以只有一个一个IP分不同线程来扫描不同端口,完成一个IP后,再扫描下一个IP,而不是像最开始那样,所有IP一起扫描,这样就解决了线程完成的先后问题。
另外,我发现如果一次性线程太而会影响效率,所以最后设定了同时存在线程的最大值。
8参考资料
开源中国:
在线API文档:
CSDN论坛:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络系统实践 计算机网络 系统 实践 报告