IB2017 has asked for the wisdom of the Perl Monks concerning the following question:
Dear Monks, first of all I have to admit something: Networks and the like are almost a tabu for myself. However, I am in need to now the DNS name (I guess this is how it is called) of the network in which my computer is. If my computer is connected to the network of the Princeton University, for example, I want to get: princeton.edu.
After some experimenting, I came out with the following script which seems to work. However it looks like I am moving in a circle, going forth and back between IP, DNS, etc. This means I am very unhappy with the result. What would be a better way to achieve my goal?
#!/usr/bin/env perl use strict; use warnings; use Sys::Hostname; use Socket; my($host)=gethostbyname(hostname); my($addr)=inet_ntoa((gethostbyname(hostname))[4]); my $name = gethostbyaddr(inet_aton($addr), AF_INET) or die "Can't resolve $addr: $!\n"; $name=~s/($host\.)//g; print "DSN of network in which I am now: $name\n";
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Resolving DNS of local network
by marto (Cardinal) on Jan 23, 2018 at 10:20 UTC | |
by IB2017 (Pilgrim) on Jan 23, 2018 at 10:52 UTC | |
by marto (Cardinal) on Jan 23, 2018 at 10:57 UTC | |
|
Re: Resolving DNS of local network
by Anonymous Monk on Jan 23, 2018 at 14:15 UTC | |
by thanos1983 (Parson) on Jan 23, 2018 at 15:08 UTC |