Issue 615472: socket.getfqdn() doesn't on Windows (original) (raw)

Created on 2002-09-27 12:32 by olson, last changed 2022-04-10 16:05 by admin. This issue is now closed.

Messages (8)
msg12512 - (view) Author: Robert Olson (olson) Date: 2002-09-27 12:32
On windows, socket.getfqdn() doesn't return a fully qualified name. Further, it returns the NETBIOS name (I think they call it that) of the computer, not a name that's useful for networking: C:\>\Python22\python.exe Python 2.2.1 (#34, Apr 9 2002, 19:34:33) [MSC 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import socket >>> socket.getfqdn() 'lorax' Python 2.2.1 (from python.org), Windows 2000. --bob
msg12513 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2002-09-29 22:23
Logged In: YES user_id=21627 This is not true; getfqdn returns a fully qualified name even on Windows. If it doesn't do that on your system, this reason is different than just being Windows. Can you please report the outcome of the following calls? socket.gethostname() name = _ gethostbyaddr(name)
msg12514 - (view) Author: Robert Olson (olson) Date: 2002-09-29 23:32
Logged In: YES user_id=20112 Is this what you're looking for? $ python Python 2.1.1 (#2, Aug 23 2001, 10:41:44) [GCC 2.95.3-5 (cygwin special)] on cygwin Type "copyright", "credits" or "license" for more information. >>> import socket >>> socket.getfqdn() 'only' >>> socket.gethostname() 'only' >>> socket.gethostbyaddr(socket.gethostname()) ('only', [], ['140.221.10.174', '192.168.153.1', '192.168.43.1']) (different machine & python, same behavior; the one I used before is now on a network where it doesn't have a real name). I've seen this on all the Windows machines I've used; it seems like Windows refuses to let the DNS-based name come through, if it already thinks it knows the name based on the Netbios name of the machine.
msg12515 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2002-09-30 07:44
Logged In: YES user_id=21627 It works fine for me, on an XP system. What Windows version? In "computer properties/computer name/Change", what do you see as "complete computer name"? In "more", what is the "primary domain suffix"? (I only have a German installation, so I'm uncertain how this reads in an English installation) I still suspect your machine is misconfigured.
msg12516 - (view) Author: Robert Olson (olson) Date: 2002-09-30 12:01
Logged In: YES user_id=20112 This is win2k. The "full computer name" doesn't have the full domain; and there isn't a primary domain suffix, so that may be what you mean by misconfigured. However, when I get IP and DNS information via DHCP, I would not expect to have to manually configure the computer name each time I use the machine in a differnet place (this is what DHCP is for). A DNS lookup on my IP address should give me the full information. Sigh, I suspect I may be up against a windows limitation perhaps.
msg12517 - (view) Author: Robert Olson (olson) Date: 2002-09-30 12:51
Logged In: YES user_id=20112 This is the other thing that bugs me about this problem: $ python Python 2.1.1 (#2, Aug 23 2001, 10:41:44) [GCC 2.95.3-5 (cygwin special)] on cygwin Type "copyright", "credits" or "license" for more information. >>> import socket >>> socket.gethostbyaddr(socket.gethostbyname("only")) ('only', [], ['140.221.10.174', '192.168.153.1', '192.168.43.1']) >>> socket.gethostbyaddr(socket.gethostbyname("moonbeam")) ('moonbeam.mcs.anl.gov', [], ['140.221.9.223']) It doesn't make sense that the first doesn't return the full name, while the second does. --bob
msg12518 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2002-09-30 15:23
Logged In: YES user_id=21627 If you get your configuration via dhcp, the DHCP server should provide you with your domain name as well. If it doesn't, the DHCP server is misconfigured; ask your administrator. Do you have any indication that any other program on your system is capable of computing the domain suffix you want to see? The issue with properly resolving a remote system (assuming 'moonbeam' is remote) is a well-known (to me, atleast) limitation of the Windows Socket library (winsock): if you are requesting information on the local system, DNS is not considered. DNS queries are only sent for remote systems. I'll close this bug as third-party (MS, in this case); if you later find that there is indeed a Python bug, please make a new report.
msg12519 - (view) Author: Tim Peters (tim.peters) * (Python committer) Date: 2002-09-30 16:02
Logged In: YES user_id=31435 Changed group to "3rd Party", as Martin suggested.
History
Date User Action Args
2022-04-10 16:05:42 admin set github: 37230
2002-09-27 12:32:47 olson create