इस सेक्शन में हम देखेंगे कि लोकल सिस्टम का होस्ट नेम और IP एड्रेस आसान तरीके से कैसे देखें। हम होस्ट नेम और IP खोजने के लिए एक C प्रोग्राम लिखेंगे।
निम्नलिखित में से कुछ फंक्शन उपयोग किए जाते हैं। इन फंक्शन के अलग-अलग कार्य हैं। आइए फंक्शन और उनके कार्यों को देखें।
| Sr.No | फंक्शन और विवरण |
|---|---|
| 1 | gethostname() यह लोकल कंप्यूटर के लिए स्टैंडर्ड होस्ट नेम ढूंढता है। |
| 2 | gethostbyname() यह होस्ट डेटाबेस से होस्ट नेम से संबंधित होस्ट जानकारी ढूंढता है। |
| 3 | inet_ntoa() यह एक IPv4 इंटरनेट नेटवर्क एड्रेस को डॉटेड डेसीमल फॉर्मेट में ASCII स्ट्रिंग में बदलता है। |
उदाहरण
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <netdb.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> void check_host_name(int hostname) { //यह फंक्शन लोकल कंप्यूटर के लिए होस्ट नेम लौटाता है if (hostname == -1) { perror("gethostname"); exit(1); } } void check_host_entry(struct hostent * hostentry) { //होस्ट नेम से होस्ट जानकारी खोजें if (hostentry == NULL){ perror("gethostbyname"); exit(1); } } void IP_formatter(char *IPbuffer) { //IP स्ट्रिंग को डॉटेड डेसीमल फॉर्मेट में बदलें if (NULL == IPbuffer) { perror("inet_ntoa"); exit(1); } } main() { char host[256]; char *IP; struct hostent *host_entry; int hostname; hostname = gethostname(host, sizeof(host)); // होस्ट नेम खोजें check_host_name(hostname); host_entry = gethostbyname(host); // होस्ट जानकारी खोजें check_host_entry(host_entry); IP = inet_ntoa(*((struct in_addr*) host_entry->h_addr_list[0])); // IP स्ट्रिंग में बदलें printf("Current Host Name: %s\n", host); printf("Host IP: %s\n", IP); }
आउटपुट
Current Host Name: soumyadeep-VirtualBox Host IP: 127.0.1.1