发新话题
打印

[转载]c语言下的端口扫描代码

[转载]c语言下的端口扫描代码

原始出处:http://www.antcodes.cn/post/10.html
Code Language : C
  1. #include <stdafx.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <winsock.h>
  5. #pragma comment (lib,\"ws2_32.lib\")
  6. int main(int argc, char *argv[]) {
  7.  
  8. int mysocket;
  9.  
  10. int pcount = 0;
  11.  
  12. struct sockaddr_in my_addr;
  13.  
  14. WSADATA wsaData;
  15.  
  16. WORD wVersionRequested=MAKEWORD(1,1);
  17.  
  18.  
  19. if(argc < 3) {
  20.  
  21. printf(\"usage: %s <host> <maxport>\n\", argv[0]);
  22.  
  23. exit(1);
  24.  
  25. }
  26.  
  27.  
  28. if (WSAStartup(wVersionRequested , &wsaData)){
  29.  
  30. printf(\"Winsock Initialization failed.\n\");
  31.  
  32. exit(1);
  33.  
  34. }
  35.  
  36.  
  37. for(int i=1; i < atoi(argv[2]); i++){
  38.  
  39. if((mysocket = socket(AF_INET, SOCK_STREAM,0)) == INVALID_SOCKET){
  40.  
  41. printf(\"Socket Error\");
  42.  
  43. exit(1);
  44.  
  45. }
  46.  
  47.  
  48. my_addr.sin_family = AF_INET;
  49.  
  50. my_addr.sin_port = htons(i);
  51.  
  52. my_addr.sin_addr.s_addr = inet_addr(argv[1]);
  53.  
  54.  
  55. if(connect(mysocket, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == SOCKET_ERROR)
  56.  
  57. closesocket(mysocket);
  58.  
  59. else{
  60.  
  61. pcount++;
  62.  
  63. printf(\"Port %d - open\n\", i);
  64.  
  65. }}
  66.  
  67.  
  68. printf(\"%d ports open on host - %s\n\", pcount, argv[1]);
  69.  
  70. closesocket(mysocket);
  71.  
  72. WSACleanup();
  73.  
  74. return 0;
  75. }
Parsed in 0.008 seconds
曾几何时,有人对我说:装B遭雷劈。我说:去你妈的。于是,这个人又对我说:如果再说脏话,上帝会惩罚你的。我说:我操上帝。结论:彪悍的人生不需要上帝。

TOP

发新话题