- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[端口扫描实验报告
网络端口扫描实验报告
姓名:刘 俊 峰
学号
班级
课程:网络攻防技术
老师:张旻
网络端口扫描简介
TCP/IP协议在网络层是无连接的,而“端口”,就已经到了传输层。端口便是计算机与外部通信的途径。一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。在手工进行扫描时,需要熟悉各种命令,对命令执行后的输析出进行分,效率较低。用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。扫描工具根据作用的环境不同可分为:网络漏洞扫描工具和主机漏洞扫描工具。前者指通过网络检测远程目标网络和主机系统所存在漏洞的扫描工具。后者指在本机运行的检测本地系统安全漏洞的扫描工具。本实验主要针对前者。
端口是TCP协议中定义的,TCP协议通过套接字(socket)建立起两台计算机之间的网络连接。它采用【IP地址:端口号】形式定义,通过套接字中不同的端口号来区别同一台计算机上开启的不同TCP和UDP连接进程。端口号在0~~65535之间,低于1024的端口都有确切的定义,它们对应着因特网上常见的一些服务。这些常见的服务可以划分为使用TCP端口(面向连接如打电话)和使用UDP端口(无连接如写信)两种。端口与服务进程一一对应,通过扫描开放的端口就可以判断计算机中正在运行的服务进程。
实验目的
了解熟悉MFC及的基本原理和方法。
加深对tcp的理解,学习端口扫描技术和,原理熟悉socket编程。
通过自己编程实现简单的IP端口扫描器模型。
4.通过端口扫描了解目标主机开放的端口和服务程序。
三、实验环境
Windows操作系统
VC++6.0开发环境
四、实验设计
实验原理
通过调用socket函数connect()连接到目标计算机上,完成一次完整的三次握手过程,如果端口处于侦听状态,那么connect()就可以成功返回,否则这个端口不可用,即没有提供服务。
实验内容
1.?设计实现端口扫描器?
2.?IP地址、端口范围可以用户输入。?
3.?要求有有好的可视化操作界面。
实验步骤:?
1、用户界面:使用vc6.0里的MFC来开发用户界面?
2、端口扫描:使用socket函数中的connect()连接计算机来判定目标计算机是否开放了要测试的端口
五、代码实现
#include afxext.h
#include winsock.h
#pragma comment(lib,wsock32.lib)
#define ZERO (fd_set *)0
int maxth, scanok, scannum;
int portip, hoststart, hoststop, startport, endport; long searchnum, searched;
void usage(char *);
void playx(int);
void setip2(char *);
void customport(char *, char *, char *);
void portscannow(int);
int main(int argc, char *argv[])
{
WSADATA wsadata;
system(cls.exe);
printf(\r\n============== 命令行端口扫描器 PortScanner V1.0 ==============);
if ((argc 3) || (argc 4))
{
usage(argv[0]);
return -1;
}
if(!(stricmp(strlwr(argv[1]), -p) == 0))
{
usage(argv[0]);
return -1;
}
if (WSAStartup(MAKEWORD(1,1), wsadata) != 0)
{
printf(\r\nWsatartup error);
return -1;
}
if (argc == 3)
{
setip2(argv[2]);
}
else
if (argc == 4)
{
customport(argv[0], argv[2], argv[3]);
}
else
{
usage(argv[0]);
return -1;
}
文档评论(0)