Page 1 sur 1

[R] Nom d'Hôte

Posté : mar. 25 janv. 2011 22:49
par Yle
Bonsoir,

Il m'est possible de connaître avec AutoIt mon adresse IP : _Getip()
Existe t-il une solution pour récupérer mon nom d'Hôte ?
du style ARouen-252-1-101-79.w90-23.abo.wanadoo.fr pour un abonné Orange

Re: [..] Nom d'Hôte

Posté : mar. 25 janv. 2011 23:25
par FernandG
Bonsoir,

Vous trouverez votre bonheur dans la fonction _TCPIpToName :
Voici un exemple de code :

Code : Tout sélectionner

#include <inet.au3>
#include <array.au3>
Dim $my_hostname, $my_ip
$my_ip = _GetIP()
$my_hostname = _TCPIpToName ($my_ip, 1)
If Not @error Then
    MsgBox(64, "Information IP/DNS", "Le hostname pour l'adresse " & $my_ip & " est :" & @CRLF & $my_hostname[1])
EndIf
Bonne soirée.

Re: [..] Nom d'Hôte

Posté : mer. 26 janv. 2011 14:48
par Yle
J'avais bien vu cette fonctionnalité qui me renvoit : LiveBox qui est effectivement mon nom d'Hôte.
Mais si sous DOS, j'envoie ces 2 commandes :

Ping -a ARouen-252-1-114-79.w90-23.abo.wanadoo.fr

Envoi d'une requˆte 'ping' sur ARouen-252-1-114-79.w90-23.abo.wanadoo.fr [90.23.177.79] avec 32 octets de donn‚esÿ:
Réponse de 90.23.177.79: octets=32 temps=3 ms TTL=64

Ping -a 90.23.177.79

Envoi d'une requête 'ping' sur livebox [90.23.177.79] avec 32 octets de donn‚esÿ:
Réponse de 90.23.177.79: octets=32 temps=74 ms TTL=64

On voit bien que LiveBox = Adresse Ip 90.23.177.79 = aussi ARouen-252-1-114-79.w90-23.abo.wanadoo.fr mais ce nom DNS, comment le récupérer ?
En fouillant le forum, j'ai vu que si on clique sur cette URL du site de Zebulon: http://www.zebulon.fr/outils/scanports/quick_scan.php
Lui arrive à récupérer cette valeur (avec du PHP)

Si qq a une idée ?

Re: [..] Nom d'Hôte

Posté : mer. 26 janv. 2011 17:22
par FastFrench
Bonjour,

voici deux pistes plus compliquées:

1/ Pour obtenir l'info, une solution est d'utiliser la commande DOS NSLookUp, qui renvoie précisément cette information.

Exemple d'utilisation:
http://www.autoitscript.com/forum/topic ... -nslookup/

2/ Autre solution plus élégante : trouver un moyen d'appeler directement la fonction système gethostbyaddr ou getnameinfo (Ws2_32.dll)
http://msdn.microsoft.com/en-us/library/ms738521
Cela pourrait donner qqc dans le style suivant (voir en fin du fil, à debugger):
http://www.autoitscript.com/forum/topic ... port-info/

Mais en fait, tout ça est inutile, car la solution la plus simple déjà indiquée fonctionne visiblement sans problème.
Ainsi le script suivant:

Code : Tout sélectionner

#include <Inet.au3>
TCPStartup()
MsgBox(0, "Host Name", "Host Name is: " & _TCPIpToName("90.23.177.79") )
j'obtiens bien:
Host Name is: arouen-252-1-114-79.w90-23.abo.wanadoo.fr
Donc si chez vous la réponse est autre (un nom simplifié), cela est peut-être dû à des alias définis dans un fichier système (host ou lmhost dans C:\Windows\System32\drivers\etc).


FF

Re: [..] Nom d'Hôte

Posté : mer. 26 janv. 2011 19:53
par sylvanie
Bonsoir,
perso je passerai par un nslookup avec un petit nettoyage de la sortie :
► Afficher le texte

Re: [..] Nom d'Hôte

Posté : jeu. 27 janv. 2011 21:19
par Yle
Eh oui chez moi, la réponse est systématiquement "LiveBox" sans avoir aucun Alias dans fichier Host ou autre sous .../drivers/etc... quand je fais un _TCPIpToName("90.23.177.79")
Si je fait un _TCPIpToName("90.24.177.79") d'une autre adresse, là j'obtiens bien un nom DNS : AMontsouris-651-1-66....
D'autre part, j'ai regardé coté WS2_32.dll mais l'UDF Inet.au3 l'utilise...

Pour ma part, je pense que toute LiveBox Orange est programmée pour renvoyer systématiquement sur des ping -a ou nslookup la réponse "LiveBox" et non mon nom d'hôte.
Mais je peux me tromper... Si qq peut faire ce test _TCPIpToName("de son adresse ip") pour me dire ce qu'il obtient derrière une LiveBox...

Ps : Je suis en XP SP3

Re: [..] Nom d'Hôte

Posté : jeu. 27 janv. 2011 22:06
par FernandG
Bonsoir,

Voici une fonction (inspiré de _GetIP) écrite spécialement pour vous :wink:
► Afficher le texte
Du coup, je l'ajoute à ma bibliothèque de code sources :mrgreen:

Bonne soirée.

[R] Nom d'Hôte

Posté : jeu. 27 janv. 2011 22:20
par Yle
Ok pour ce code qui me donne effectivement la bonne information.
Dans Inet.au3, c'est effectivement de la même façon qu'on retrouve l'adresse IP.

:wink: Bravo et merci, je mets en "RESOLU"

Re: [..] Nom d'Hôte

Posté : jeu. 27 janv. 2011 22:21
par FernandG
Dans _GetIP, il a un site de "secours" au cas où ...

J'ai donc modifié la fonction pour en faire de même :wink:
► Afficher le texte
Bonne soirée.
Edit : Suppression de la ligne : ClipPut($host)

Re: [R] Nom d'Hôte

Posté : jeu. 27 janv. 2011 22:26
par FernandG
Yle a écrit :je mets en "RESOLU"
C'est en éditant le sujet de votre premier message :wink: