Wie kann ich den portscanner verändern?
-
hi
der portscanner ist voll billig! Ich weiß net mal ob er funtzt!wie kann ich den aufpeppeln?
2. Der Beispiel-Sourcecode -------------------------- // Portscanner.cpp // Die Datei "ws2_32.lib" muss mitgelinkt werden, sonst gibt es Fehlermeldungen! #include <winsock2.h> #include <stdio.h> #define MAX_SIZE 128 WSADATA wsaData; SOCKET sock; struct sockaddr_in host; struct hostent *hnt; char adresse[MAX_SIZE]; int startport, endport; // Funktion zum Überprüfen der Ports int PruefePort(int port) { // Socket erstellen if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) { printf("Fehler: Socket kann nicht erstellt werden!"); return -1; } // Struktur "host" mit eingegebenen Daten füllen ZeroMemory(&host, sizeof(host)); CopyMemory(&host.sin_addr, hnt->h_addr_list[0], sizeof(host.sin_addr)); host.sin_family = AF_INET; host.sin_port = htons(port); if (connect(sock, (struct sockaddr *)&host, sizeof(host)) == 0) { closesocket(sock); // Port offen, 0 zurückgeben return 0; } else { closesocket(sock); // Port geschlossen, -1 zurückgeben return -1; } } // Hauptprogramm void main() { // Daten abfragen printf("IP-Adresse oder Hostname: "); gets(adresse); printf("Startport: "); scanf("%i", &startport); printf("Endport: "); scanf("%i", &endport); // Porteingabe überprüfen if (startport > endport) { int tmp = endport; endport = startport; startport = tmp; } // "WS2_32.DLL" aufrufen, um mit Sockets arbeiten zu können if (WSAStartup(0x202, &wsaData) != 0) { printf("WSAStartup-Fehler!"); return; } printf("Angegebene Adresse wird entschlüsselt..."); // host-Adresse entschlüsseln if ((hnt = gethostbyname(adresse)) == NULL) { printf("Fehler: Hostname kann nicht entschlüsselt werden!"); return; } printf("Fertig!\n"); // Auf offene Ports überprüfen for (int port = startport; port <= endport; port++) if (PruefePort(port) == 0) printf("Port %u offen!\n", port); printf("Beende Programm...\n"); // Benutzung der "WS2_32.DLL" beenden WSACleanup(); }
-
By Hume:
Wohin mit meiner Frage?lesen, verstehen, nächstes Mal besser machen.
-
schön!
warum soll das hier net reinpassen? Hier postet jeder seine Fragen!?!
...nur ich werde immer dumm angemacht! *heul*
-
Lies dir den Text halt mal durch...
bei
#include <winsock.h>
hört der C++ Standard auf...Mit C++ sei ein Toaster programmierbar, und der hat keine Sockets...
Unter Linux aber gibt es auch kein <winsock.h>In diesem Teil der Community wird aber nur über Standard C++ geredet.
Wenn du spezielle Fragen, z.B. zur WinAPI hast, solltest du auch dort fragen, weil dort die Profis dafür unterwegs sind.Es geht ja nicht gegen dich.
-
wußte ich ja net!
...deshalb habe ich ja auch gefragt!