[R] Calculer l'ip de broadcast

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Utilisateur 3309 supprimé
Status : Hors ligne

[R] Calculer l'ip de broadcast

#1

Message par Utilisateur 3309 supprimé »

Bonjour,
je ne parviens pas a faire une fonction qui me permettrai d'obtenir l'ip de broadcast dans la mesure ou je connais mon IP et mon masque de sous réseau.
le calcul est expliqué ici:
https://openclassrooms.com/forum/sujet/ ... ge-5421031

Merci pour votre aide. :mrgreen:
Modifié en dernier par Utilisateur 3309 supprimé le dim. 06 sept. 2015 22:27, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Calculer l'ip de broadcast

#2

Message par jguinch »

C'est une demande de script, ou tu veux juste de l'aide ?
Ou bloques-tu ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [..] Calculer l'ip de broadcast

#3

Message par Utilisateur 3309 supprimé »

ben c'est un peu les deux, je ne suis pas sur de partir dans la bonne direction, voilà ce que j'ai a ce stade :
J'ai réussi pour l'ip et le masque a convertir le décimal vers le binaire. Là ca me parait un peut fastidieux à partir de ca d'arriver au résultat final donc j'ai l'impression de partir dans la mauvaise voie.
► Afficher le texte
Modifié en dernier par Utilisateur 3309 supprimé le dim. 06 sept. 2015 22:24, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Calculer l'ip de broadcast

#4

Message par jguinch »

Pas besoin de convertir en binaire pour utiliser les opérateurs logiques.
En partant de ça : https://www.autoitscript.com/forum/topi ... ment=55539
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [..] Calculer l'ip de broadcast

#5

Message par Utilisateur 3309 supprimé »

Tu m'as tué là... :mrgreen:
Je savais bien que ce n'était pas normal de produire autant de code pour faire ça...
Merci beaucoup ! :wink:
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Calculer l'ip de broadcast

#6

Message par jguinch »

Et encore, c'est la version longue... :mrgreen:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Calculer l'ip de broadcast

#7

Message par jchd »

Oui, si on omet la validation :

Code : Tout sélectionner

Local $IP = '192.168.27.83'
Local $mask = '255.255.240.0'

ConsoleWrite(_BroadcastAddr($IP, $mask) & @LF)

Func _BroadcastAddr($sIP, $sMask)
    Local $aIP = StringSplit($sIP, ".", 2)
    Local $aMask = StringSplit($sMask, ".", 2)
    Local $sBroadcast
    For $i = 0 To 3
        $sBroadcast &= BitOR($aIP[$i], BitAND(BitNOT($aMask[$i]), 0xFF)) & "."
    Next
    Return StringTrimRight($sBroadcast, 1)
EndFunc
 
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Calculer l'ip de broadcast

#8

Message par jguinch »

► Afficher le texte
:mrgreen:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Calculer l'ip de broadcast

#9

Message par mikell »

?

Code : Tout sélectionner

$sBroadcast &= BitOR($aIP[$i], BitXOR($aMask[$i], 0xFF)) & "."
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Calculer l'ip de broadcast

#10

Message par jguinch »

T'as l'oeil mikell !
Je suis passé à côté de ça :roll:
:arrow:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Calculer l'ip de broadcast

#11

Message par jchd »

Heureusement que tu n'as pas à nous faire la même en IPv6
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [R] Calculer l'ip de broadcast

#12

Message par Utilisateur 3309 supprimé »

Bonjour,
je reviens vers vous concernant l'envoi d'un paquet UDP sur 255.255.255.255, ca ne marche pas chez moi, je suis en v3.3.14.1
avec SmartSniff sur mon PC je ne vois aucun paquet sortir. j'ai fait quelques recherches et j'ai trouver ceci:
https://www.autoitscript.com/forum/topi ... esnt-work/
et cela nous mene a ce rapport de Bug:
https://www.autoitscript.com/trac/autoit/ticket/938
et visiblement cela a été corrigé depuis la V3.3.1.1

Mais chez moi cela ne marche pas, et ce n'est pas un problème avec mon PC ou ma carte réseau car avec WakeMeOnLan j'arrive a envoyer un paquet WOL sur 255.255.255.255, que je vois bien sortir de mon PC avec smartsniff, et qui démarre bien le PC ciblé.

voici mon code:
► Afficher le texte
Image

Le but de celui-ci est de récupérer dans un menu déroulant la liste des équipements innactifs de ma LiveBox. et donc de les redémarrer en envoyant un paquet magique.
Donc jusque là je calculais l'ip de broadcast du sous réseau, jusqu'à ce que j'apprenne que "je me faisait des nœuds au cerveau" et qu'un simple envoi du paquet magique sur 255.255.255.255 fonctionnait.
J'ai vérifié avec WakeMeOnLan et c'est vrai, mais dans mon script si je remplace à la ligne 48:

Code : Tout sélectionner

$connexion = UDPOpen($IPBroadcast, 7)
par:

Code : Tout sélectionner

$connexion = UDPOpen("255.255.255.255", 40000)
et bien cela ne fonctionne pas, aucune erreur n'est renvoyée et aucun paquet ne sort de l'application.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Calculer l'ip de broadcast

#13

Message par jchd »

Vu l'aide de UDPOpen, ça me semble normal. Si tu essayais de mettre le flag à 1 (ou $UDP_OPEN_BROADCAST le bien nommé) ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Utilisateur 3309 supprimé
Status : Hors ligne

Re: [R] Calculer l'ip de broadcast

#14

Message par Utilisateur 3309 supprimé »

je crois que je mérite le fouet...
Merci jchd
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [R] Calculer l'ip de broadcast

#15

Message par orax »

Image
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Calculer l'ip de broadcast

#16

Message par jchd »

Le fouet ? Bah tu te l'infliges tout seul, alors pourquoi se fatiguer ? :mrgreen:
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Répondre