资源简介
用于扫描端口的C源代码,十分实用,欢迎下载
代码片段和文件信息
#include
#include
#include
#pragma comment (lib“WS2_32“)
void thread(void); //定义一个掌管进程的函数
int PORT[1000]; //用数组记录开放的端口号
static int open_port=0; //记录开放端口的数目
char Host[200]; //记录IP地址
int i=0;
//创建多个进程
DWORD WINAPI ThreadProc1( LPVOID lpParam )
{
struct sockaddr_in port;
SOCKET s;
for( ; ;i++)
{
printf(“正在扫描%d\n“i);
s=socket(AF_INETSOCK_STREAM0);
if(s==-1)
{
printf(“创建socket失败!\n“);
}
port.sin_family = AF_INET;
port.sin_port = htons(i);
port.sin_addr.S_un.S_addr= inet_addr(Host);
if(connect(s(struct sockaddr*)&portsizeof(port))==-1)
{
closesocket(s);
}
else
{
printf(“开放:%d\n“i);
PORT[open_port++]=i;
closesocket(s);
}
}
return 0;
}
DWORD WINAPI ThreadProc2( LPVOID lpParam )
{
struct sockaddr_in port;
SOCKET s;
for( ; ;i++)
{
printf(“正在扫描%d\n“i);
s=socket(AF_INETSOCK_STREAM0);
if(s==-1)
{
printf(“创建socket失败!\n“);
}
port.sin_family = AF_INET;
port.sin_port = htons(i);
port.sin_addr.S_un.S_addr= inet_addr(Host);
if(connect(s(struct sockaddr*)&portsizeof(port))==-1)
{
closesocket(s);
}
else
{
printf(“开放:%d\n“i);
PORT[open_port++]=i;
closesocket(s);
}
}
return 0;
}
DWORD WINAPI ThreadProc3( LPVOID lpParam )
{
struct sockaddr_in port;
SOCKET s;
for( ; ;i++)
{
printf(“正在扫描%d\n“i);
s=socket(AF_INETSOCK_STREAM0);
if(s==-1)
{
printf(“创建socket失败!\n“);
}
port.sin_family = AF_INET;
port.sin_port = htons(i);
port.sin_addr.S_un.S_addr= inet_addr(Host);
if(connect(s(struct sockaddr*)&portsizeof(port))==-1)
{
closesocket(s);
}
else
{
printf(“开放:%d\n“i);
PORT[open_port++]=i;
closesocket(s);
}
}
return 0;
}
DWORD WINAPI ThreadProc4( LPVOID lpParam )
{
struct sockaddr_in port;
SOCKET s;
for( ; ;i++)
{
printf(“正在扫描%d\n“i);
s=socket(AF_INETSOCK_STREAM0);
if(s==-1)
{
printf(“创建socket失败!\n“);
}
port.sin_family = AF_INET;
port.sin_port = htons(i);
port.sin_addr.S_un.S_addr= inet_addr(Host);
if(connect(s(struct sockaddr*)&portsizeof(port))==-1)
{
closesocket(s);
}
else
{
printf(“开放:%d\n“i);
PORT[open_port++]=i;
closesocket(s);
}
}
return 0;
}
int main()
{
//使用winsock时先使用WSADATA初始化
//WSADATA结构被用来储存调用AfxSocketInit全局函数返回的Windows Sockets初始化信息
- 上一篇:基于mfcvc++6.0的图书馆管理系统
- 下一篇:用C++语言实现首次适应算法
评论
共有 条评论