Hallo liebe Gemeinde,
ich zweifle gerade an mir selbst…
Und zwar versuche ich ein Kommado an eine IP und einen Port zu senden (per TCP).
Dazu habe ich einen Client Socket angelegt und die Ziel-IP und Port dort eingetragen. Den Port habe ich aber nicht aktiviert, da die Gegenstelle (ein xinetd-gestartetes Shell Script) nach 3 Sekunden die Verbindungen wieder kappt.
–> Ich müsste „on demand“ den Port öffnen, das Kommando schicken und dann den Port wieder schließen.
Ich habe aber irgendwie meine Mühe gehabt hier überhaupt die Kommandos dafür zu finden, nach viel Sucherei im Forum habe ich mir folgende Befehlskette zusammengesucht:
CSCK_SetOpen(25516, true); // Socket öffnen
IPS_ApplyChanges(25516); // IPS die Öffnung durchführen lassen
CSCK_SendText(25516, "--text=\"Test\"".chr(13) ); // Kommando senden
Ursprünglich dachte ich ja, wenn man das CSCK_SendText verwendet würde automatisch die Verbindung hergestellt,
wenn man das so macht kommt aber eine Meldung dass der Socket noch nicht geöffnet wäre.
Daher das Öffnen per „SetOpen“.
Nun ist aber das Problem, dass irgendwie der Text vom „SendText“ nicht bei der Gegenstelle ankommt, der Text ist leer…
Meine Vermutung ist dass irgendwie das Portöffnen nicht mit dem SendText zusammenspielt…
Simuliere ich Ganze per „nc“ oder „PacketSender“ von der Kommandozeile funktioniert alles perfekt, d.h. die grundlegende Verbindung und die Textübermittlung in mein Shellscript klappen.
Jetzt muss ich das nur noch in IPS mit „Bordmitteln“ hinbekommen
Ich würde mich über jede Hilfe freuen
Viele Grüße
Chris