开发工具:
文件大小: 32kb
下载次数: 0
上传时间: 2013-12-17
详细说明: #include #include #define NETWORK_ERROR -1 #define NETWORK_OK 0 #define PORT_MIN 1 #define PORT_MAX 65535 HANDLE hThread; DWORD hID; char hostname[30]; int starting_port = 0; int ending_port = 0; int nopen = 0; DWORD portscan(); int main() { int ret; WSADATA dat; DWORD version; version = MAKEWORD(2, 2); ret = WSAStartup(version, &dat); if (ret != 0) { printf("Error initializing Winsock.\n"); WSACleanup(); return NETWORK_ERROR; } if (ret == 0) { printf("Enter hostname:"); scanf("%s", hostname); printf("Enter starting port:"); scanf("%d", &starting_port); if (starting_port < PORT_MIN) { printf("Invalid port number.\n"); WSACleanup(); return NETWORK_ERROR; } printf("Enter ending port:"); scanf("%d", &ending_port); if (ending_port > PORT_MAX) { printf("Invalid port number.\n"); WSACleanup(); return NETWORK_ERROR; } printf("\nScanning [%s]...\n", hostname); hThread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)portscan, 0, 0, &hID); if (hThread == 0) { printf("Failed to create thread.\n"); WSACleanup(); return NETWORK_ERROR; } Sleep( - 1); } WSACleanup(); return NETWORK_OK; } DWORD portscan() { int i, nret; SOCKET thesocket; LPHOSTENT hostent; thesocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); hostent = gethostbyname((hostname)); for (i = starting_port; i < ending_port + 1; ++i) { SOCKADDR_IN hostinfo; hostinfo.sin_family = AF_INET; hostinfo.sin_addr = *((LPIN_ADDR) *hostent->h_addr_list); hostinfo.sin_port = htons(i); nret = connect(thesocket, (LPSOCKADDR) &hostinfo, sizeof(hostinfo)); if (nret == 0) { printf("\n\t%d\n", i); ++nopen; } } printf("\nScan complete.\n\n"); printf("Number of ports opened = %d\n", nopen); closesocket(thesocket); return 0; } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.