|
Ping et net send |
|
Anonyme
|
Je fais des ping et des net send (Commande Dos) Comme ceci LanceAppli("ping NomDuPC") et LanceAppli("net send NomDuPC Message") Mais le soucis c'est que je n'ai aucun retour comme sous Dos. si vous avez une solution ! Merci
Contribution le : 08/08/2003 18:02
|
|
|
Re: Ping et net send |
|
Animateur WDF ![](http://old.wdforge.org/uploads/rank3e8416e15d1a7.gif)
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
normal ! les valeur de retour des ping, net send et autres commandes dos sont simplement affichées !!!
ainsi en redirigeant la sortie écran dans un fichier texte et en analyse ce fichier vous aurez votre message de retour :
ping MonIP > ping.txt
puis parcourir ping.txt
Contribution le : 11/08/2003 13:33
|
|
|
Re: Ping et net send comme sous dos(Presque) |
|
Animateur WDF ![](http://old.wdforge.org/uploads/rank3f7d78368d45f.gif)
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
PROCEDURE Ping(sAdresseIP=NetAdresseIP(), sInfoRetour="", eDataToSend=32, eTimeOut=500)
IP_SUCCESS est un entier = 0 IP_STATUS_BASE est un entier = 0x2AF8 IP_BUF_TOO_SMALL est un entier = (IP_STATUS_BASE + 1) IP_DEST_NET_UNREACHABLE est un entier = (IP_STATUS_BASE + 2) IP_DEST_HOST_UNREACHABLE est un entier = (IP_STATUS_BASE + 3) IP_DEST_PROT_UNREACHABLE est un entier = (IP_STATUS_BASE + 4) IP_DEST_PORT_UNREACHABLE est un entier = (IP_STATUS_BASE + 5) IP_NO_RESOURCES est un entier = (IP_STATUS_BASE + 6) IP_BAD_OPTION est un entier = (IP_STATUS_BASE + 7) IP_HW_ERROR est un entier = (IP_STATUS_BASE + 8) IP_PACKET_TOO_BIG est un entier = (IP_STATUS_BASE + 9) IP_REQ_TIMED_OUT est un entier = (IP_STATUS_BASE + 10) IP_BAD_REQ est un entier = (IP_STATUS_BASE + 11) IP_BAD_ROUTE est un entier = (IP_STATUS_BASE + 12) IP_TTL_EXPIRED_TRANSIT est un entier = (IP_STATUS_BASE + 13) IP_TTL_EXPIRED_REASSEM est un entier = (IP_STATUS_BASE + 14) IP_PARAM_PROBLEM est un entier = (IP_STATUS_BASE + 15) IP_SOURCE_QUENCH est un entier = (IP_STATUS_BASE + 16) IP_OPTION_TOO_BIG est un entier = (IP_STATUS_BASE + 17) IP_BAD_DESTINATION est un entier = (IP_STATUS_BASE + 18) IP_ADDR_DELETED est un entier = (IP_STATUS_BASE + 19) IP_SPEC_MTU_CHANGE est un entier = (IP_STATUS_BASE + 20) IP_MTU_CHANGE est un entier = (IP_STATUS_BASE + 21) IP_UNLOAD est un entier = (IP_STATUS_BASE + 22) IP_ADDR_ADDED est un entier = (IP_STATUS_BASE + 23) IP_GENERAL_FAILURE est un entier = (IP_STATUS_BASE + 50) IP_PENDING est un entier = (IP_STATUS_BASE + 255) INADDR_NONE est un entier = 0xFFFFFFFF
PING_TIMEOUT est un entier = eTimeOut
eRetour est un entier = -1 sInfoRetour="" //si la variable est passée par adresse sMsgErr est une chaîne = "Erreur dans la fonction fg_Ping : "+RC ePort est un entier szAdresseIp est une chaîne ASCIIZ sur 255 = sAdresseIP eDTS est un entier = eDataToSend SI eDTS<0 OU eDTS>250 ALORS eDTS=32 szDataToSend est une chaîne ASCIIZ sur 250 = Répète("@", eDTS) eAdresse est un entier eStatut est un entier tECHO est un ICMP_ECHO_REPLY tWSAD est un WSADATA
//Initialisation du socket //0x101 = WS_VERSION_REQD (version 2.2 de winsock) SI AppelDLL32("wsock32", "WSAStartup", 0x101, &tWSAD) = IP_SUCCESS ALORS //converti l'adresse IP en dword eAdresse = AppelDLL32("wsock32", "inet_addr", szAdresseIp) SI eAdresse <> INADDR_NONE ALORS //Ouverture du port TCP ePort = AppelDLL32("icmp.dll","IcmpCreateFile") SI ePort ALORS //ping AppelDLL32("icmp.dll", "IcmpSendEcho", ePort, eAdresse,&szDataToSend, eDTS, 0, &tECHO, Dimension(tECHO), PING_TIMEOUT) eStatut = tECHO:status AppelDLL32("icmp.dll","IcmpCloseHandle", ePort) SINON sInfoRetour=sMsgErr+"Erreur dans l'ouverture du port." FIN SINON //Le format de l'adresse est probablement invalide eStatut = INADDR_NONE FIN //supprime le socket SI AppelDLL32("wsock32", "WSACleanup")<>0 ALORS sInfoRetour=sMsgErr+"Erreur dans la suppression du socket." FIN SI eStatut = IP_SUCCESS ALORS eRetour = tECHO:RoundTripTime sInfoRetour += "Ping sur "+szAdresseIp+" : " +tECHO:DataSize+" octets en "+ tECHO:RoundTripTime +" ms (ttl="+tECHO:Ttl+")" SINON eRetour = -1 sInfoRetour += "Pas de réponse de "+szAdresseIp+" (octets="+tECHO:DataSize+") - " SELON eStatut CAS INADDR_NONE: sInfoRetour += "Mauvais format de l'adresse IP." CAS IP_BUF_TOO_SMALL: sInfoRetour += "Taille du buffer trop petite." CAS IP_DEST_NET_UNREACHABLE: sInfoRetour += "Réseau IP inaccessible." CAS IP_DEST_HOST_UNREACHABLE: sInfoRetour += "Destinataire inaccessible." CAS IP_DEST_PROT_UNREACHABLE: sInfoRetour += "Dest prot inaccessible." CAS IP_DEST_PORT_UNREACHABLE: sInfoRetour += "Port destinataire inaccessible." CAS IP_NO_RESOURCES: sInfoRetour += "Pas de ressource." CAS IP_BAD_OPTION: sInfoRetour += "Mauvaise option." CAS IP_HW_ERROR: sInfoRetour += "Erreur hw_error." CAS IP_PACKET_TOO_BIG: sInfoRetour += "Paquet trop grand." CAS IP_REQ_TIMED_OUT: sInfoRetour += "Time out." CAS IP_BAD_REQ: sInfoRetour += "Mauvaise requete." CAS IP_BAD_ROUTE: sInfoRetour += "Mauvaise route." CAS IP_TTL_EXPIRED_TRANSIT: sInfoRetour += "Ttl expiré transit." CAS IP_TTL_EXPIRED_REASSEM: sInfoRetour += "Ttl expiré reassem." CAS IP_PARAM_PROBLEM: sInfoRetour += "Probleme paramètre." CAS IP_SOURCE_QUENCH: sInfoRetour += "ip source quench." CAS IP_OPTION_TOO_BIG: sInfoRetour += "Option trop grande." CAS IP_BAD_DESTINATION: sInfoRetour += "Mauvaise destination." CAS IP_ADDR_DELETED: sInfoRetour += "Adresse IP supprimée." CAS IP_SPEC_MTU_CHANGE: sInfoRetour += "ip spec mtu change." CAS IP_MTU_CHANGE: sInfoRetour += "ip mtu_change." CAS IP_UNLOAD: sInfoRetour += "ip unload." CAS IP_ADDR_ADDED: sInfoRetour += "ip addr added." CAS IP_GENERAL_FAILURE: sInfoRetour += "Echec général IP." CAS IP_PENDING: sInfoRetour += "IP pending." CAS PING_TIMEOUT: sInfoRetour += "Ping timeout." AUTRES CAS: sInfoRetour += "Erreur inconnue." FIN FIN SINON sInfoRetour=sMsgErr+"Erreur d'initialisation du socket." eRetour = -1 FIN
RENVOYER eRetour
Extrait d'une partie d'une classe. Bon Dev A+
Contribution le : 11/08/2003 19:56
|
|
|
Re: Ping et net send comme sous dos(Presque) |
|
Stagiaire WDF ![](http://old.wdforge.org/uploads/rank3e84154a75422.gif)
Inscrit: 24/05/2003 17:37
De Houdan
Post(s): 25
|
Et précisons que ce code est une adaption de l'article PSS ID Number: Q300197 du KB de MSDN (HOW TO: Ping an IP Address with Visual Basic by Using ICMP)
PYT
Contribution le : 12/08/2003 08:50
|
|
|
Re: Ping et net send comme sous dos(Presque) |
|
Animateur WDF ![](http://old.wdforge.org/uploads/rank3f7d78368d45f.gif)
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Ce message pour vous informer que cette procédure à été ecrite par Romain PETIT (mailto:rompetit@ifrance.com) licence WD-LIBRE ( http://www.windevasso.org) N'ayant pas eu ces informations au momment ou je l'ai publier, j'ai tenu à le faire aussitot que j'en ai pris connaissance. Merci donc à Romin PETIT pour cette contribution. A+
Contribution le : 15/09/2003 11:47
|
|
|
Re: Ping et net send comme sous dos(Presque) |
|
Anonyme
|
ou bien un simple petit ping avec cette "petite" fonction :
FONCTION Gbl_Ping_adresseIP(IpHote_)
IpHote est une chaîne = IpHote_ // Par défaut TimeOut est un entier retVal est un entier hIcmp est un entier SizeReply est un entier ReplyData est un entier IpAdress est un entier
IpAdress = AppelDLL32("Wsock32", "inet_addr", IpHote) // Mauvaise adresse IP SI IpAdress = 0xFFFFFFFF ALORS RENVOYER Faux FIN
SizeReply = 255 TimeOut = 25 hIcmp = AppelDLL32("icmp", "IcmpCreateFile")
retVal = AppelDLL32("icmp", "IcmpSendEcho", hIcmp, IpAdress, 0, 0, Null, &ReplyData, SizeReply, TimeOut) AppelDLL32("icmp", "IcmpCloseHandle", hIcmp)
RENVOYER retVal
Contribution le : 16/09/2003 11:59
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|