[comp.unix.questions] name server

TOMIII@MTUS5.BITNET (Thomas Dwyer III) (09/10/90)

Does anyone know how to obtain the hostname of a machine given the IP
address using a name server (the nslookup feature of unix?) ?

Thanks,
Thomas Dwyer III                        Email: tomiii@mtu.edu
Network Programmer                             tomiii@mtus5.BITNET
Computing Technology Services           Voice: (906) 487-2110
Michigan Technological University       Fax:   (906) 487-2787

aaron@ux.acs.umn.edu (Aaron Y.T. Cheung) (09/10/90)

| Does anyone know how to obtain the hostname of a machine given the IP
| address using a name server (the nslookup feature of unix?) ?


Try the reverse mapping -- nslookup with the PTR type:

Eg, to get the hostname of IP address 128.101.63.2,

nslookup> set q=ptr
nslookup> 2.63.101.128.in-addr.arpa.    (note that the IP is supplied reversed)

for the convenience of querying multiple IP's, 

nslookup> set q=ptr
nslookup> set do=in-addr.arpa.
nslookup> 2.63.101.128
nslookup> 1.63.101.128
etc.

Works only if the IP address is connected to the Internet and someone
did register his corresponding network.in-addr.arpa domain with Nic
and someone actually put in the ptr records for their hosts and their
primary and secondary nameservers are not down and.... :-)

Hope it helps.

/aaron.

mathisen@dali.cs.montana.edu (Jaye Mathisen) (09/10/90)

In article <90252.231430TOMIII@MTUS5.BITNET> TOMIII@MTUS5.BITNET (Thomas Dwyer III) writes:
>Does anyone know how to obtain the hostname of a machine given the IP
>address using a name server (the nslookup feature of unix?) ?

To find the hostname for IP address 1.2.3.4:

% nslookup

> set type=ptr

> 4.3.2.1.in-addr.arpa


will do the trick...  Assuming the .in-addr.arpa tables have been set
up appropriately...

thomas@uplog.se (Thomas Tornblom) (09/10/90)

In article <90252.231430TOMIII@MTUS5.BITNET> TOMIII@MTUS5.BITNET (Thomas Dwyer III) writes:

   Does anyone know how to obtain the hostname of a machine given the IP
   address using a name server (the nslookup feature of unix?) ?

nslookup -query=ptr <ip-address reversed>.in-addr-arpa.
I.e:

For the host 192.16.142.80 the query would be:
nslookup -query=ptr 80.142.16.192..in-addr-arpa.
-- 
Real life:      Thomas Tornblom                 Email:  thomas@uplog.se
Snail mail:     Telesoft Uppsala AB             Phone:  +46 18 189406
                Box 1218                        Fax:    +46 18 132039
                S - 751 42 Uppsala, Sweden

thomas@uplog.se (Thomas Tornblom) (09/10/90)

In article <THOMAS.90Sep10110602@uplog.uplog.se> thomas@uplog.se (Thomas Tornblom) writes:


   For the host 192.16.142.80 the query would be:
   nslookup -query=ptr 80.142.16.192..in-addr-arpa.

Sloppy fingers, it should of course be:
nslookup -query=ptr 80.142.16.192.in-addr.arpa.

   -- 
   Real life:      Thomas Tornblom                 Email:  thomas@uplog.se
   Snail mail:     Telesoft Uppsala AB             Phone:  +46 18 189406
		   Box 1218                        Fax:    +46 18 132039
		   S - 751 42 Uppsala, Sweden
-- 
Real life:      Thomas Tornblom                 Email:  thomas@uplog.se
Snail mail:     Telesoft Uppsala AB             Phone:  +46 18 189406
                Box 1218                        Fax:    +46 18 132039
                S - 751 42 Uppsala, Sweden

edwin@praxis.cs.ruu.nl (Edwin Kremer) (09/10/90)

In <2210@ux.acs.umn.edu> aaron@ux.acs.umn.edu (Aaron Y.T. Cheung) writes:

   | | Does anyone know how to obtain the hostname of a machine given the IP
   | | address using a name server (the nslookup feature of unix?) ?
   | 
   | Try the reverse mapping -- nslookup with the PTR type:
   | Eg, to get the hostname of IP address 128.101.63.2,
   | 
   | nslookup> set q=ptr
   | nslookup> 2.63.101.128.in-addr.arpa.
   | [...]

  I wrote a pretty small program just to do quick 'n easy reverse-resolving
