Command an server senden via TCP

  • Hallo Com.

    Ich möchte einen command an einen server senden via TCP
    wenn ich dies mache dann bekomme ich alerdings einen fehler "10061" also das der server meine "anfrage" verweigert wie kann ich das beheben oder gibt es noch eine andere möglichkeit einen command an einen server zu senden ?

    Hier mein Code:

    Spoiler anzeigen
    [autoit]

    Example()

    [/autoit] [autoit][/autoit] [autoit]

    Func Example()
    ; Richte einige wiederverwendbare Informationen ein.
    ;--------------------------
    Local $ConnectedSocket, $szData

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Local $szIPADDRESS = "************"
    Local $nPORT = "*******"

    [/autoit] [autoit][/autoit] [autoit]

    ; Startet den TCP Service
    ;==============================================
    TCPStartup()

    [/autoit] [autoit][/autoit] [autoit]

    ; Initialisiert eine Variable, um eine Verbindung anzugeben.
    ;==============================================
    Dim $ConnectedSocket = -1

    [/autoit] [autoit][/autoit] [autoit]

    ; Versucht, zu einem Server mit der IP und dem PORT zu verbinden.
    ;=======================================================
    $ConnectedSocket = TCPConnect($szIPADDRESS, $nPORT)

    [/autoit] [autoit][/autoit] [autoit]

    ; Falls es einen Fehler gibt, wird er angezeigt
    If @error Then
    MsgBox(4112, "Fehler", "TCP-Connect schlug mit folgendem WSA-Fehler fehl: " & @error)
    ; Wenn es keinen Fehler gibt, dann erscheint wiederholt eine Inputbox zur Eingabe von Daten, die zum Server gesendet werden sollen.
    Else
    ; Fragt fortwährend nach Daten, die zum Server gesendet werden sollen.
    While 1
    ; InputBox für die zu versendenden Daten
    $szData = "connectfp -f"

    [/autoit] [autoit][/autoit] [autoit]

    ; Wenn die Inputbox geschlossen wird oder leer bleibt, wird die Schleife beendet.
    If @error Or $szData = "" Then ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    ; Wir sollten Daten in $szData haben... Lasst uns versuchen, sie durch unseren verbundenen Socket zu versenden.
    TCPSend($ConnectedSocket, $szData)

    [/autoit] [autoit][/autoit] [autoit]

    ; Wenn das Senden mit @error fehlgeschlagen ist, dann ist der Socket getrennt.
    ;----------------------------------------------------------------
    If @error Then ExitLoop
    WEnd
    EndIf
    EndFunc ;==>Example

    [/autoit]
  • So wie dein Script jetzt aussieht ist es ja klar, dass der Server deine Anfragen verwirft, weil du ihn damit bombadierst wie bei einem DDoS-Angriff! An der Stelle wo deine Inputbox hin soll, muss natürlich auch eine Inputbox sein. Außerdem verstehe ich nicht ganz woher du diesen Fehlercode '10061' hast, denn dein Script empfängt ja überhaupt nichts vom Server. ?( Außerdem wäre es noch überaus hilfreich wenn du uns auch sagen würdest über was für eine Art Server wir hier überhaupt reden... ;)

    LG
    Christoph :)

  • den fehlercode habe ich aus der hilfe und den code bekomme ich sobald ich das script ausführe
    ich möchte lediglich einen command an einen game server auf einem root senden.. mehr nicht das hat rein garnichts mit DDoS oder server floading zutun

  • achsooo stimmt ja da wo eine inputbox war kommt auch wieder eine hin das war fail mit dem einen command ich schreib es um aber erstmal muss ich den command übermittelt bekommen

  • Ja, dass du nicht vor hast den Server zu flooden ist mir klar! Nur das Script das du gepostet hast floodet den Server! Du baust eine Verbindung auf und wenn dies erfolgreich war hängst du in einer Endlos-Schleife, die ohne ein einziges Sleep oä. den Server mit Paketen floodet... ;) Ja was soll dieser Fehlercode denn bedeuten? Sind deine Pakete vielleicht nicht richtig aufgebaut?

    LG
    Christoph :)

  • WSAECONNREFUSED
    10061
    Connection refused.
    No connection could be made because the target computer actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host—that is, one with no server application running.

    wenn ich das script ausführe bekomme ich diesen error in der msgbox 10061
    und in der hilfe steht was diese fehler bedeuten

    ich weis aber nicht was ich dagegen machen soll habe es nochmal probiert habe jetzt auch eine Inputbox

  • Solange es nicht dein eigener Server ist kannst du da gar nichts machen, denn der Server existiert gar nicht! Deshalb auch die Fehlermeldung... Ist vielleicht der verwendete Port falsch? ?(

    LG
    Christoph :)

  • also verbietet der server mein programm"script" aber wenn ich den netagent setze wie ein programm das zugriff hat dann sollte es gehen oder ?

  • Nein. Also so wie ich das sehe Läuft auf dem Root auf dem Port den du verwendest gar keine Server-Anwendung... ?( Bist du dir sicher, dass da wirklich ein Server läuft?

    LG
    Christoph :)

  • Ja zu 100% leuft da ein server aber der error sagt ja das da keiner leuft woraan kann das liegen? 8| gibt es noch eine andere variante auser tcp ?

  • Na ein command an den server sprich an die server exe senden xDDD
    ist aber nicht mein server mehr will ich garnicht und der server leuft das weis ich

  • mh.. ich weis nichts genaueres über den server ich kann es ja mit UDP probieren wie geht das ?

  • Nein dann kannst du dein Problem ja einfach hier posten... Dann können Andere, die ähnliche Probleme haben nachvollziehen wie du dein Problem gelöst hast...

    LG
    Christoph :)

  • Ob auf der Gegenseite ein TCP Dienst lauert kann man gut mit telnet prüfen

    telnet <ip> <port>

    wenn dort etwas lauert, wirst Du mindestens "angenommen".

    Beispiel:
    ein telnet auf meinen Linuxhobel auf port 22 bringt folgende Meldung: "SSH-2.0-OpenSSH_5.9p1"
    ein telnet auf den port 100 meldet: "Verbindungsaufbau zu xxx.xxx.org...Es konnte keine Verbindung mit dem Host hergestellt werden, auf Port 100: Verbinden fehlgeschlagen"
    Zudem dauert der zweite Versuch deutlich länger als der erste.

    Sowas ist für mich ein Indiz, das auf der IP mit dem Port mit TCP ip nichts zu finden .... -> wenn Port garantiert richtig ist muss es UDP sein ...

    Kann es sein, das der Game-Server vielelicht eine Authentifizierung erwartet und nach einem längerem (?) Timeout einfach dicht macht und refused ?
    Wenn Du ein Servertool benutzt um den GS zu steuern, verwendest Du dann Logindaten ?
    Hast Du Dir mal angeguckt wie sich dein ServerAdminProg mit dem Server unterhält ? (TCPView , Wireshark)? bzw. was dort überhaupt offen ist : nmap .
    Vielleicht bekommst Du auf diesen Wegen eine Anregung was nicht so läuft wie Du es erwartest ?