citroendsvier
Goto Top

VBScript: TCP Verbindung aufbauen und Netzwerkpaket senden

Hallo zusammen,

ich suche eine Möglichkeit, in VBS eine TCP Verbindung zu einem anderen PC (lokales Netzwerk) aufzubauen und ihm ein Paket zu senden, auf das er "listen"t. Im Internet und auch in der Microsoft Script Documentation findet man dazu herzlich wenig. Daher meine Frage: Wie kann ich eine Verbindung zwischen den beiden PCs aufbauen und schließlich Pakete senden?

Ich bin für jede Hilfe dankbar!

LG DS4

Content-Key: 250273

Url: https://administrator.de/contentid/250273

Printed on: April 19, 2024 at 00:04 o'clock

Mitglied: 108012
108012 Sep 26, 2014 at 19:52:12 (UTC)
Goto Top
Hallo,

 On Error Resume Next

PingAddress = "192.168.1.2"  
ShellCommandToRun = "ping -n 2 -w 1000 " & PingAddress  

Set objShell = CreateObject("WScript.Shell")  
Set objExec = objShell.Exec(ShellCommandToRun)

strPingResults = LCase(objExec.StdOut.ReadAll)
If InStr(strPingResults, "reply from") > 0 or InStr(strPingResults, "antwort von") > 0 Then     'deutsche und englische Systeme beachten  
	WScript.Echo PingAddress & " ist erreichbar via PING."  
Else
	WScript.Echo PingAddress & " ist NICHT erreichbar via PING."  
End If

Set objShell = Nothing 
Set objExec = Nothing 

WScript.Quit (0)


Gruß
Dobby
Member: citroendsvier
citroendsvier Sep 26, 2014 at 19:58:34 (UTC)
Goto Top
Hallo,

vielen Dank für deine Mühe, ich suche jedoch keine Ping-Möglichkeit, sondern möchte ein Paket mit selbst definiertem Inhalt senden, auf das der Empfänger wartet (listen't). Vielmehr reichen mir die Befehle bzw. Objekte.

MfG, DS4
Member: colinardo
Solution colinardo Sep 26, 2014, updated at Sep 29, 2014 at 12:28:06 (UTC)
Goto Top
Hallo DS4,
wenn du mit deiner Frage meinst das du auf Socketebene arbeiten willst, ist die Antwort: Nativ ohne Zusatztools nur mit VBS eigenen Mitteln geht dies nicht, du benötigst dafür z.B. eine eigene COM Bibliothek, oder eine kommerzielle wie die von Chilkat (Beispielcode). Um Pakete an Webserver zu schicken gibt es das MSXML2.XMLHTTP Objekt.
Eine Antwort die es auf den Punkt bringt ist diese:
http://stackoverflow.com/questions/6348907/vbscript-jscript-networking- ...

Ich würde dir aber eine richtige Programmiersprache dafür empfehlen. Alternativ lässt sich das auch ziemlich schnell und einfach mit AutoIT, NodeJS, PHP, Java etc. machen...die Auswahl ist da fast grenzenlos. Pures VBS ist in dieser Hinsicht einfach sehr beschränkt fähig ohne Zusatzmittel.

Grüße Uwe
Mitglied: 108012
108012 Sep 26, 2014 at 20:03:40 (UTC)
Goto Top
sondern möchte ein Paket mit selbst definiertem Inhalt senden,
ok das sollte schon möglich sein.

auf das der Empfänger wartet (listen't).
Das wiederum ist so nicht möglich es sei denn das Server OS, eine Dienst oder ein Programm
sind so konfiguriert worden das es darauf "wartet" (auf das Paket).

Gruß
Dobby
Member: citroendsvier
citroendsvier Sep 26, 2014 at 20:33:14 (UTC)
Goto Top
Das warten ist für mich nicht unbedingt nötig, ich dachte dabei an das TCP Protokoll. Wichtig ist nur, dass der Empfänger darauf reagieren kann.
Mitglied: 108012
108012 Sep 26, 2014 at 20:38:40 (UTC)
Goto Top
listen = horchen
Also das Server OS, ein Programm oder ein Dienst müssen schon im "listen" mode sein
und somit auf ein Paket warten was dann interpretiert wird um etwas auszulösen und/oder
etwas zu unternehmen.

Wenn niemand auf das Paket wartet oder es interpretieren bzw. umsetzen kann,
dann kannst Du recht viele Pakete senden, nur es passiert dann eben auch nichts!

Gruß
Dobby
Member: citroendsvier
citroendsvier Sep 26, 2014 updated at 20:52:47 (UTC)
Goto Top
Genau das waren meine ersten Gedanken. face-smile
Member: citroendsvier
citroendsvier Sep 26, 2014 updated at 20:58:24 (UTC)
Goto Top
EDIT: @colinardo

Hallo,

an so eine COM Bibliothek o.ä. könnte ich nehmen, aber ich sehen an dem Chillkat Beispielcode keinen Sinn (sofern ich ihn verstanden habe), bzw. lese nur MaxReadIdleMs...

Mit freundlichen Grüßen
Member: colinardo
Solution colinardo Sep 26, 2014, updated at Sep 29, 2014 at 12:27:56 (UTC)
Goto Top
Zitat von @citroendsvier:

EDIT: @colinardo
an so eine COM Bibliothek o.ä. könnte ich nehmen, aber ich sehen an dem Chillkat Beispielcode keinen Sinn (sofern ich
ihn verstanden habe), bzw. lese nur MaxReadIdleMs...
Wofür gibt es wohl API-Referenzen ...
http://www.chilkatsoft.com/refdoc/xChilkatSocketRef.html
Hier die passenden Funktionen für den Sendevorgang nach dem Connect.
AsyncSendString()
AsyncSendBytes()
AsyncSendByteData()

was und an was du senden willst, wissen wir ja nicht ...
Member: citroendsvier
citroendsvier Sep 29, 2014 at 12:05:53 (UTC)
Goto Top
Ah, danke face-smile
Was ich senden will, weiß ich selber nicht, nur eben eine Mitteilung (Text relativ Schnuppe, sollte aber mehrere Möglichkeiten haben, für verschiedene Fälle). Das Packet soll an eine lokale IP gehen.

Vielen Dank! Muss ich die Chilkat Bibliothek "installieren", oder was muss ich vorher tun, damit die Bibliothek implementiert ist? Ist das der "Chilkat ActiveX Download für win 32/64 bit"?
Member: colinardo
colinardo Sep 29, 2014 at 12:15:42 (UTC)
Goto Top
Zitat von @citroendsvier:
Vielen Dank! Muss ich die Chilkat Bibliothek "installieren", oder was muss ich vorher tun, damit die Bibliothek
implementiert ist? Ist das der "Chilkat ActiveX Download für win 32/64 bit"?
http://www.chilkatsoft.com/downloads_ActiveX.asp
Member: citroendsvier
citroendsvier Sep 29, 2014 at 12:27:37 (UTC)
Goto Top
Danke, hab ich dann auch gesehen...

Vielen Dank für die Ideen, konnte sie noch nicht ausprobieren, werde mich aber jetzt dahinterklemmen!

MfG, DS4