and called it "nsl"; you can call it with either a hostname or an IP address.
Here's an example:

	% nsl nic.ddn.mil
	192.67.67.20

	% nsl 192.67.67.20
	NIC.DDN.MIL

  Some use it as a helpful aid to old-fashioned programs that won't
consult the nameserver to retrieve IP adresses but look in "/etc/hosts"
only, like in:
			ftp `nsl uunet.uu.net`


  If you think this is a useful program, feel free to pick it up by anonymous
FTP from our archive server: "archive.cs.ruu.nl" [131.211.80.5]. Look for
the file "pub/UNIX/nsl-1.0.0.tar.Z".

  If you don't have Internet access, send a message to our mail-server
program that can be reached at the address: 'mail-server@cs.ruu.nl',
containing following instructions in the message body:

	begin
	send UNIX/nsl-1.0.0.tar.Z
	end



		enjoy and thanks for your time,
						--[ Edwin ]--
--
Edwin Kremer (SysAdm), Dept. of Computer Science, Utrecht University
Padualaan 14,   P.O. Box 80.089,  3508 TB  Utrecht,  The Netherlands
Telephone: +31-30-534104  | UUCP: ...!uunet!mcsun!hp4nl!ruuinf!edwin
Telefax  : +31-30-513791  | Email: edwin@cs.ruu.nl    [131.211.80.5]

karl_kleinpaste@cis.ohio-state.edu (09/10/90)

tomiii@mtus5.bitnet writes:
   Does anyone know how to obtain the hostname of a machine given the IP
   address using a name server (the nslookup feature of unix?) ?

host(1) is better for 99+% of the usual queries you want to make,
including automatic in-addr.arpa queries when given a dotted quad, no
need to do special "query=ptr" things.

| [78] [10:41am] giza:/n/giza/0/karl> host 128.146.8.60
| Name: tut.cis.ohio-state.edu
| Address: 128.146.8.60
| Aliases:
| 
| [79] [10:42am] giza:/n/giza/0/karl> host 128.146.0.0
| Name: net.ohio-state.edu
| Address: 128.146.0.0
| Aliases:
| 
| [80] [10:42am] giza:/n/giza/0/karl> host -a tut.cis.ohio-state.edu.
| tut.cis.ohio-state.edu  1395 IN A       128.146.8.60
| tut.cis.ohio-state.edu  86400 IN        HINFO   pyramid-98x     unix
| tut.cis.ohio-state.edu  86400 IN        MX      100 tut.cis.ohio-state.edu
| tut.cis.ohio-state.edu  86400 IN        WKS     128.146.8.60 udp 42 tftp sunrpc
| tut.cis.ohio-state.edu  86400 IN        WKS     128.146.8.60 tcp ftp telnet smtp nameserver sunrpc
| Additional information:
| tut.cis.ohio-state.edu  1395 IN A       128.146.8.60

You can pick it up as tut.cis.ohio-state.edu:pub/nameserver/host.[1c].
Chuck Hedrick/Rutgers is responsible for it.

--karl

paul@uxc.cso.uiuc.edu (Paul Pomes - UofIllinois CSO) (09/11/90)

Thomas Dwyer III <TOMIII@MTUS5.BITNET> writes:

>Does anyone know how to obtain the hostname of a machine given the IP
>address using a name server (the nslookup feature of unix?) ?
>
>Thanks,
>Thomas Dwyer III                        Email: tomiii@mtu.edu
>Network Programmer                             tomiii@mtus5.BITNET
>Computing Technology Services           Voice: (906) 487-2110
>Michigan Technological University       Fax:   (906) 487-2787

Try these csh aliases (courtesy of Matt Crawford):

