Windows Portscanner C++



  • na ich scann mich selbst^^ zu test zwecken als in meinem netzwerk "192.168.178.22"



  • Hast du denn überhaupt Programme offen die auf Port 1-100 lauschen?



  • Genau das ist die Frage - wo nichts lauscht da sollte auch kein Port ansprechbar sein! Am besten du startest einfach einen simplen Server: (ungetestet - wenn da was nicht geht frag einfach kurz 😉 )

    int main()
    {
      int sock, acc_sock;
      struct sockaddr_in addr;
      int addr_size;
      WSADATA wsadata;
    
      if (WSAStartup(MAKEWORD(2,2), &wsadata) != 0)
        printf("WSAStartup() failed with error: %i.\n", WSAGetLastError());
    
      while (1)
      {
        sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
        if (sock == INVALID_SOCKET)
          printf("socket() failed with %i.\n", WSAGetLastError());
    
        memset(&addr, 0, sizeof(addr));
        addr.sin_addr.s_addr = INADDR_ANY;
        addr.sin_family = AF_INET;
        addr.sin_port = 2500;
        addr_size = sizeof(addr);
    
        if (bind(sock, (struct sockaddr*)&addr, sizeof(addr)) == SOCKET_ERROR)
          printf("bind() failed with %i.\n", WSAGetLastError());
    
        if (listen(sock, 3) == SOCKET_ERROR)
          printf("listen() failed with %i.\n", WSAGetLastError());
    
        if (accept(sock, (struct sockaddr*)&addr, &addr_size) == INVALID_SOCKET)
          printf("accept() failed with %i.\n", WSAGetLastError());
    
        printf("client connected<!>\n");
        closesocket(sock);
      }
      WSACleanup();
      return 0;
    }
    


  • mit WSAIoctl, habe ich doch da hingeschrieben. giyf



  • ok ich hab jetzt mal probiert den server selbst zu programmieren

    ich wollt mal fragen ob das so geht

    #include <QtCore/QCoreApplication>
    #include <windows.h>
    #include <winsock2.h>
    #include <unistd.h>
    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <conio.h>
    
    using namespace std;
    
    int main()
    {
    
        WSAData wsa;
        if(WSAStartup(MAKEWORD(2,2),&wsa)!=0)
        {
            printf("WSAStartup() failed with error: %i.\n", WSAGetLastError());
            return 1;
        }
        cout << "Bitte Warten!";
        while (1)
        {
    
        int s = socket(AF_INET,SOCK_STREAM,0);
        int addr_size;
    
        struct sockaddr_in addr;
        addr.sin_addr.s_addr = INADDR_ANY;
        addr.sin_family = AF_INET;
        addr.sin_port = 21;
        addr_size = sizeof(addr);
    
        if (bind(s,(struct sockaddr*)&addr,sizeof(addr))==-1)
        {
            perror("bind() failed");
                    return 2;
    
        }
        if (listen(s,3)==-1)
        {
            perror("listen() failed");
            return 3;
        }
    
        if (accept(s,(struct sockaddr*) &addr, &addr_size)==-1)
        {
            perror("accept() failed");
                    return 4;
        }
    
        printf("client connected<!>\n");
        getch();
        closesocket(s);
    
        }
        WSACleanup();
        return 0;
    }
    

    ach ja und der compiler sagt mir bei dem code das bei accept was nicht stimmt

    😋


Anmelden zum Antworten