精华内容
下载资源
问答
  • 一:Linux自动获得IP的情况下查询ip子网掩码 打开命令终端输入ifconfig -a 从上图可以看出:IP:10.113.1.130,Mask:255.255.255.0   二:查看网关 在命令终端输入:route default那一行10.113.0.254就是...

     

    一:Linux自动获得IP的情况下查询ip及子网掩码

    打开命令终端输入ifconfig -a


    从上图可以看出:IP:10.113.1.130,Mask:255.255.255.0

     

    二:查看网关

    在命令终端输入:route



    default那一行10.113.0.254就是默认网关 

     

    三:查看默认的DNS服务

    在命令终端输入:cat /etc/resolv.conf



     

    nameserver后面就是DNS

     

    四:设置固定IP地址

    在实际应用过程中,服务器一般都会用固定的IP地址.

    上面实例中已经知道了机器的IP,网关、子网掩码及DNS,现在就可以设置自己的固定IP了。

    1、进入命令终端输入:vi  /etc/sysconfig/network-scripts/ifcfg-eth0

    注意:ifcfg-eth0是自己对应的网卡地址。如果一张网卡的话就是这个地址。

    2、按i键进入编辑模式

     

    修改配置如下:

    DEVICE=eth0
    BOOTPROTO=static
    HWADDR=00:0C:29:DF:95:82
    IPV6INIT=no
    NM_CONTROLLED=yes
    ONBOOT=yes#开机启动
    TYPE=Ethernet
    IPADDR=10.113.1.130#自己的IP地址
    NETMASK=255.255.255.0#子网掩码
    GATEWAY=10.113.0.254#网关
    DNS1=202.96.209.133
    UUID=92405d80-c79f-4c32-b23b-098c6bb357d3
    

     

     3、退出并保存。按Esc键,然后输入

    :wq

     

    4、记得重启一下网卡服务哦。

     

    service network restart

     

     

     

    五:修改开机是用图形界面还是用文字界面。

    个人建议用文字界面。正式环境用文字界面的也比较多。

    vi /etc/inittab

     进入文本编辑模式,按i键进入编辑模式

    把文本编辑成如下:

    # Default runlevel. The runlevels used are:
    #   0 - halt (Do NOT set initdefault to this)
    #   1 - Single user mode
    #   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
    #   3 - Full multiuser mode
    #   4 - unused
    #   5 - X11
    #   6 - reboot (Do NOT set initdefault to this)
    #
    id:3:initdefault:
    

     按Esc键,然后退出并保存

    :wq

     

     

    展开全文
  • Linux获取IP,子网掩码,网关等

    千次阅读 2019-02-20 16:38:15
    最近项目中需要获取linux系统的所有网口信息并设置默认网口,若在终端查看只需输入ifconfig命令即可,通过编程实现则比较麻烦,通过查询资料发现linux提供的ioctl()函数可以获取相关信息。下面首先介绍几个需要使用...

        最近项目中需要获取linux系统的所有网口信息并设置默认网口,若在终端查看只需输入ifconfig命令即可,通过编程实现则比较麻烦,通过查询资料发现linux提供的ioctl()函数可以获取相关信息。下面首先介绍几个需要使用到的结构体,然后提供一个实例。

         1. 结构体ifconf和ifreq

    //ifconf通常是用来保存所有接口信息的
    struct ifconf 
    {
        int    ifc_len;            /* size of buffer    */
        union 
        {
            char *ifcu_buf;                        /* input from user->kernel*/
            struct ifreq *ifcu_req;        /* return from kernel->user*/
        } ifc_ifcu;
    };
     
    //ifreq用来保存某个接口的信息
    struct ifreq {
        char ifr_name[IFNAMSIZ];
        union {
            struct sockaddr ifru_addr;
            struct sockaddr ifru_dstaddr;
            struct sockaddr ifru_broadaddr;
            short ifru_flags;
            int ifru_metric;
            caddr_t ifru_data;
        } ifr_ifru;
    };
    

        2. 结构体sockaddr和sockaddr_in

    struct sockaddr {
        unsigned short    sa_family;    // 2 bytes address family, AF_xxx
        char              sa_data[14];     // 14 bytes of protocol address
    };
     
    struct sockaddr_in {
        short            sin_family;       // 2 bytes e.g. AF_INET, AF_INET6
        unsigned short   sin_port;    // 2 bytes e.g. htons(3490)
        struct in_addr   sin_addr;     // 4 bytes see struct in_addr, below
        char             sin_zero[8];     // 8 bytes zero this if you want to
    }; 
    struct in_addr {
        unsigned long s_addr;          // 4 bytes load with inet_pton()
    };

        二者长度一样,都是16个字节,即占用的内存大小是一致的,因此可以互相转化。二者是并列结构,指向sockaddr_in结构的指针也可以指向sockaddr。

        3. 实例

      #include <stdio.h>
      #include <string.h>
      #include <net/if.h>
      #include <sys/ioctl.h>
      #include <arpa/inet.h>
      #include <errno.h>
       
      int getInterfaceInfo(void)
      {
          int fd;
          int interfaceNum = 0;
          struct ifreq buf[16];
          struct ifconf ifc;
          struct ifreq ifrcopy;
          char mac[16] = {0};
          char ip[32] = {0};
          char broadAddr[32] = {0};
          char subnetMask[32] = {0};
      
          if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
          {
              perror("socket");
      
              close(fd);
              return -1;
          }
      
          ifc.ifc_len = sizeof(buf);
          ifc.ifc_buf = (caddr_t)buf;
          if (!ioctl(fd, SIOCGIFCONF, (char *)&ifc))//获取所有网口信息
          {
              interfaceNum = ifc.ifc_len / sizeof(struct ifreq);
              printf("interface num = %dn", interfaceNum);
              while (interfaceNum-- > 0) //逐个提取
              {
                  printf("ndevice name: %sn", buf[interfaceNum].ifr_name);
      
                  //ignore the interface that not up or not runing  
                  ifrcopy = buf[interfaceNum];
                  if (ioctl(fd, SIOCGIFFLAGS, &ifrcopy))//设置网口标记
                  {
                      printf("ioctl: %s [%s:%d]n", strerror(errno), __FILE__, __LINE__);  
                      close(fd);
                      return -1;
                  }
      
                  //get the mac of this interface  
                  if (!ioctl(fd, SIOCGIFHWADDR, (char *)(&buf[interfaceNum])))
                  {
                      memset(mac, 0, sizeof(mac));
                      snprintf(mac, sizeof(mac), "%02x%02x%02x%02x%02x%02x",
                          (unsigned char)buf[interfaceNum].ifr_hwaddr.sa_data[0],
                          (unsigned char)buf[interfaceNum].ifr_hwaddr.sa_data[1],
                          (unsigned char)buf[interfaceNum].ifr_hwaddr.sa_data[2],
                          (unsigned char)buf[interfaceNum].ifr_hwaddr.sa_data[3],
                          (unsigned char)buf[interfaceNum].ifr_hwaddr.sa_data[4],
                         (unsigned char)buf[interfaceNum].ifr_hwaddr.sa_data[5]);
                      printf("device mac: %sn", mac);
                  }
                  else
                  {
                      printf("ioctl: %s [%s:%d]n", strerror(errno), __FILE__, __LINE__);
                      close(fd);
                      return -1;
                  }
      
                  //get the IP of this interface    
                  if (!ioctl(fd, SIOCGIFADDR, (char *)&buf[interfaceNum]))
                  {
                      snprintf(ip, sizeof(ip), "%s",
                          (char *)inet_ntoa(((struct sockaddr_in * &
                        (buf[interfaceNum].ifr_addr))->sin_addr));
                      printf("device ip: %sn", ip);
                  }
                  else
                  {
                      printf("ioctl: %s [%s:%d]n", strerror(errno), __FILE__, __LINE__);
                      close(fd);
                      return -1;
                  }
      
                  //get the broad address of this interface    
                  if (!ioctl(fd, SIOCGIFBRDADDR, &buf[interfaceNum]))
                  {
                      snprintf(broadAddr, sizeof(broadAddr), "%s",
                          (char *)inet_ntoa(((struct sockaddr_in *)&
                            (buf[interfaceNum].ifr_broadaddr))->sin_addr));
                      printf("device broadAddr: %sn", broadAddr);
                  }
                  else
                  {
                      printf("ioctl: %s [%s:%d]n", strerror(errno), __FILE__, __LINE__);
                      close(fd);
                      return -1;
                  }
       
                 //get the subnet mask of this interface  
                 if (!ioctl(fd, SIOCGIFNETMASK, &buf[interfaceNum]))
                 {
                     snprintf(subnetMask, sizeof(subnetMask), "%s",
                         (char *)inet_ntoa(((struct sockaddr_in *)&
                            (buf[interfaceNum].ifr_netmask))->sin_addr));
                     printf("device subnetMask: %sn", subnetMask);
                 }
                 else
                 {
                     printf("ioctl: %s [%s:%d]n", strerror(errno), __FILE__, __LINE__);
                     close(fd);
                     return -1; 
                 }
             }
         }
         else
         {
             printf("ioctl: %s [%s:%d]n", strerror(errno), __FILE__, __LINE__);
             close(fd);
             return -1;
         }
       
         close(fd);
         return 0;
    }
    
    int main(void)
    {
         getInterfaceInfo();
         return 0;
    }

     

     

     

     

     

    参考:

    https://blog.csdn.net/CYKsky/article/details/77986645

    https://www.cnblogs.com/fnlingnzb-learner/p/6427388.html

    展开全文
  • linux设置ip 子网掩码及网关

    千次阅读 2018-03-29 17:42:18
    root 账户:ifconfig eth0 172.16.0.32 netmask 255.255.255.0ifconfig eth1 172.16.0.49 netmask 255.255.0.0route add default gw 192.168.0.254

    root 账户:

    ifconfig eth0 172.16.0.32 netmask 255.255.255.0

    ifconfig eth1 172.16.0.49 netmask 255.255.0.0

    route add default gw 192.168.0.254

    展开全文
  • 文章目录文件操作解释什么是子网掩码什么是网关 文件操作 修改文件 vi ect/sysconfig/network-scripts/ifcfg-eth0 ifcfg-eth0文件名;有可能名字不一样 DEVICE=eth0 设备名称 HWADDR=00:0c:29:d3:bb:e5 ...

    文件操作

    1. 修改文件
    vi ect/sysconfig/network-scripts/ifcfg-eth0
    

    ifcfg-eth0文件名;有可能名字不一样

    DEVICE=eth0  							设备名称
    HWADDR=00:0c:29:d3:bb:e5 				mac地址
    TYPE=Ethernet 							网络类型
    ONBOOT=yes								开机自启动
    NM_CONTROLLED=yes
    BOOTPROTO=static 						BOOTPROTO接受3个参数:none(禁止dhcp),static(静态IP),dhcp(自动获取)
    DNS1=192.168.1.1						snd
    IPV6INIT=no
    USERCTL=no
    IPADDR=192.168.1.155					ip地址
    NETMASK=255.255.255						子网掩码
    GATEWAY=192.168.1.1						网关
    

    2.编辑完成后,保存退出
    重启网络服务

    service network restart
    

    然后ping网关,ping外网进行测试。都能ping通表示网络正常

    解释

    什么是子网掩码

    子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

    什么是网关

    默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。

    展开全文
  • 以下示例只是提供一些思路和简易的方法。...#return 1(failure) invalid ip,0(success) valid ip is_valid_ip_format() { if [[ "$1" =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]] ;then return 0 el
  • # This is a script to gather network information of your Linux system. # Test under Ubuntu 10.04 only. #---------------------------- NIC=eth0 MAC=`LANG=C ifconfig $NIC | awk '/HWaddr/{ print $5 }' ` ...
  • 完整的linux主机IP配置方案,希望对大家有用。
  • 本文以一个完整实例形式介绍了C++实现获取IP子网掩码、网关、DNS等本机网络参数的方法,供大家参考,具体的完整实例如下: #pragma comment(lib,Ws2_32.lib) #include #pragma comment(lib, Iphlpapi.lib) using...
  • Linux---IP地址和子网掩码

    千次阅读 2019-03-20 19:03:59
    二,子网掩码 概念 B类网址:255.255.0.0 16 有效的IP地址 一,IP地址概念和解析 在网络上通信,进行数据交互,必须基于IP地址。 概念 1,一种网络编程,用来确定网络中的一个节点 2,IP地址分为网络位和...
  • 大致的逻辑就是通过命令行ip addr 来获取到这些,然后再截取出来 讲解: ip route list | grep via | awk '{print $1}' grep 通过关键字截取 awk 一个单词一个单词的获取 '{print $1}' $1是获取第一个 实际...
  • java获取Centos7服务器网卡ip 子网掩码 默认网关 DNS 同时设置网卡 及 重启网卡参考
  • linux查看虚拟机ip的方法

    千次阅读 2018-11-09 16:11:45
    1,输入ip addr 2,对网址进行配置 vi/etc/sysconfig/network-scripts/ifcfg-【网卡的名字】 例:vi/etc/sysconfig/network-scripts/ifcfg-ens33 3,修改onboot(最后一行)修改为yes 4,重启网络服务,使配置生效:...
  • 1、 IP地址32bit 00000000.00000000.00000000.00000000 分为4组,每组8bit 分类: A类 1.0.0.0~126.255.255.255 B类 128.0.0.0~191.255.255.255 C类 192.0.0.0~223.255.255.255 D类 首位224~239(D、E类不可用...
  • Linux子网IP扫描

    千次阅读 2014-07-24 08:54:47
    进行ping扫描,打印出对扫描做出响应的主机:  $ nmap -sP 192.168.1.0/24  仅列出指定网络上的每台主机,不发送任何报文到目标主机:  $ nmap -sL 192.168.1.0/24  ...探测目标主机开放的端口,可以指定一个...
  • 1. 网卡的命名规则 在centos7中,en表示着:ethernet以太网,即现在所用的局域网,enX(X常见有以下3种类型) 类型 说明 ...主板板载网卡,集成设备的设备索引号 ...2. IP地址的临时修改(重启后...1. 查看网络接...
  • 子网掩码解析
  • 主要介绍了Python实现根据IP地址和子网掩码算出网段的方法,涉及Python基于Linux平台的字符串操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 使用root用户登录进入Linux,打开进去终端 ...开始编辑,填写ip地址、子网掩码、网关、DNS等。其中“红框内的信息”是必须得有的。 编辑完成后,保存退出 重启网络服务 service network restart或/etc...
  • 1.查看IP # ip addr 2.查看路由 # ip route 3.查看DNS # cat /etc/resolv.conf 4.查看主机名 # hostname 5.查看网关 netstat -rn route -n ONBOOT="yes" #开启自动启用网络连接 IPADDR0="192.168.21.128" #设置...
  • Linux查询子网掩码网关DNS

    千次阅读 2020-07-15 13:19:08
    ##查询IP子网掩码 [root@pfzhang3 ~]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:0C:29:33:2B:D8 inet addr:192.168.0.102 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe33:2
  • Linux查看网关、子网掩码、IP、广播地址 [root@glnode04 vm01-CentOS-5.5]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=none IP...
  • IP子网掩码设置命令: [root@localhost ~]# ifconfig eth0 你要设置的IP地址 netmask 你要设置的子网掩码地址 网关设置: [root@localhost ~]# route add default gw 你要设置的网关地址 以上设置完毕...
  • Linux 查看网段内所有IP

    千次阅读 2019-07-29 11:35:23
    Linux 查看网段内所有IP 方法一 NMAP命令: nmap –nsP 192.168.1.0/24 #从192.168.1.0到192.168.1.255所有IP 方法二 NBTSCAN命令: nbtscan 192.168.1.1-254 #查找出所有能ping通的IP并带其mac地址,本地...
  • 这是我在VMware的Ubuntu虚拟机上建立tftp连接时遇到的问题,问题描述如下 当时在网上也是各种搜索,但是搜到的答案属于同一类,让你用DHCP服务,但是有一个问题,无论能不能成功, 最后都不是我想要的结果,我...
  • root 账户: ifconfig eth0 172.16.0.32 netmask 255.255.255.0 ifconfig eth1 172.16.0.49 netmask 255.255.0.0 route add default gw 192.168.0.254
  • Linux:获取本地IP地址、子网掩码、广播地址: 最近有个项目需求需要得到自己的广播地址从而发给在同一广播域的其他设备,在网上查找了一些资料,可以调用驱动接口获取。我设备有三个ip接口:eth0、eth1、和回环...
  • 查看IP 最常规的就是ifconfig 但是有些系统有可能装的不全, 例如下面示例, ifconfig就看不到ip地址: ip a 或者ip addr来查看IP地址 修改IP 第一种方式:vim /etc/sysconfig/network-scripts/ifcfg-eth0 详解...
  • Linux基本操作和基础命令(Linux修改IP地址以及修改网卡地址) 今天博主和大家聊一聊 Linux的基本操作,不喜勿喷,如有建议欢迎补充,讨论。 一.Linux网络 1.网卡的命名规则 CENTOS7采用dmidecode采集命名...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,858
精华内容 26,343
关键字:

linux查看ip子网

linux 订阅