# BIND aliases
alias a		"(" echo set q=A ";" echo \!\* ")" "|" nslookup
alias cname	"(" echo set q=CNAME ";" echo \!\* ")" "|" nslookup
alias mx	"(" echo set q=MX ";" echo \!\* ")" "|" nslookup
alias hinfo	"(" echo set q=HINFO ";" echo \!\* ")" "|" nslookup
alias ns	"(" echo set q=NS ";" echo \!\* ")" "|" nslookup
alias any	"(" echo set q=ANY ";" echo \!\* ")" "|" nslookup
alias soa	"(" echo set q=SOA ";" echo \!\* ")" "|" nslookup
alias ptr	echo \!$ \| awk -F. \'\{printf \"set q=PTR\\n%s.%s.%s.%s.in-addr.arpa\\n\",\$4,\$3,\$2,\$1\}\' \| nslookup

or these ksh functions:

# BIND functions

function a	# Addresses
{
	nslookup <<- EOF
	set q=A
	$1
	EOF
}

function cname	# Canonical name
{
	nslookup <<- EOF
	set q=CNAME
	$1
	EOF
}

function mx	# Mail eXchangers
{
	nslookup <<- EOF
	set q=MX
	$1
	EOF
}

function hinfo	# Host information
{
	nslookup <<- EOF
	set q=HINFO
	$1
	EOF
}

function ns	# Name servers
{
	nslookup <<- EOF
	set q=NS
	$1
	EOF
}

function any	# Any query
{
	nslookup <<- EOF
	set q=ANY
	$1
	EOF
}

function soa	# Start of authority
{
	nslookup <<- EOF
	set q=SOA
	$1
	EOF
}

function ptr	# Inverse query
{
	print $1 | awk -F. '{printf "set q=PTR\n%s.%s.%s.%s.in-addr.arpa\n",$4,$3,$2,$1}' | nslookup
}
--
         Paul Pomes

UUCP: {att,iuvax,uunet}!uiucuxc!paul   Internet, BITNET: paul@uxc.cso.uiuc.edu
US Mail:  UofIllinois, CSO, 1304 W Springfield Ave, Urbana, IL  61801-2910

edwin@praxis.cs.ruu.nl (Edwin Kremer) (09/12/90)

In <3764@ruuinf.cs.ruu.nl> I wrote:

   |  I wrote a pretty small program just to do quick 'n easy reverse-resolving
   | and called it "nsl"; you can call it with either a hostname or an IP
   | address.

  I got a bug report from Dan Bernstein: passing a wrong argument to
the "inet_ntoa" routine caused a core dump on a Sun-4. :-(

  I've put a fixed version in our archive. If you got NSL from our archive
server before Tue, Sep 11, 17:25 GMT (!), please fetch the patchlevel 1
version. So, once more on how to get it:

	** Anonymous FTP:
		Site: "archive.cs.ruu.nl" [131.211.80.5]
		File: pub/UNIX/nsl-1.0.1.tar.Z

	** Mail-server, send a message to "mail-server@cs.ruu.nl" with the
	   following commands in the message body:

		begin
		send UNIX/nsl-1.0.1.tar.Z
		end



				enjoy,
						--[ Edwin ]--
--
Edwin Kremer (SysAdm), Dept. of Computer Science, Utrecht University
Padualaan 14,   P.O. Box 80.089,  3508 TB  Utrecht,  The Netherlands
Telephone: +31-30-534104  | UUCP: ...!uunet!mcsun!hp4nl!ruuinf!edwin
Telefax  : +31-30-513791  | Email: edwin@cs.ruu.nl    [131.211.80.5]

moraes@cs.toronto.edu (Mark Moraes) (09/12/90)

karl_kleinpaste@cis.ohio-state.edu writes:
>host(1) is better for 99+% of the usual queries you want to make,
>including automatic in-addr.arpa queries when given a dotted quad, no
>need to do special "query=ptr" things.

I'll second that -- host is a terrific way to ask a nameserver
questions.  Its default output is simple and understandable, even to
ordinary users, and it can be convinced to produce it in the same
format as nameserver input for the wizard.  It can even be made as
verbose as dig(1) if you really want that.

>You can pick it up as tut.cis.ohio-state.edu:pub/nameserver/host.[1c].
>Chuck Hedrick/Rutgers is responsible for it.

A somewhat modified version is available from
cs.toronto.edu:pub/host.tar.Z.  The mods were mostly for portability
(to get it to work on our Ultrix systems, SunOS3.5 Suns and SGIs),
plus a simple enhancement to allow it to accept multiple hosts to
resolve.

	Mark.