合工大 网络实践 报告文档格式.docx

上传人:b****2 文档编号:1403656 上传时间:2023-04-30 格式:DOCX 页数:38 大小:2.42MB
下载 相关 举报
合工大 网络实践 报告文档格式.docx_第1页
第1页 / 共38页
合工大 网络实践 报告文档格式.docx_第2页
第2页 / 共38页
合工大 网络实践 报告文档格式.docx_第3页
第3页 / 共38页
合工大 网络实践 报告文档格式.docx_第4页
第4页 / 共38页
合工大 网络实践 报告文档格式.docx_第5页
第5页 / 共38页
合工大 网络实践 报告文档格式.docx_第6页
第6页 / 共38页
合工大 网络实践 报告文档格式.docx_第7页
第7页 / 共38页
合工大 网络实践 报告文档格式.docx_第8页
第8页 / 共38页
合工大 网络实践 报告文档格式.docx_第9页
第9页 / 共38页
合工大 网络实践 报告文档格式.docx_第10页
第10页 / 共38页
合工大 网络实践 报告文档格式.docx_第11页
第11页 / 共38页
合工大 网络实践 报告文档格式.docx_第12页
第12页 / 共38页
合工大 网络实践 报告文档格式.docx_第13页
第13页 / 共38页
合工大 网络实践 报告文档格式.docx_第14页
第14页 / 共38页
合工大 网络实践 报告文档格式.docx_第15页
第15页 / 共38页
合工大 网络实践 报告文档格式.docx_第16页
第16页 / 共38页
合工大 网络实践 报告文档格式.docx_第17页
第17页 / 共38页
合工大 网络实践 报告文档格式.docx_第18页
第18页 / 共38页
合工大 网络实践 报告文档格式.docx_第19页
第19页 / 共38页
合工大 网络实践 报告文档格式.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

合工大 网络实践 报告文档格式.docx

《合工大 网络实践 报告文档格式.docx》由会员分享,可在线阅读,更多相关《合工大 网络实践 报告文档格式.docx(38页珍藏版)》请在冰点文库上搜索。

合工大 网络实践 报告文档格式.docx

选择“使用下面的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)双击“我的电脑”,在某一个盘符或某一个文件夹上右击“属性”,点选“共享”选项卡,点击“共享该文件夹”,这样别的主机就可以共享你的资源。

四、截图

再次ARP–a后

5、设计总结和体会

此次实验我与吴佩同学共同完成,利用实验室的计算机进行局域网的实验。

能在windowsxp下进行IP地址的手工设定,也能利用dos界面熟练使用ping等常用网络命令。

熟悉了解IP地址以及IP地址寻址方式。

知道并认识常见网络设备,对计算机网络的实际操作部分有了深入的了解。

6、思考题

1.如果test1与test2要等待多长时间不进行通讯,才能使ARPcache为空?

一般来说,路由器交换机上缺省是20分钟,PC机上5分钟,具体数值可调。

2.如果test1的IP地址改为:

192.168.10.9/28,那么test2的IP地址要如何设置才能与test1正常通讯?

应该确定两个主机都在同一个子网中,才能通信。

另外,在更改了子网后,应该注意更改其子网掩码。

实验二WWW服务器、FTP服务器的构建

了解Web服务器和FTP服务器的安装以及配置

Windows7操作系统、IIS服务器

(1)利用IIS安装WWW服务器和FTP服务器

(2)在浏览器中打开http:

//127.0.0.1,查看是否安装成功

(3)在DOS界面下利用FTP127.0.0.1来查看是否安装成功

(4)新建一个WWW服务器站点

(5)新建一个FTP服务器站点

(6)对两个站点进行配置

●截图

通过本次实验,了解了服务器的运行方式。

能利用IIS对web服务器和FTP服务器来进行安装和配置。

并且能利用浏览器和dos下的操作指令来验证是否安装成功。

本次实验让我对计算机网络在实际生活中的应用有了很大的了解。

(1)在同一个PC上能否同时安装Apache和IIS,如何设置使得其共存?

apache可以和iis共存,但必须的修改端口号。

具体步骤是:

1.在tomcat\bin\下建立iis资料夹,将isapi_redirector.dll档案复制到这里。

2.激活IIS服务管理员,点选你的WEB站台按右键,选「内容」。

3.点选「ISAPI筛选器」→新增,筛选器名称->

输入「JakartaRedirector」,执行文件->

输入「C:

\tomcat\bin\iis\isapi_redirector.dll」(视你实际的位置而定),然后按确定。

