有没有哪位亲有 关于端口扫描器的教学视频
最近想写一个端口扫描器,但是由于刚学习C语言不久,希望有个教学视频看看...#include <winsock.h>
#pragma comment(lib, "wsock32")
int main()
{
// 初始化套接字库
WORD wVersionRequested;
WSADATA wsaData;
wVersionRequested = MAKEWORD( 2, 2 );
WSAStartup( wVersionRequested, &wsaData );
// 创建socket
SOCKET PortScan = socket(AF_INET, SOCK_STREAM, 0);
if (PortScan==INVALID_SOCKET)
{
printf("创建客户端socket失败!\n");
return 0;
}
// 连接目标服务器
char Ipbuff = {0};
int Port(0);
printf("Enter the Ip Address\n");
scanf("%s", Ipbuff);
printf("Enter the Ip Address\n");
scanf("%d", &Port);
SOCKADDR_IN addrServ;
addrServ.sin_family = AF_INET;
addrServ.sin_addr.S_un.S_addr = inet_addr(Ipbuff); // 127.0.0.1
addrServ.sin_port = htons(Port); // 80
// 判断端口释放开放
if(connect(PortScan,(sockaddr *)&addrServ,sizeof(sockaddr))==SOCKET_ERROR)
printf("连接服务器失败!端口%d 关闭\n", Port);
else
printf("连接服务器成功!端口%d 开放\n", Port);
//关闭套接字,释放资源
closesocket(PortScan);
WSACleanup();
return 0;
}
给你简单写了一个 这就是端口扫描的基本原理
简单理解就是你指定一个IP地址, 制定一个端口号, 然后建立连接, 能连接上就说明开放端口, 连接不上就没开放
如果想批量扫描, 可以把Port房到一个for循环里, 从0到65535, 然后逐一判断
如果说是视频课件, 孙鑫C++的VC++视频, 其中有一课就是讲的socket编程, 不是很难 注释也比较清楚了
如果觉得没有界面, 就利用MFC搭一个界面, 不过我个人比较喜欢命令行模式, 凸显逼格 类似于wwscan XScan surperScan和Nmap? ryxcaixia 发表于 2015-6-9 13:31
类似于wwscan XScan surperScan和Nmap?
是的... 端口扫描的基本原理 楼主可以去找些开源的扫描器看看,而且原理了解的话并不难写 挺上几层的说法,补充下:
网络编程了解之后,可以了解下几种扫描的方式,看下nmap之类的源码,分析下。
半开、全开、ack、idle之类的扫描方式理解之后,简单建立连接、发包收包就能做到了
页:
[1]