欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    计算机网络课程设计 端口扫描 实验报告材料.docx

    • 资源ID:1118528       资源大小:148.55KB        全文页数:18页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    扫码关注公众号登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机网络课程设计 端口扫描 实验报告材料.docx

    1需求分析311课程设计目的31.2 课程设计容31.3 课程设计要求32概要设计32. 1原理概述32.1 运行环境32.2 基本设计思路32.3 功能模块设计33详细设计33. 1程序流程33.1 主要算法53.2 主要数据结构63.4主要函数说明64用户使用手册75项目分析与总结75.1项目分析75.2总结与建议8附录A源程序代码文件说明8附录B参考文献201 .需求分析1.1 课程设计目的加深对TCP/IP的理解,熟悉SOCket编程。课程设计容实现一个扫描器,使用TCPCOnneCt进行端口扫描,并把扫描到的结果记录下来。课程设计要求(1) WindOWS或1inUX环境下,程序在单机上运行;(2)使用端口扫描对一台主机进行扫描,并显示出结果;对一个网段进行IP扫描,显示出结果;(3)提供友好的用户界面。2 .概要设计2.1 1原理概述TCPCOnneCt扫描是最基本的扫描,操作系统提供的COnneCt()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么COnneCt()就能成功。否则,这个端口是不能用的,即没有提供服务。2.2 运行环境Windowsxp,VC+6.02.3 基本设计思路创建一个CSocket套接字,通过CSOCket的Connect函数测试该主机的某个端口是否能够连通,获得该端口的打开状态。2.4 功能模块设计(1)测试主机某个端口是否打开;(2) “扫描结果”标题栏;(3)扫描单个或多个端口的单选按钮;(4) “扫描”,“停止”,“保存”按钮。3 .详细设计3.1程序流程3.2主要算法(1)测试主机某个端口是否打开的函数TeStCOnneetion():BOO1CMyD1g::TestConnection(CStringIP,UINTnPort)CSocket*pSocket;pSocket=newCSocket;ASSERT(pSocket);if(!pSocket->CreateO)de1etepSocket;pSocket=NU11;returnfa1se;)whiIe(!pSocket->Connect(IP,nPort)de1etepSocket;pSocket=NU11;returnfa1se;1pSocket->C1ose();de1etepSocket;returntrue;1(2)响应单选按钮“扫描单个端口”和“扫描多个端口”的单击消息:voidCMyD1g::OnRadio1Sing1eOm_bSing1ePort=true;m_cSing1ePort.Enab1eWindowO;m_cPortFrom.Enab1eWindow(fa1se);m_cPortTo.Enab1eWindow(fa1se);m_cBtnStop.Enab1eWindow(fa1se);1voidCMyD1g::OnRadio2RangeOm_bSing1ePort=fa1se;m_cSingIePort.Enab1eWindow(fa1se);m_cPortFrom.Enab1eWindowO;m_cPortTo.Enab1eWindowO;m_cBtnStop.Enab1eWindow(Ia1se);)(3)显示列表框标题栏的成员函数:增加列表框标题栏的某一列BOO1CMyD1g::AddCo1umn(1PCTSTRstritem,intn1tem,intnSub1tem,intnMask,intnFmt)1V_CO1UMNIvc;1vc.InaSk=nMask;1vc.fmt=nFmt;1vc.PszText=(1PTSTR)str1tem;1vc.cx=m_cResu1t.GetStringWidthdvc.pszText)+25;if(nMask&1VCF_SUBITEM)if(nSubItem!=-1)1vc.iSubItem=nSubItem;e1se1vc.iSubItem=nItem;1returnm_cResu1t.InsertCo1umn(n1tern,&1vc);)在列表框中加一条BOO1CMyD1g::AddItem(intn1tem,intnSub1tern,1PCTSTRstritem,intn1mage1ndex)1V_ITEMIvItern;IvItem.mask=1VIF_TEXT;IvItem.i1tem=n1tem;IvItem.iSub11em-nSub11em;IvItem.pszText=(1PTSTR)stritem;if(n1mage1ndex!=-1)IvItem.mask|=1VIF_1MAGE;IvItem.iImage=1VIF_1MAGE;)if(nSubItem-O)returnm_cResu1t.InsertItem(&1v1tern);returnm_cResu1t.SetItem(ft1v1tem);)加一列标题栏字符voidCMyD1g::AddHeader(1PTSTRhdr)if(m_pCo1umns)m_pCo1umns->AddTai1(hdr);)显示列表框标题栏voidCMyD1g::ShowHeaders0intn!ndex=O;POSITIONpos=m-pCo1umns->GetHeadPositionO;whi1e(pos)CStringhdr=(CString)m_pCo1umns->GetNext(pos);AddCo1umn(hdr,n1ndex+);)(4)“扫描”,“停止”,“保存”按钮,见附录程序。3.3主要数据结构及主要函数说明(1)测试主机某个端口是否打开TestConnection函数;(2)“扫描结果”标题栏成员函数Add1Ieader,AddCo1umn,Show1Ieaders;在列表框中添加字符串的函数AddItem;(3)扫描单个或多个端口的单选按钮OnRadioSing1eO和OnRac1ioRangeO;(4)“扫描停止”,“保存”按钮OnButton1Start(),0nButton2Stop(),0nButton3Save();4 .用户使用手册输入要扫描的主机IP地址,选择“扫描单个端口”或“扫描多个端口”,若选择前者,则输入单个端口号;若选择后者,则输入端口围。再输入扫描次数(默认值为1),单击“扫描”按钮,扫描结果列表框中将会显示所输入端口的扫描结果。单击“停止”时停在那一刻的状态,并显示已扫描的结果。单击“保存”时,可将结果保存在文本文件中。5 .项目分析与总结5.1项目分析扫描单个端口的结果:扫描多个端口:通过观察,主机IP为10.5.104.36的25号端口是打开的。5.2总结与建议通过这次实验,加深了对端口的理解,也对SoCket编程有了进一步的认识。实验中遇到许多函数和定义需要上网查阅资料,而且调试的过程也比较困难,需要向同学请教。所以,今后在编程和查阅资料方面的能力有待于进一步去提高。附录A源程序代码文件说明:(1)端口扫描Dig.h:# if!defined(AFX_D1G_H_37F5060C_6D8B_42F0_90D9_FBA754BAD52B_INC1UDED_)defineAFX_D1G_H_37F5060C_6D8B_42E0_90D9_FBA754BAD52B_INC1UDED_# if_MSC_VER>1000# Pragmaoncettendif/MSCVER>1000Sinc1ude<fcnt1.h>#inc1ude<systypes.h>#inc1ude<sysstat.h>inc1ude<io.h>inc1ude<afxsock.h>扫描结果typedefstructintnAttempts;TCHARIPAddress16;TCHARport5;BOO1bStatus;/1=open,0=c1ose!DATA;I1111t11111izi1izi1111izi11izziizi1izi111izi111ini111111111111111111111111/CMyD1gdia1ogc1assCMyD1g:pub1icCDia1og/Constructionpub1ic:CMyD1g(CWnd*pParent=NU11);/standardconstructor/Dia1ogData/AFX,DATA(CMyD1g)enumIDD=IDD_MY_DIA1OG;CProgressCtr1m_cProgress;C1istCtr1m_cResu1t;CIPAddressCtr1m_cIP;CEditm_cAttempts;CEditm_cPortTo;CEditm_cPortFrom;CEditm_cSing1ePort;CButtonm_cBtnStop;CButtonm_cBtnScan;/AFX_DATA/C1assWizardgeneratedvirtua1functionoverrides/(AFX-VIRTUA1(CMyD1g)protected:virtua1voidDoDataExchange(CDataExchange*pDX);/DDX/DDVsupport/AFX_VIRTUA1/Imp1ementationprotected:HICONm_h1con;BOO1TestConnection(CStringIP,UINTnPort);测试主机某个端口是否打开voidShowHeaders(void);显示列表框标题栏voidAddHeader(1PTSTRhdr);/增加一列标题栏字符dd1tem(intn1tem,intnSub1tern,1PCTSTRstritem,intnImageIndex=-I);/向m_cResu1t输出一个结果/向输出结构列表控件增加一列BOO1AddCo1umn(1PCTSTRstritem,intn1tem,intnSubItem=-I,intnMask=1VCF,FMT1VCFJV1DTH1VCF_TEXT1VCF_SUBITEM,intnFmt=1VCFMT_1EFT);/变量UINTBOO1UINTUINTm_nMaxAttempts;m_bSing1ePort;m_minPort,m_maxPort;m_nCounter;CString1ist*m_pCo1umns;试图连接次数的最大值是否只扫描单个端口扫描端口的围端口的个数列表框标题栏CPIr1iSI*m_pS1atus1ist;保存扫描结果的链表/Generatedmessagemapfunctions/(AFXJ1SG(CMyD1g)virtua1afx_msgafx_msgafx_msgafx_msgafx_msgafx_msgafx_msgafx_msg/AFX.BOO1On1nitDia1ogO;voidOnSys

    注意事项

    本文(计算机网络课程设计 端口扫描 实验报告材料.docx)为本站会员(lao****ou)主动上传,第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第一文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



    收起
    展开