4.点选你的WEB站点,按右键→新增→虚拟目录,别名输入jakarta,目录请指到C:

\tomcat\bin\iis,权限请选择「读取」、「执行指令文件」、「执行」三项。

5.建立一个名为iis_redirect.reg的文件,其内容如下:

REGEDIT4[HKEY_LOCAL_MACHINE\SOFTWARE\ApacheSoftwareFoundation\JakartaIsapiRedirector\1.0]"

extension_uri"

="

/jakarta/isapi_redirector.dll"

"

log_file"

="

C:

\\TOMCAT\\logs\\iis_redirect.log"

"

log_level"

emerg"

worker_file"

C:

\\tomcat\\conf\\worker.properties"

worker_mount_file"

C:

\\tomcat\\conf\\uriworkermap.properties"

6.双击将文件内容导入注册表。

7.到tomcat\conf下,建立一个名为worker.properties的文件,其内容如下:

#************Beginworker.properties**************

worker.ajp13.type=ajp13

worker.ajp13.lbfactor=1

worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=ajp13

worker.tomcat_home=C:

\tomcat//指到你的tomcat目录

worker.java_home=C:

\jdk//指到你的java的目录

ps=\

worker.list=ajp13

worker.ajp13.port=8009

worker.ajp13.host=localhost

#************Endworker.properties**************

8.到tomcat\conf下,建立一个名为uriworkermap.properties的文件,其内容如下:

#************Beginuriworkermap.properties**************

default.worker=ajp13

/manager=$(default.worker)

/manager/*=$(default.worker)

/examples=$(default.worker)

/examples/*=$(default.worker)

/tomcat-docs=$(default.worker)

/tomcat-docs/*=$(default.worker)

/webdav=$(default.worker)

/webdav/*=$(default.worker)

#以上的目录结构,视您webapps下的目录结构自行增减,

#例如webapps目录底下如果建立了一个news的资料夹,

#那么上面就得再加上

#/news=$(default.worker)

#/news/*=$(default.worker)

#************Enduriworkermap.properties**************

9.先将Tomcat关闭,再将IIS重新激活,再开启Tomcat。

10.10.测试是否已经结合,浏览器网址列输入http:

//localhost/examples/,如果看得到画面,恭喜你,你已经成功了

(2)如何设置IIS使得特定的站点或虚拟目录只能被指定的用户或者计算机访问?

在其中属性中设置访问的方式,可以添加用户名以及密码,使得只有知道密码的特定用户可以进行访问。

实验三串口通讯

(1)理解串口通讯和RS-232协议的原理

(2)掌握RS-232串口的基本连接方法

(3)在Windows环境下,设计完成通过串口进行计算机通讯的程序设计。

(4)掌握ActiveX控件MSComm在VC编程中的使用。

PC机(一台)、虚拟串口端口、Windows7系统、Vc++6.0软件。

3、需求分析的简要描述

(1)使用串口驱动方式编写串口通讯程序的基本原理

MSComm控件是ActiveX控件的一种,通过串行端口传输和接收数据,为应用程序提供串行通讯功能。

MSComm控件可以较为方便的进行串口编程,程序员不必花时间去了解较为复杂的API函数,而且在VisualC++,VisualBasic,Delphi等语言中均可使用

事件驱动通讯是处理串行端口交互作用的一种非常有效的方法,在许多情况下,事件发生时需要得到通知。

例如,在串口接收缓冲区中有字符,或者CarrierDetec(CD)或RequestToSend(RTS)线上的一个字符到达或一个事件发生时。

在这些情况下,可以利用MSComm控件的OnComm事件捕获并处理这些通信事件。

OnComm事件还可以检查和处理通讯错误。

如果要了解所有通讯事件和通讯错误的列表,请参阅CommEvent属性。

在编程过程中就可以在OnComm事件处理函数中加入自己的处理代码。

这种方法的优点是程序响应及时,可靠性高。

每个MSComm控件对应着一个串行端口。

如果应用程序要访问多个串行端口,必须使用多个MSComm控件。

(2)程序涉及的功能函数简介

1)MSComm控件的InPut属性:

VARIANTGetInput;

InPut属性表示从接收缓冲区移走一串字符,将缓冲区中收到的数据读入变量,属性值为为Variant型变量。

该属性在端口未打开时不可用,在运行时是只读的。

2)InBufferCount属性:

VoidSetInBufferCount(shoutnNewValue):

shoutGetInBufferCount();

InBufferCount属性用于返回输入缓冲区的等待读取的字节个数,可以通过该属性值为0来清除接收缓冲区。

3)Settings属性

VoidSetSettings(LPCTSTRvalue);

StringGetSettings();

该属性用于设置并返回数据传输速率,奇偶校验,数据比特,停止比特参数。

当端口打开时,如果value非法,则MSComm控件产生错误380(非法属性值)。

4、步骤

(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()函数

5、截图

六、程序清单(核心代码)

voidCJieShouDlg:

:

OnComm()

{

VARIANThuiying;

char*string;

char*qinchustring;

intk,nEvent,i;

nEvent=m_Com.GetCommEvent();

if(nEvent==2)

{

k=m_Com.GetInBufferCount();

if(k>

0)

{

huiying=m_Com.huiying=m_Com.GetInput();

string=(char*)(unsignedchar*)huiying.parray->

pvData;

}

i=0;

qinchustring=string;

while(i<

k)

{

i++;

qinchustring++;

}

*qinchustring='

\0'

;

m_Jieshou=(constchar*)string;

UpdateData(FALSE);

}

OnClear()

//TODO:

Addyourcontrolnotificationhandlercodehere

m_Jieshou.Empty();

UpdateData(FALSE);

BOOLCJieShoulDlg:

OnInitDialog()

……

SetIcon(m_hIcon,FALSE);

//在此后添加代码

m_Com.SetCommPort

(1);

m_Com.SetInBufferSize(1024);

//设置输入缓冲区的大小,Bytes

m_Com.SetOutBufferSize(512);

//设置输出缓冲区的大小,Bytes

if(!

m_Com.GetPortOpen())//打开串口

m_Com.SetPortOpen(TRUE);

m_Com.SetInputMode

(1);

//设置输入方式为二进制方式

m_Com.SetSettings("

9600,n,8,1"

);

//设置波特率等参数

m_Com.SetRThreshold

(1);

   

m_Com.SetInputLen(0);

/*结束添加*/

