Home »
C++ programs »
C++ Most popular & searched programs
C++ program to set IP address, subnet mask, network gateway in Linux System
Learn: How to set network settings like IP Address, Subnet Mask, Network Gateway using C++ program in Linux System using G++ Compiler?
[Last updated : February 26, 2023]
Setting the IP address, subnet mask, network gateway in Linux System using C++ Program
In our previous article, we have discussed about network settings. In this article we are going to learn how we can set network settings in Linux based systems using C++ program (this program is compiled and executed under G++ compiler).
Following Network settings will be applies through given program:
- IP Address
- Subnet Mask
- Gateway
Pointes to remember while writing this code:
- Use standard Linux commands to set network settings through C++ program, system() library function is used to execute these commands.
- Network interface must be used with the standard Linux command, here we are using "etho", which is the network interface is my system.
- Before executing any network related command, use link down command.
- After executing all command, use link up command.
C++ code to set IP address, subnet mask, network gateway in Linux System
#include <iostream>
using namespace std;
#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
void setIPv4(char * ip,char * gw,char * netmask)
{
char cmd[128];
//network interface
char nwkInf[5]="eth0";
//link down command in Linux
sprintf(cmd,"ip link set %s down",nwkInf);
system(cmd);
memset(cmd,0x00,64);
//command to set ip address, netmask
sprintf(cmd,"ifconfig %s %s netmask %s",nwkInf,ip,netmask);
system(cmd);
printf("\ncmd : %s",cmd); fflush(stdout);
memset(cmd,0X00,64);
//command to set gateway
sprintf(cmd,"route add default gw %s %s",gw,nwkInf);
system(cmd);
memset(cmd,0X00,64);
//link up command
sprintf(cmd,"ip link set %s up",nwkInf);
system(cmd);
}
int main()
{
//calling function to set network settings
setIPv4("192.168.10.216","192.168.10.1","255.255.255.0");
return 0;
}
Here, "192.168.10.216" is IP Address, "192.168.10.1" is Network Gateway, and "255.255.255.0" is Subnet Mask.