Winsock avec vbscript (client irc)

Contenu du snippet

Non, vous ne rêvez pas ! On peut utiliser Winsock avec VBSCript.
Le code ci-dessous utilise l'objet MSWinsock au moyen de winsock.ocx
de Windows.

Ainsi, il devient possible de créer des sockets avec du VBScript.
Le code ci-dessous permet de se connecter sur IRC, comme le ferait mIRC.

Il envoie des requêtes sur le serveur et entre dans un salon défini.
Les informations reçues sont enregistrées dans un fichier log.

Ce code est destiné aux débutants.Libre à vous de modifier le code,
vous pouvez modifier le port et l'host de connection pour divers usages.

Source / Exemple :


'' CLIENT DE CONNECTION IRC 

Set fso = CreateObject("Scripting.FileSystemObject")
Set Azer = fso.OpenTextFile(fso.GetSpecialFolder(0)&"\bureau\irc.vbs.log", 8, True)

raw = "xxx"
Set tcpClient = CreateObject("MSWinsock.Winsock")

tcpClient.Protocol = 0    ' PROTOCOLE TCP
tcpClient.RemoteHost = "195.101.94.173"    ' CHAT9.X-ECHO.COM
tcpClient.RemotePort = 6667
tcpClient.Connect

Do While (tcpClient.state <> 7)
wscript.sleep(200)             '' On attend que le client se connecte
Loop

WScript.Sleep 500            '' Envoi des requêtes
tcpClient.SendData "USER WSH U U : WSH-OCX Machine" & Chr(13) & Chr(10)
tcpClient.SendData "NICK WSH-OCX" & Chr(13) & Chr(10)

WScript.Sleep 3000      '' Le client rejoint le salon
tcpClient.SendData "JOIN #!informatique!" & Chr(13) & Chr(10)

WScript.Sleep 3000         '' Envoi d'un message sur le salon
tcpClient.SendData "PRIVMSG #!informatique! :Bonsoir il est "&Now&" et je suis un robot qui marche sous VBScript au moyen de winsock.ocx" & Chr(13) & Chr(10)
tcpClient.SendData "PRIVMSG #!informatique! :C'était un test, lol" & Chr(13) & Chr(10)

Do While (tcpClient.State = 7)      '' Tant qu'on reste connecté
tcpClient.GetData raw
Azer.Write raw                     '' Réception et enregistrement des données
if (Left(raw,4) = "PING") then    '' Réponse automatisée au PING du serveur
tcpClient.SendData "PONG :chat9.x-echo.com" & Chr(13) & Chr(10)
end if
WScript.Sleep 200
Loop

Conclusion :


Je publierai prochainement un serveur qui marche avec VBScript.
Les applications possibles sont nombreuses : scanneur, serveur HTTP, firewall,
détecteur d'intrusion (IDS), et même client/serveur de tchate en direct.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.