• 大小: 6KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: C/C++
  • 标签: 端口扫描  

资源简介

用于扫描端口的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初始化信息

评论

共有 条评论