returnTRUE;

7、设计总结和体会

本次实验不仅是软件上的知识,我也学到了很多硬件方面的知识。

在为了方便程序的调试,采用了网上的一些软件来辅助。

能熟练使用MFC搭建平台,并利用控件完成实验所需要求。

在使用控件的时候,发现win7并不是很兼容,需要对硬件进行注册,还要注意64位和32位的系统,其控件文件所在目录不同。

除此之外,我还能在MFC下调用一些封装的函数较快较好的完成实验。

8、思考题

1.Update(True)和Update(False)分别表达什么功能有何区别?

UpdateDate()的参数默认为true。

当数据从界面到程序时用UpdateDate()()或UpdateDate()(true)。

当数据从程序到界面时用UpdateDate(false)。

2.在接收端程序中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)扫描动作要具有一定的隐蔽性和效率。

二、所用软件环境或工具

Windows7操作系统、VC++6.0

(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)

6、程序清单(核心代码)

启动扫描函数

voidCPortscan20112914Dlg:

{

UpdateData();

if(m_hThread==NULL&

&

m_iss==false)

UpdateData();

if((g_ulAddr=GetAddr(m_IP))==INADDR_NONE)

AfxMessageBox("

无法找到主机"

return;

m_nHasComplete=0;

m_dwPercentSeconds=0;

m_pProgressCtrl->

SetPos(0);

//进度条控制

m_hParentTree=m_ctrResultTree.InsertItem(m_IP+CTime:

GetCurrentTime().Format("

--水水-扫描时间%H:

%M:

%S"

));

g_bTerminate=false;

g_hWnd=m_hWnd;

g_nMaxThread=m_nMaxThread;

g_nThreadCount=0;

g_iss=m_iss;

tag_PORTS*pScanParam=newtag_PORTS;

pScanParam->

iStartPort=m_iStartPort;

iEndPort=m_iEndPort;

SetRange(0,m_iEndPort-m_iStartPort+1);

DWORDdwThreadId;

m_hThread=CreateThread(NULL,0,StartScan,(LPVOID)pScanParam,0,&

dwThreadId);

m_ctrBeginScan.SetWindowText("

结束扫描"

SetTimer(1,100,NULL);

}

else

CStringtem;

for(inti=0,j=1;

i<

m_IPnum;

i++)

while(g_nThreadCount!

=0)Sleep(33);

tem=m_IP.Right

(2);

AfxMessageBox(tem);

intip;

ip=_ttoi(tem);

ip++;

m_IP.TrimRight(tem);

tem.Format

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2