odin@ucscb.UCSC.EDU (Jon Granrose) (11/28/89)
Can anyone tell me a reliable way to find the site name associated with a given IP address? Example: say I have address 128.114.133.1 which happens to be a local machine ssyx.ucsc.edu. Now if I didn't know that, how would I figure out the site name short of ftping or telneting, or looking in HOSTS.TXT? Anyone? Thanks, Jon -- _____________________________________________________________________________ |Jon Granrose |ARPA: odin@ucscb.UCSC.EDU jonathan@sco.com | // Only | |Cowell College, UCSC| 74036.3241@compuserve.com |\X/ Amiga!| |Santa Cruz, CA 95064|UUCP:..!ucbvax!ucscc!ucscb!odin Bitnet:odin@ucscb.bitnet| | "Remember! No matter where you go, there you are." - B. Banzai | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
edwin@praxis.cs.ruu.nl (Edwin Kremer) (11/28/89)
In article <6027@lindy.Stanford.EDU> odin@ucscb.UCSC.EDU (Jon Granrose) writes: > Can anyone tell me a reliable way to find the site name associated > with a given IP address? Example: say I have address 128.114.133.1 which > happens to be a local machine ssyx.ucsc.edu. This is how I usually do it (I don't know if there are easier ways): Set querytype=ptr, reverse the address and add ".in-addr.arpa", like this: % nslookup Server: ... Address: .... > set q=ptr > 1.133.114.128.in-addr.arpa 1.133.114.128.in-addr.arpa host name = ssyx.UCSC.EDU > --[ Edwin ]-- -- Edwin Kremer, Department of Computer Science, University of Utrecht Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands Phone : +31 - 30 - 534104 | Telefax: +31 - 30 - 513791 E-Mail: edwin@cs.ruu.nl | UUCP to: ...!hp4nl!ruuinf!edwin
edwin@praxis.cs.ruu.nl (Edwin Kremer) (11/28/89)
In article <2104@ruuinf.cs.ruu.nl> edwin@cs.ruu.nl (Edwin Kremer) writes: > In article <6027@lindy.Stanford.EDU> odin@ucscb.UCSC.EDU (Jon Granrose) > writes: > > Can anyone tell me a reliable way to find the site name associated > > with a given IP address? Example: say I have address 128.114.133.1 > > which happens to be a local machine ssyx.ucsc.edu. To what <edwin@cs.ruu.nl> responds with: > This is how I usually do it (I don't know if there are > easier ways): ... lots of stuff deleted ... I didn't like my solution that much after all, so I decided to write a very small C program to solve this problem. I know this is not the right group to post sources, but I thought it's to small to bother the comp.sources.unix moderator, so here it is in a shell archive at the end of this message. Instructions on how to make are in the Makefile. I've tried this program on both HP-UX 6.5 (yes, we're running a nameserver on our HP9000/370) and SunOS 4.0.3 on an old ;-) Sun 3/60. Good luck, --[ Edwin ]-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of shell archive." # Contents: Makefile iname.c # Wrapped by edwin@cs.ruu.nl on Tue Nov 28 13:41:10 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'Makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Makefile'\" else echo shar: Extracting \"'Makefile'\" \(1089 characters\) sed "s/^X//" >'Makefile' <<'END_OF_FILE' X############################################################################### X# I used this one on HP-UX 6.5 X############################################################################### XCFLAGS = +O1 XLDFLAGS = -L /local/usr/lib/bind -lresolv -lBSD -q -s X X############################################################################### X# I used this one on SunOS 4.0.3 X############################################################################### XCFLAGS = -O XLDFLAGS = -lresolv -s X X############################################################################### X# Change this to whatever you prefer X############################################################################### XBIN = /local/bin XUSER = edwin XGROUP = staff XMODE = 0711 X X############################################################################### X# Shouldn't need to change anything below X############################################################################### Xiname : iname.o X $(CC) $? -o $@ $(LDFLAGS) X Xinstall : iname X cp $? $(BIN)/$? X cd $(BIN) ; chown $(USER) $? ; chgrp $(GROUP) $? ; chmod $(MODE) $? END_OF_FILE if test 1089 -ne `wc -c <'Makefile'`; then echo shar: \"'Makefile'\" unpacked with wrong size! fi # end of 'Makefile' fi if test -f 'iname.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'iname.c'\" else echo shar: Extracting \"'iname.c'\" \(1002 characters\) sed "s/^X//" >'iname.c' <<'END_OF_FILE' X/* X * @(#) iname.c 1.0 89/11/28 EHK X * X * iname - return fully qualified domain name of X * given internet address. X */ X X#include <stdio.h> X#include <sys/types.h> X#include <sys/socket.h> X#include <netinet/in.h> X#include <netdb.h> X Xstatic char *RcsId = "$Header: iname.c,v 1.1 89/11/28 13:16:22 edwin Exp $"; X Xstatic struct in_addr in; /* Internet address structure */ Xstatic char *p; /* Name of this program */ X Xmain(argc, argv) X int argc; X char *argv[]; X{ X struct hostent *he; /* Host info returned if successful */ X char *inet; /* ASCII representation of adress */ X X p = argv[0]; X X if ( argc != 2 ) X printf("Usage: %s dot_notation_inet_address\n", p), exit(-1); X X inet = argv[1]; /* Get internet address */ X in.s_addr = inet_addr(inet); /* network byte order */ X X he = gethostbyaddr((char *) &in, sizeof(struct in_addr), AF_INET); X if ( he == (struct hostent *) 0 ) X fprintf(stderr, "%s: can't resolve %s\n", p, inet), exit(-1); X X printf("%s = %s\n", inet, he->h_name); X X exit(0); X} END_OF_FILE if test 1002 -ne `wc -c <'iname.c'`; then echo shar: \"'iname.c'\" unpacked with wrong size! fi # end of 'iname.c' fi echo shar: End of shell archive. exit 0 -- Edwin Kremer, Department of Computer Science, University of Utrecht Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands Phone : +31 - 30 - 534104 | Telefax: +31 - 30 - 513791 E-Mail: edwin@cs.ruu.nl | UUCP to: ...!hp4nl!ruuinf!edwin
montnaro@sprite.crd.ge.com (Skip Montanaro) (11/28/89)
Craig Leres just posted a program called hf (host filter) to alt.sources. It maps internet addresses into their equivalent host names. -- Skip (montanaro@crdgw1.ge.com)