精华内容
下载资源
问答
  • linux 获取当前机器ip
    2021-02-12 19:41:52

    )

    NetworkInterface.getNetworkInterfaces();

    //如果枚举对象里面还有内容(NetworkInterface)

    while (netInterfaces.hasMoreElements()) {

    if (bFindIP) {

    break;

    }

    //获取下一个内容(NetworkInterface)

    NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement();

    //----------特定情况,可以考虑用ni.getName判断

    //遍历所有IP

    Enumerationips = ni.getInetAddresses();

    while (ips.hasMoreElements()) {

    inetAddress = (InetAddress) ips.nextElement();

    if (inetAddress.isSiteLocalAddress()         //属于本地地址

    && !inetAddress.isLoopbackAddress()  //不是回环地址

    && inetAddress.getHostAddress().indexOf(":") == -1) {   //地址里面没有:号

    bFindIP = true;     //找到了地址

    break;              //退出循环

    }

    }

    }

    }

    } catch (Exception e) {

    e.printStackTrace();

    }

    return inetAddress;

    }

    public static String getLocalIP() {

    return getInetAddress().getHostAddress();

    }

    }

    更多相关内容
  • linux获取本机ip

    2021-05-13 20:30:57
    int get_ip ( in_addr_t addrs[], int asize ){int MAXINTERFACES=16;int i = 0;int fd, intrface = 0;struct ifreq buf[MAXINTERFACES]; ///if.hstruct ifconf ifc; ///if.hin_addr_t loopback;if ((fd = socket (....

    int get_ip ( in_addr_t addrs[], int asize  )

    {

    int MAXINTERFACES=16;

    int i = 0;

    int fd, intrface = 0;

    struct ifreq buf[MAXINTERFACES]; ///if.h

    struct ifconf ifc; ///if.h

    in_addr_t loopback;

    if ((fd = socket (AF_INET, SOCK_DGRAM, 0)) < 0) //socket.h

    return -1;

    ifc.ifc_len = sizeof buf;

    ifc.ifc_buf = (caddr_t) buf;

    if (ioctl (fd, SIOCGIFCONF, (char *) &ifc) < 0) //ioctl.h

    return -1;

    intrface = ifc.ifc_len / sizeof (struct ifreq);

    loopback = inet_addr("127.0.0.1");

    for (int j = 0; j < intrface && i < asize; ++j)

    {

    if (ioctl (fd, SIOCGIFADDR, (char *) &buf[j]) < 0)

    {

    continue;

    }

    struct sockaddr addr = buf[j].ifr_addr;

    if (loopback ==

    ((sockaddr_in*)&addr)->sin_addr.s_addr)

    {

    continue;

    }

    addrs[i] = ((sockaddr_in*)&addr)->sin_addr.s_addr;//types

    ++i;

    }

    close (fd);

    return i;

    }

    Linux 获取本机IP、MAC地址用法大全

    getifaddrs()和struct ifaddrs的使用,获取本机IP ifaddrs结构体定义如下: struct ifaddrs { struct ifaddrs *ifa_next; /* ...

    获取本机IP&lpar;适用于Linux系统&rpar;

    获取本机IP(适用于Linux系统) /** * @desc 获取本机IP(适用于Linux系统) * @return Ip */ public static String getLocalIP() ...

    Linux下获取本机IP地址的代码

    Linux下获取本机IP地址的代码,返回值即为互联网标准点分格式的字符串. #define ETH_NAME "eth0" //获得本机IP地址 char* GetLocalAdd ...

    java获取本机IP地址

    转载自:http://blog.csdn.net/thunder09/article/details/5360251 在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一 ...

    获取本机IP、mac地址、计算机名

    python获取本机IP.mac地址.计算机名 在python中获取ip地址和在php中有很大不同,我们先来看一下python 获得本机MAC地址: >>> import uuid ...

    python获取本机IP、mac地址、计算机名

    在python中获取ip地址和在php中有很大不同,在php中往往比较简单.那再python中怎么做呢? 我们先来看一下python 获得本机MAC地址: 1 2 3 4 import uuid de ...

    Shell 命令行获取本机IP,grep的练习

    Shell 命令行获取本机IP,grep的练习 在 mac 下面输入 ifconfig 或者在 linux 下面输入 ip a 就可以得到我们的网卡信息.不过通常情况下,我们需要查看的是我们的IP地址 ...

    python获取本机IP地址

    方法一 通常使用socket.gethostname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称) import socket #获取计算机名称hostname=socke ...

    随机推荐

    (转)名称和本质 by王珢

    名称和本质 by 王垠 我很喜欢 Richard Feynman 写的 .在最开头 Feynman 讲到 ...

    编写高质量JS代码的68个有效方法(五)

    No.21.使用apply方法通过不同数量的参数调用函数 Tips: 使用apply方法自定一个可计算的参数数组来调用可变参数的函数 使用apply方法的第一个参数给可变参数的方法提供一个接收者 // ...

    一入python深似海--dict&lpar;字典&rpar;的一种实现

    以下是python中字典的一种实现.用list数据结构实现字典.详细是这种:[[(key1,value1),(key2,value2),...],[],[],...] 内部每个hash地址是一个lis ...

    javascript的DOM操作&lpar;二&rpar;

    学习DOM 文本

    【MYSQL】解决Mysql直接登录问题(删除匿名用户)&lpar;转&rpar;

    刚安装的Mysql会存在匿名用户. 在命令行下输入mysql,(如果这时提示不是外部或内部指令,那就把mysql server文件下的bin目录添加到系统路径Path中) 如果没有任何提示,直接进入& ...

    Mac 中配置Apache

    使用的mac版本是10.10.1,mac自带的Apache环境 分为两部分: 1.启动Apache 2.设置虚拟主机 启动Apache 打开终端, >>sudo apachectl -v, ...

    前端之BOM和DOM

    BOM和DOM简介 BOM(Browser Object Model)是指浏览器对象模型,它使JavaScript有能力与浏览器进行“对话”. DOM(Document Object Model)是指 ...

    Java的HashMap是如何实现的?

    以下内容转自:http://blog.csdn.net/vking_wang/article/details/14166593 1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储 ...

    xpath &comma;css

    https://docs.scrapy.org/en/latest/intro/tutorial.html xpath @选择属性  .当前目录下选择 //任意路径选择 /bookstore/book ...

    mysql之explain

    ⊙ 使用EXPLAIN语法检查查询执行计划   ◎ 查看索引的使用情况   ◎ 查看行扫描情况   ⊙ 避免使用SELECT *   ◎ 这会导致表的全扫描   ◎ 网络带宽会被浪费   话说工欲善其 ...

    展开全文
  • LINUX获取本机IP地址

    2021-05-14 14:50:35
    ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":")==-1){ System.out.println("本机的ip=" + ip.getHostAddress()); break; } else { ip=null; } } System.out.println("~~~~~" + ip.getHostAddress()); ...

    import java.net.InetAddress;

    import java.net.NetworkInterface;

    import java.net.SocketException;

    import java.net.UnknownHostException;

    import java.util.Enumeration;

    public class TestLinuxIP {

    public static void main(String[] args) {

    //test1();

    test2();

    }

    private static void test1() {

    InetAddress inet;

    try {

    inet = InetAddress.getLocalHost();

    String ipAddress = inet.getHostAddress();

    System.out.println(ipAddress);

    } catch (UnknownHostException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    private static void test2(){

    //根据网卡取本机配置的IP

    Enumeration netInterfaces;

    try {

    netInterfaces = NetworkInterface.getNetworkInterfaces();

    InetAddress ip = null;

    while(netInterfaces.hasMoreElements()){

    NetworkInterface ni=(NetworkInterface)netInterfaces.nextElement();

    System.out.println(ni.getName());

    ip=(InetAddress) ni.getInetAddresses().nextElement();

    if( !ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":")==-1){

    System.out.println("本机的ip=" + ip.getHostAddress());

    break;

    } else {

    ip=null;

    }

    }

    System.out.println("~~~~~" + ip.getHostAddress());

    } catch (SocketException e) {

    e.printStackTrace();

    }

    }

    }

    展开全文
  • java.net.InetAddress.getLocalHost()来获取本地机器IP机器名信息,但发现在linux下并不能获取机器的实际IP机器名信息(获取到的是localhost/127.0.0.1)。方案描述根据系统类型(linux、windows)来通过不同的...

    描述

    由于项目是部署在集群上的,需要项目能够自动采集各机器的信息。java.net.InetAddress.getLocalHost()来获取本地机器的IP和机器名信息,但发现在linux下并不能获取到机器的实际IP和机器名信息(获取到的是localhost/127.0.0.1)。

    方案描述

    根据系统类型(linux、windows)来通过不同的方式获取本地机器的IP信息。

    获取Windows下的IP

    java.net.InetAddress.getLocalHost().getHostAddress();

    获取linux下的IP

    /**

    * 获取Linux下的IP地址

    *

    * @return IP地址

    * @throws SocketException

    */

    private static String getLinuxLocalIp() throws SocketException {

    String ip = "";

    try {

    for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {

    NetworkInterface intf = en.nextElement();

    String name = intf.getName();

    if (!name.contains("docker") && !name.contains("lo")) {

    for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {

    InetAddress inetAddress = enumIpAddr.nextElement();

    if (!inetAddress.isLoopbackAddress()) {

    String ipaddress = inetAddress.getHostAddress().toString();

    if (!ipaddress.contains("::") && !ipaddress.contains("0:0:")

    && !ipaddress.contains("fe80")) {

    ip = ipaddress;

    }

    }

    }

    }

    }

    } catch (SocketException ex) {

    ip = "127.0.0.1";

    ex.printStackTrace();

    }

    return ip;

    }

    判断操作系统的类型

    /**

    * 判断操作系统是否是Windows

    *

    * @return

    */

    public static boolean isWindowsOS() {

    boolean isWindowsOS = false;

    // 注:这里的system,系统指的是 JRE (runtime)system,不是指 OS

    String osName = System.getProperty("os.name");

    if (osName.toLowerCase().indexOf("windows") > -1) {

    isWindowsOS = true;

    }

    return isWindowsOS;

    }

    这里关于System.getProperty("os.name")说明一下(参考自http://blog.csdn.net/brotherdong90/article/details/49073941)

    key

    注释

    file.separator

    File separator (e.g., "/")

    java.class.path

    Java classpath

    java.class.version

    Java class version number

    java.home

    Java installation directory

    java.vendor

    Java vendor-specific string

    java.vendor.url

    Java vendor URL

    java.version

    Java version number

    line.separator

    Line separator

    os.arch

    Operating system architecture

    os.name

    Operating system name

    path.separator

    Path separator (e.g., "😊

    user.dir

    User's current working directory

    user.home

    User home directory

    user.name

    User account name

    最后将上面三个方法进行整合

    /**

    * 获取本地IP地址

    *

    * @throws SocketException

    */

    public static String getLocalIP() throws UnknownHostException, SocketException {

    if (isWindowsOS()) {

    return InetAddress.getLocalHost().getHostAddress();

    } else {

    return getLinuxLocalIp();

    }

    }

    参考

    展开全文
  • Linux shell 获取内网ip 终极方法

    千次阅读 2020-10-20 17:50:44
    shell 获得本机ip 获得内网ip machine_physics_net=$(ls /sys/class/net/ | grep -v "`ls /sys/devices/virtual/net/`"); local_ip=$(ip addr | grep "$machine_physics_net" | awk '/^[0-9]+: / {}; /inet.*global/...
  • java获取linux机器IP

    2019-12-13 10:10:24
    linux机器有多IP的情况,而有时候获取ip就会获取错误。 目前在网络上所找到的几乎所有直接通过java代码获取ip的方法都是有问题的,不能获取想要获得的那个IP。 怎么办呢,目前只能想办法写一个python脚本,然后把...
  • linux下脚本获取ip

    千次阅读 2022-02-16 14:48:36
    ip addr|awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}'|head -n 1 > temp_ip.txt 或者 ip a|grep inet|grep ...获取脚本所在路径 CWD=$(cd "$(dirname $0)";pwd) ...
  • linux查看当前服务器ip地址 命令行

    千次阅读 2021-05-17 09:34:35
    弹性云服务器 ECS弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率三年低至5折,多种配置可选...
  • Linux编程获取本机IP地址的几种方法

    千次阅读 2021-09-08 09:50:39
    在进行Linux网络编程时,经常会需要获取本机IP地址,除了常规的读取配置文件外,本文罗列几种个人所知的编程常用方法,仅供参考,如有错误请指出。 方法一:使用ioctl(),获取本地IP地址 Linux下可以使用ioctl()...
  • Linuxip地址

    2022-03-17 23:00:54
    Linux花式取ip 使用hostname -I取出的IP后面会有一个空格 [root@centos8 ~]#hostname -I | cat -A 10.0.0.8 $ 通常我们直接从ifconfig中取ip地址更准确 利用grep配合grep取ip地址 [root@C8-196 ~]# ifconfig | ...
  • privatestaticInetAddressgetLinuxLocalIp()throwsSocketException{EnumerationnetInterfaces=NetworkInterface.getNetworkInterfaces();InetAddressip=null;while(netInterfaces.hasMoreElements()){...
  • 本文实例讲述了Python获取linux主机ip的简单实现方法。分享给大家供大家参考,具体如下:python有好几种方法可以获取主机的ip地址。我常用的一种是通过socket.socket().inet_ntoa()来实现,非常方便;但这种方法有个...
  • 下面介绍在Linux上利用python获取本机ip的方法.经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码:#!/usr/bin/env python#encoding: utf-8#...
  • 前言 转载:https://www.cnblogs.com/newAndHui/p/11200775.html
  • 前言这篇文章主要介绍了linux中如何使用python3获取ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。一、不带参数#!/usr/bin/python# -*- coding: UTF-8...
  • 分享几个获取本机服务器IP地址的脚本~利用awk命令获取IP[root@backup~]#ifconfigens33|awk'NR==2{print$2}' 192.168.154.5利用grep命令获取IP[root@backup~]#ifconfigens33|egrep-o"([0-9]{1,3}\.){3}[0-9]{1,3}"|...
  • 源代码级Unix/Linux 通用网卡IP地址获取方法在Unix和Linux系统下有两种方法可以获得系统IP地址(gethostbyname和ioctl)gethostbyname通过域名解析获取对应计算机的网络地址,ioctl是一系列的网络函数获得本机的IP...
  • Linux下为机器设置静态IP地址:复制代码代码如下:vim /etc/sysconfig/network-scripts/ifcfg-eth0修改这个文件内容如下形式:复制代码代码如下:# Intel Corporation 82541GI Gigabit Ethernet ControllerDEVICE=eth0...
  • Linux中的C ++使用系统调用'getifaddr'来获取你网卡的所有接口。这里有两个函数和一个你需要的结构。struct ifaddrs{struct ifaddrs *ifa_next; /* Pointer to the next structure. */char *ifa_name; /* Name of ...
  • Linux获取本机的IP的几种方式

    万次阅读 2019-07-03 14:29:52
    共计五条命令,使用的方式都不同,但原理相同充分利用LInux管道技术 [root@vagrant-centos65 ~]# ifconfig eth0 |grep Bcast |cut -d ":" -f2|cut -d " " -f1 192.168.191.2 [root@vagrant-centos65 ~]# ifconfig |...
  • 一个在linux系统上可以准确获取ip和网卡名称的java程序。在windows上开发程序,使用 可以得到本机的ip,但是在linux上得不到真实的ip。修改程序,使用如下实现方法,同时还能得到网卡名称。
  • 需要使用shell脚本获取本机内网ip地址 解决 获取本机网卡名称赋值给networkCard变量 查询这个网卡的ip地址并打印出来 #!/bin/bash networkCard=`ifconfig | grep RUNNING |grep BROADCAST| awk -F ':' '{print $1...
  • linux获取ip地址(C++代码)

    千次阅读 2021-05-17 11:08:35
    =NULL) { if (ifAddrStruct->ifa_addr->sa_family==AF_INET) { // check it is IP4 // is a valid IP4 Address tmpAddrPtr=&((struct sockaddr_in*)ifAddrStruct->ifa_addr)->sin_addr; char addressBuffer[INET_...
  • Linux下Java获取本机IP地址

    千次阅读 2016-03-31 15:29:27
    Linux下用InetAddress.getLocalHost()方法获取本机IP地址, 得到的结果总是:127.0.0.1。 原来这个是etc/hosts文件中的配置,并非网卡的IP地址。 后来多方寻访,终于得下以下代码, 运行后在控制台输出
  • java获取linux服务器IP

    千次阅读 2019-10-26 09:24:31
    在项目开发过程中,需要获取linux服务器ip作为zookeeper节点名称,原先使用的是以下的方法: public static String getIpAddress() { String hostAddress = ""; try { InetAddress address = InetAddress....
  • sh 获取当前服务器ip

    千次阅读 2021-11-12 11:16:56
    host=`ip addr | grep /24 | awk '{print $2}' | awk -F '/' '{print $1}'` echo host
  • Linux Shell脚本中获取本机ip地址方法

    千次阅读 2021-05-15 03:36:17
    方法一:ifconfig -aifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk "{print $2}"|tr -d "addr:"命令解析ifconfig -a 和window下执行此命令一样道理,返回本机所有ip信息grep inet 截取包含ip的行grep ...
  • 但已知宿舍的电脑通过 SSH 连接到了学校的服务器,如何获取 宿舍电脑的局域网 IP 呢? 解决方案 使用实验室的电脑 SSH 连接同一台服务器。然后通过以下命令查看 22 端口的连接状态: netstat -nat | gr

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 87,966
精华内容 35,186
热门标签
关键字:

linux 获取当前机器ip