Telnet-Client per Winsock



  • Hi,
    ich habe folgenden Client geschrieben (bzw. Beispielcode angepasst ;-)):

    int main()
    {
    	long rc;
    	SOCKET s;
    	SOCKADDR_IN addr;
    	char buf[256];
             char server_ip[16] = "192.168.1.1";
    
             // Hier Initialisierung, Connecten, etc.
             // funzt alles
    
    	memset(&addr,0,sizeof(SOCKADDR_IN)); 
    	addr.sin_family=AF_INET;
    	addr.sin_port=htons(23); // telnet port
    	addr.sin_addr.s_addr=inet_addr(server_ip);
    
    	rc=connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR));
    	if(rc==SOCKET_ERROR)
    	{
    		printf("Fehler: connect gescheitert, fehler code: %d\n",WSAGetLastError());
    		return 1;
    	}
    	else
    	{
    		printf("Verbunden mit Server: %s...\n", server_ip);
    	}
    
    	while(rc!=SOCKET_ERROR)
    	{
    		printf("\nZeichenfolge eingeben [max 256]: ");
    		gets(buf);
    		send(s,buf,strlen(buf),0);
    		rc=recv(s,buf,256,0);
    		if(rc==0)
    		{
    			printf("Server hat die Verbindung getrennt..\n");
    			break;
    		}
    		if(rc==SOCKET_ERROR)
    		{
    			printf("Fehler: recv, fehler code: %d\n",WSAGetLastError());
    			break;
    		}
    		buf[rc]='\0';
    		printf("\nServer antwortet: %s\n",buf);
    	}
    	closesocket(s);
    	WSACleanup();
    }
    

    Wenn ich nun verbinde (der Server ist mein Gigaset SE 515 Router), erscheint die Begrüßungsmeldung meines Routers und die Login-Anforderung (zunächst der Benutzername). Wenn ich dann "admin" eingebe, kommt keine PW-Abfrage mehr, sondern ich bekomme jeweils nur den vorletzten Befehl zurückgesendet. Auch wenn ich Befehle für den Router eintippe kommt nix mehr zurück. wie kann ich das beheben ??

    Danke im Voraus

    PM



  • Hat denn keiner ne Antwort ? oder wenigstens nen Beispiel-Code ??



  • ist die Login aufforderung, bzw. der Schutz, .htaccess?


Log in to reply