📄 scan.cpp
字号:
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <winsock.h>
#pragma comment(lib,"ws2_32.lib")
//加载头文件和必须的库文件
int main(int argc, char* argv[])
{
int socketid,pcount=0;
struct sockaddr_in my_addr;
WSADATA wsa;
WORD SocketVer=MAKEWORD(1,1);
if (SocketVer < 0)
{
printf("\n Socket Ver Error!");
return -1;
}
//初始化Socket和计数器,以及判断Socket版本
if (argc <3)
{
printf("Usage:%s [Host] [MaxPort] \n",argv[0]);
return -1;
}
if(WSAStartup(SocketVer,&wsa))
{
printf("Winsocket Initilalization Failed!\n");
return -1;
}
//判断参数和初始化Winsocket
for (int i=1;i < atoi(argv[2]);i++)
{
if((socketid=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET)
{
printf("Create Socket error\n");
return -1;
}
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(i);
my_addr.sin_addr.s_addr=inet_addr(argv[1]);
if(connect(socketid,(struct sockaddr*)&my_addr,sizeof(struct sockaddr))==SOCKET_ERROR)
closesocket(socketid);
else
{
pcount++;
printf("Find Port is %d\n",i);
}
//设置端口和进行连接
}
printf("%d Ports Open on Host -%s\n",pcount,argv[1]);
closesocket(socketid);
WSACleanup();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -