Socket Problem

2fast4you87

Erfahrenes Mitglied
Hallo Leute,

Ich habe hier einen Code ausschnitt wo ich sage verbinde dich mit dem port auf die ip adresse,
das dunktioniert auch soweit. Jetzt wollte ich sowas wie einen portscanner schreiben.

Nur mein problem ist wenn er einmal ein Connect hat (bei Linux ssh port 22)
bricht er hab und läuft mit der schleife sofort durch ohne zu gucken ob
der port offen ist.

Hat jmd ne Ahnung ?

Code:
#include <windows.h>
#include <stdio.h>

int startWinsock(void);

int main(int argc, char** argv)
{
  long rc;
  SOCKET s;
  SOCKADDR_IN addr;
  char buf[256];

  rc=startWinsock();
  if(rc!=0)
  {
    printf("Fehler: startWinsock, fehler code: %d\n",rc);
    return 1;
  }
  else
  {
    printf("Winsock gestartet!\n");
  }

  s=socket(AF_INET,SOCK_STREAM,0);
  if(s==INVALID_SOCKET)
  {
    printf("Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n",WSAGetLastError());
    return 1;
  }
  else
  {
    printf("Socket erstellt!\n");
  }

  for(int b=0;b<200;b++){
  memset(&addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten
  addr.sin_family=AF_INET;
  addr.sin_port=htons(b); 
  addr.sin_addr.s_addr=inet_addr("128.1.167.92"); // zielrechner ist unser eigener
 
  rc=connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR));
  
  if(rc==SOCKET_ERROR)
  {
    printf("Port zu : %d\n",WSAGetLastError());
  }
  else
  {
    printf("Verbunden mit 128.1.167.92..\n");
  }
  }
 
Zuletzt bearbeitet:
Zurück