windows - getaddrinfo () returnerer 127.0.0.1 til fjernhost

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en applikation, der bruger getaddrinfo () til at oversætte fra værtsnavnet til en pc i en Windows Workgroup til IPV4 adressen til den pågældende pc på LAN. (Bemærk, jeg mener ikke at få adressen til pc'en, koden kører på, jeg mener adressen til en anden pc på LAN!) Dette har arbejdet i marken såvel som i laboratoriet i nogen tid, men Nu har jeg en Windows 7 (32 bit) pc, der opfører sig anomaløst. Værtsnavnet til denne pc er 'albue'.


Jeg kompilerede prøvekoden fra Microsoft til getaddrinfo () på http://msdn.microsoft.com/en-us/library/windows/desktop/ms738520\%28v=vs.85\%29.aspx[1]


Når jeg kører denne prøvekode på en hvilken som helst pc på mit LAN og angiver 'albue' som værtsnavn, returnerer getaddrinfo () tilbagesendelsesadressen 127.0.0.1 i stedet for den korrekte (192.168.1.110). Men hvis jeg angiver et andet værtsnavn getaddrinfo () returnerer den rigtige adresse!


På et tidspunkt tidligere viste 'albue' IKKE denne adfærd, så klart noget om den pc er ændret for at forårsage denne adfærd. Jeg har forsøgt at genoprette pc-diskbilledet til et punkt, hvor jeg tror ikke forårsagede denne adfærd, men det ændrede sig ikke.
Det gør ligeledes ingen forskel, om pc'en er hardwired eller trådløst forbundet til LAN. DHCP er aktiveret for alle pc'er på LAN. Opførelsen er vedholdende selv med en komplet power down af alle pc'er, routere og switches.

Bedste reference


Hit et lignende problem og ønskede at sende bare hvis nogen andre fandt denne tråd.


Det samme skete på vores side med en kundeinstalleret computer. Vi fandt ud af, at kunden ændrede deres værtsfil til at forbinde 127.0.0.1 med pc'ens navn ... et særskilt program ved hjælp af getaddrinfo for at finde et bestemt subnetværk holdes fejlagtigt ... de endte med at omdøbe computeren midlertidigt for at bruge denne funktion, men de kunne også have rettet deres værtsfil.


Værtsfilen på den Win 7 computer blev fundet i/windows/system32/drivers/etc.

Andre referencer 1


Jeg ønskede at opdatere dette med svaret. Elefanten i rummet var internetudbyderens DNS. Jeg var under det fejlagtige indtryk af, at mit subnet var isoleret fra internetudbyderne DNS, men det var ikke tilfældet. Af en eller anden grund vender deres DNS 127.0.0.1 til værtsnavnet 'albue 'men så snart jeg omdøbte det til noget andet, blev mit problem poof! Jeg afslørede også en anden pc, der havde det samme problem, og omdøber det fik det også. Det, som begge pc'er har til fælles, er, at begge havde gennemgået OS-genindlæsninger, men problemet blev først tydeligt, indtil nogle gange efter at operativsystemet genoplæses.