home *** CD-ROM | disk | FTP | other *** search
/ Hackers Toolkit v2.0 / Hackers_Toolkit_v2.0.iso / HTML / archive / Unix / c-src / findip.c < prev    next >
C/C++ Source or Header  |  1999-11-04  |  2KB  |  61 lines

  1. /*
  2.  * This program is free software; you can redistribute it and/or modify
  3.  * it under the terms of the GNU General Public License as published by
  4.  * the Free Software Foundation; either version 2 of the License, or
  5.  * (at your option) any later version.
  6.  *
  7.  * This program is distributed in the hope that it will be useful,
  8.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  9.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  10.  * GNU General Public License for more details.
  11.  *
  12.  * You should have received a copy of the GNU General Public License
  13.  * along with this program; if not, write to the Free Software
  14.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  15.  *
  16.  *
  17.  * Filename: findip.c
  18.  * Created : Nov. 10th 1995 @ 4:30pm
  19.  * Author  : SrfRoG (srfrog@itek.net)
  20.  * Descrip.: This cute little program will attempt to resolve
  21.  *   an IP address to its hostname. Then prints the results
  22.  *   to standard output.
  23.  * ---------------------------------------------------------------------
  24.  * To compile this program:
  25.  * Linux:    gcc -O2 -m486 -s -o findip findip.c
  26.  * AIX, BSD:    gcc -O2 -s -o findip findip.c
  27.  * SunOS:    gcc -O2 -lnsl -s -o findip findip.c
  28.  * Other:    cc -o findip findip.c
  29.  */
  30.  
  31. #include <stdio.h>
  32. #include <sys/types.h>
  33. #include <sys/socket.h>
  34. #include <netinet/in.h>
  35. #include <arpa/inet.h>
  36. #include <netdb.h>
  37.  
  38. int main(argc, argv)
  39. int argc;
  40. char **argv;
  41. {  
  42.     struct hostent *ip;
  43.     unsigned long hostname;
  44.  
  45.     if (argc != 2)
  46.     {
  47.         printf("Need to specify an IP address.\n");
  48.         exit(1);
  49.     } 
  50.     if ((hostname = inet_addr(argv[1])) == -1)
  51.     {
  52.         printf("Could not find %s\n", argv[1]);
  53.         exit(1);
  54.     }
  55.     if ((ip = gethostbyaddr((char *)&hostname, sizeof(long), AF_INET)) != NULL)
  56.         printf("%s is %s\n", argv[1], ip->h_name);
  57.     else
  58.         printf("Could not resolve %s\n", argv[1]);
  59.     return 0;
  60. }
  61.