端口扫描部分代码
来源:互联网 发布:python shell变量互传 编辑:程序博客网 时间:2024/06/03 16:56
SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);if(sock == INVALID_SOCKET){AfxMessageBox("创建套接字失败!");dwRet = ERROR_CREATE_SOCKET;}else{unsigned long flag = 1; if ((ioctlsocket(sock, FIONBIO, &flag) != 0)){AfxMessageBox("未能改为非阻塞模式!");dwRet = ERROR_MODIFY_FIONBIO;}else{sockaddr_in severAddr;severAddr.sin_family = AF_INET;severAddr.sin_port = htons(nPort); severAddr.sin_addr.S_un.S_addr = g_ulAddr;connect(sock, (sockaddr*)&severAddr, sizeof(severAddr));struct fd_set mask;FD_ZERO(&mask);FD_SET(sock, &mask);struct timeval timeout;timeout.tv_sec = g_dwTimeOut / 1000;timeout.tv_usec = g_dwTimeOut % 1000;switch(select(0, NULL, &mask, NULL, &timeout)){case -1:dwRet = ERROR_SELECT;break;case 0:dwRet = ERROR_SELECT_TIMEOUT;break;default:dwRet = ERROR_SUCCESS;};}closesocket(sock);}