#include <afxext.h>
#include <winsock.h>
// 编译时需使用的库
#pragma comment(lib,"wsock32.lib")
int main(int argc, char *argv[])
{
WSADATA wsadata;
int sock;
int port=0;
struct sockaddr_in server;
char *ip=argv[1];
// 创建一个sock
if (WSAStartup(MAKEWORD(1,1), &wsadata) != 0)
{
printf("/r/nWsatartup error");
return -1;
}
for(port=23;port<600;port++)
{
sock = socket(AF_INET, SOCK_STREAM, 0);
// 创建sock失败处理
if (sock==INVALID_SOCKET)
{
printf("sock error!/n");
return -1;
}
// 给sock成员赋值
server.sin_family=AF_INET;
server.sin_addr.s_addr=inet_addr(ip);// 要扫描的地址
server.sin_port=htons(short(port));//要扫描的端口
/*if (ioctlsocket(sock, FIONBIO, &flag) != 0)
{ // 设置失败处理
printf("/r/nSock Error:%s", WSAGetLastError());
closesocket(sock);
return -1;
} */
if(connect(sock, (struct sockaddr*)&server, sizeof(server))==0)
{
printf("port%d is open!/n",port);
closesocket(sock);
}
else
{
printf("port %d is not open!/n",port);
closesocket(sock);
}
}
}
#include <winsock.h>
// 编译时需使用的库
#pragma comment(lib,"wsock32.lib")
int main(int argc, char *argv[])
{
WSADATA wsadata;
int sock;
int port=0;
struct sockaddr_in server;
char *ip=argv[1];
// 创建一个sock
if (WSAStartup(MAKEWORD(1,1), &wsadata) != 0)
{
printf("/r/nWsatartup error");
return -1;
}
for(port=23;port<600;port++)
{
sock = socket(AF_INET, SOCK_STREAM, 0);
// 创建sock失败处理
if (sock==INVALID_SOCKET)
{
printf("sock error!/n");
return -1;
}
// 给sock成员赋值
server.sin_family=AF_INET;
server.sin_addr.s_addr=inet_addr(ip);// 要扫描的地址
server.sin_port=htons(short(port));//要扫描的端口
/*if (ioctlsocket(sock, FIONBIO, &flag) != 0)
{ // 设置失败处理
printf("/r/nSock Error:%s", WSAGetLastError());
closesocket(sock);
return -1;
} */
if(connect(sock, (struct sockaddr*)&server, sizeof(server))==0)
{
printf("port%d is open!/n",port);
closesocket(sock);
}
else
{
printf("port %d is not open!/n",port);
closesocket(sock);
}
}
}