2023年端口扫描实验报告_第1页
2023年端口扫描实验报告_第2页
2023年端口扫描实验报告_第3页
2023年端口扫描实验报告_第4页
2023年端口扫描实验报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络端口扫描实验报告姓名:刘俊峰学号:11054114班级:11052411课程:网络攻防技术

老师:张旻sock=socket(AFJNET,SOCK_STREAM,0);if(sock==INVALID_SOCKET){printf("\r\nSockError:%s",WSAGetLastError());maxth—;return—1;)server.sin_family=AF_INET;server.sin_addr.s_addr=htonl(addr);server.sin_port=htons(short(port));playx();if(ioctlsocket(sock,FIONBIO,&flag)!=0){printf("\r\nSockError:%s",WSAGetLastError());closesocket(sock);maxth;return-1;}connect(sock,(structsockaddr*)&server,sizeof(server));timeout,tv_sec=18;timeout.tv_usec=0;FD_ZERO(&mask);FD_SET(sock,&mask);svvitch(se1ect(sock+1,ZERO,&mask,ZERO,&timcout))case-1:printf("\r\nSe1ect()error");maxth—;return—1;Icase0:{maxthclosesocket(sock);return-1;)default:if(FD_ISSET(sock,&mask))(shutdovvn(sock,0):primf("[Found:]%sPort:%dopenAr\n",inet_ntoa(server.sin_addr),ntohs(server.sin_port));c1osesocket(sock);scanok++;maxth一;return1;))return0;voidportscannow(intxp)intsport:char*timenow,timebuf[32];char*ports[32]={"21H"22","23","25","53";'79"80","110","111%"113",n123",M135","I39","l43","443、"512",“513”,“514“,55","540","1080";'1433","1521",^1524","3306","3389","5631”,"6000”J6112”,“80008080",n12345"};(imenow=_strlime(timebuf);printf("\r\nPortScanStartTime:%s\r\n\n",timenow);maxth=0;seanok=0;scannum=0;searched=0;searchnum=hoststop-hoststart+1;if(xp==3)searchnum=searchnum*32;if(xp==4)searchnum=searchnum*(endport-startport+1);for(portip=hoststart;portip<=hoststop;portip++,scannum++)if((portip%256)==0II(portip%256)==255)if(xp==3)searchnum=searchnuni-32;if(xp==4)searchnum=searchnum-(endport—startport+1);scannuin-playx();continue;)if(xp==3)(for(sport=0;sport<32;spon++,maxth++,searched++){TestThread(180);CWinThread*pthread=AfxBcginThread(portscan,LPVOID(atoi((char*)portsfsport])));Sleep(120);))if(xp==4)sport=endport-startport;if(sport>500)(for(sport=startport;sport<=endport;sport++,maxth++,searched++)TestThread(2023);CWjnThread*pthread=AfxBeginThread(portscan,LPV0ID(sport));Sleep(10);)}else(for(sport=startport;sport<=endport:sport++,maxth++,searched++)(Tes(Thread(250);CWinThread*pthread=AfxBeginThread(portscan,LPVOID(sport));Sleep(100);playx();))I)WaitThreadEnd();timenow=_strtime(timebuf);printf("\r\nPortScanEndTime:%s",timenow);printf("\r\nScan%dHostscompleted.Open%dPorts!\r\n",scannum,scanok);)六、代码实现在刚开始的时候编译是成功的,但是build是有错误的,如图:

■:ClassV...JOFileView.1]Debug/gs.exe:FatalerrorLNK1120:2unresoluedexternals中执行link.exe时出褶.gs.exe-1error(s),0vjarning(s)TK组建乂调试》在文件1中查找\在文件2中查找已结果入SQLDebugging/在网上找解决的方法,发现是MFC连接的问题,在工程一〉设立一〉micros。ft基础类中不Build成功后代码可以成功运营,端口扫描成功ttincludettinclude<winsoc〃编译时需使用白ttpragnacomnent(//select。成员]ltdefineZERO(fd〃变量定义introaxth,scanointportip,hostlongsearchnun,uoidusage(charuoidplayx(int);uoidsetip2(charuoidcustomport(ttinclude<winsoc〃编译时需使用白ttpragnacomnent(//selectttinclude<winsoc〃编译时需使用白ttpragnacomnent(//select。成员]ltdefineZERO(fd〃变量定义introaxth,scanointportip,hostlongsearchnun,uoidusage(charuoidplayx(int);uoidsetip2(charuoidcustomport(=命令行端口扫描器PortScanncrU1.0jfXDesktopXDebu9XDebucjX^s.exe<Option><Option>:-p(Port'StartPort-EndPortJ<HostName'IP'StartIP-EndIP>Exanple:C:\Usei*s\ljf\Desktop\Debug\Debug\QS.exeC:MJsersXljf\Desktop\Debug\Debug\QS.exeC:\Users\ljf\Desktop\Debug\Debug\gs.exeC:XJUsers\ljf\Deskt0p\DebugXDebug\9s.exePressenyk匕ytocontinue==Usago:C:\Users\l-p192.168.A.1-p21-八、实验总结.实验中的碰到的问题:刚开始老师布置作业的时候完全不知道怎么做,在网上找了一些资料和借鉴同学的实验过程才完毕了这个实验,着实不易。.实验中的收获:一定限度上加深了对MFC和socket编程的的理解,对课程学习打下了一个比较好的基础;用一些设计模式在一定限度能提高开发效能,减少开发的复杂度,并且深刻地结识到实践才干出真知这个硬道理。一、网络端口扫描简介TCP/IP协议在网络层是无连接的,而“端口”,就已经到了传输层。端口便是计算机与外部通信的途径。一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目的计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。在手工进行扫描时,需要熟悉各种命令,对命令执行后的输析出进行分,效率较低。用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。扫描工具根据作用的环境不同可分为:网络漏洞扫描工具和主机漏洞扫描工具。前者指通过网络检测远程目的网络和主机系统所存在漏洞的扫描工具。后者指在本机运营的检测本地系统安全漏洞的扫描工具。本实验重要针对前者。端口是TCP协议中定义的,TCP协议通过套接字(socket)建立起两台计算机之间的网络连接。它采用【IP地址:端标语】形式定义,通过套接字中不同的端标语来区别同一台计算机上启动的不同TCP和UDP连接进程。端标语在0565535之间,低于1024的端口都有确切的定义,它们相应着因特网上常见的一些服务。这些常见的服务可以划分为使用TCP端口(面向连接如打电话)和使用UDP端口(无连接如写信)两种。端口与服务进程一一相应,通过扫描开放的端口就可以判断计算机中正在运营的服务进程。二、实验目的.了解熟悉MFC及的基本原理和方法。.加深对tcp的理解.,学习端口扫描技术和,原理熟悉socket编程。.通过自己编程实现简朴的IP端口扫描器模型。.通过端口扫描了解目的主机开放的端口和服务程序。三、实验环境Wind。ws操作系统VC++6.0开发环境四、实验设计实验原理通过调用soeket函数connect()连接到目的计算机上,完毕一次完整的三次握手过程,假如端口处在侦听状态,那么connect()就可以成功返回,否则这个端口不可用,即没有提供服务。实验内容.设计实现端口扫描器.IP地址、端口范围可以用户输入。.规定有有好的可视化操作界面。实验环节:1、用户界面:使用vc6.0里的MFC来开发用户界面2、端口扫描:使用s。cket函数中的connect()连接计算机来鉴定目的计算机是否开放了要测试的端口五、代码实现#inchide<afxext.h>#include<winsock.h>#pragmacomment(Iib,"wsock32.lib")#defineZERO(fd_set*)0intmaxth,scanok,seannum;intportip,hoststart,hoststop,startport,endport;longsearchnum,scarched;voidusage(char*);voidplayx(int);voidsetip2(char*);voidcustomport(char*,char*,char*);voidportscannow(int);intmain(intargc,char*argv[]){WSADATAwsadata;system("c1s.exe");printf("\r\n==============命令行端口扫描器PortScannerV1.0=======");if((argc<3)||(argc>4)){usage(argv[01);return-1;)if(!(stricmp(str1wr(argv[1]),"-p")==0))|usage(argv[0]);return-1;)if(WSAStartup(MAKEWORD(1,1),&wsadata)!=0){printf("\r\nWsatartuperror");retum-1;}if(argc==3)setip2(argv[2]);elseif(argc==4){customport(argv[0],argv[2],argv[3]);)else{usage(argv[O]);return-1;}portscannow(argc);WSACleanup();return0;)voidusage(char*prog){printf("Usage:%s<Option>",prog);printfCVXn\n<Option>:");printf(*'\r\n-p[Port|StartPort—EndPort]<HostName|IP|StartIP-EndIP>");printf("\r\n\nExample:");printf("\r\n%s—p192.168.0.1",prog);printfC"\r\n%s-p192.168.0.1-192.168.0.254prog);printf("\r\n%s-p21-80192.168.0.1",prog);printf("\r\n%s-p21-80192.168.0.1-192.168.0.254\r\n",prog);relurn;voidplayx(intplay=0)char*p1ays[l2]={“I"/","-W'\"I";'/","-",'(W","I"H"\\",};if(searchnum!=0){for(inti=0;i<=3;i++)(printf("=%s=%d%sComp1eced.\r",plays,searched*100/(searchnum+1),"%");Sleep⑸;))e1se(printf("=%s=\r';p1ays[play]);Sleep(10);)}voidsetip2(char*cp){inthost;structhostent*testhost;char*star(ipif(strstr(cp,"if(strstr(cp,"・")&&strlen(cp)if(strstr(cp,"・if(strstr(cp,"・")&&strlen(cp)>15&&strlen(cp)<32)endip=strchr(cp,')+1;strncpy(startip,cp,ststrncpy(startip,cp,ststrncpy(startip,cp,st1en(cp)-strlen(strchr(cp,'-')));hoststart=ntoh1(inet_addr(startip));strncpy(startip,cp,sthoststop=ntohl(inet_addr(endip));eIsetesthost=gethostbyname(startip);if(!tes(host)WSAC1eanup();printf("\r\nCan;tgetipof:%s",cp);exit(-l);)memcpy(&host,testhost->h_addr,4);hoststop=hoststart=ntohl(host);1)voidTestThread(inithread=200)(for(;;)Pl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论