Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Program to display hostname and IP address C
In this section we will see how to see the Host name and IP address of the local system in an easier way. We will write a C program to find the host name and IP.
Some of the following functions are used. These functions have a different task. Let us see the functions and their tasks.
| Function | Description |
|---|---|
| gethostname() | It finds the standard host name for the local computer. |
| gethostbyname() | It finds the host information corresponding to a host name from host database |
| iten_ntoa() | It converts an IPv4 Internet network address into an ASCII string into dotted decimal format. |
Example
#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) { //This function returns host name for local computer
if (hostname == -1) {
perror("gethostname");
exit(1);
}
}
void check_host_entry(struct hostent * hostentry) { //find host info from host name
if (hostentry == NULL) {
perror("gethostbyname");
exit(1);
}
}
void IP_formatter(char *IPbuffer) { //convert IP string to dotted decimal format
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)); //find the host name
check_host_name(hostname);
host_entry = gethostbyname(host); //find host information
check_host_entry(host_entry);
IP = inet_ntoa(*((struct in_addr*) host_entry->h_addr_list[0])); //Convert into IP string
printf("Current Host Name: %s
", host);
printf("Host IP: %s
", IP);
}
Output
Current Host Name: soumyadeep-VirtualBox Host IP: 127.0.1.1
Advertisements