本周因为工作需要,需要获取服务器对应的出口ip,这里对获取方式做一下记录。

Linux下如何获取机器的出口IP

这里机器都可以访问到外网情况下,否则的话获取出口IP就没有什么意义了。

方式一
curl cip.cc
IP   : 111.xxx.xxx.89
地址  : 中国  北京
运营商 : 联通数据二 : 北京市 | 联通数据三   : 中国北京北京 | 联通URL    : http://www.cip.cc/111.xxx.xxx.89

可以看到该请求方式获取到的信息非常详细,包括出口ip、包括运营商、地址等信息

如果仅仅获取IP,可以使用(不过尝试的时候,会出现卡顿)

curl ip.cip.cc

可以登录cip.cc网站查看

方式二

curl ifconfig.io

该请求会直接将出口ip返回

111.xxx.xxx.89

可以登录ifconfig.io查看一些常用的curl命令

方式三

借助类似aws的服务

curl http://checkip.amazonaws.com

该请求也是直接将出口ip返回

111.xxx.xxx.89
java代码
@Slf4j
public class IpUtils {public static final String AWS_COM_URL = "http://checkip.amazonaws.com";// 该方式极有可能出现卡顿,不建议使用public static final String CIP_CC_URL = "http://ip.cip.cc";public static final String IFCONFIG_IO_URL = "http://ifconfig.io/ip";/*** 直接获取本机的ip*/public static void getLocalIp() {try {InetAddress localHost = InetAddress.getLocalHost();String localIp = localHost.getHostAddress();log.info("localIp:{}", localIp);} catch (Exception e) {log.error("getLocalIp error, msg:{}", e.getMessage(), e);}}/*** 通过访问一些外部服务,获取到本机的出口Ip* @throws MalformedURLException*/public static void getExternalIp(String urlStr) throws MalformedURLException {if (StringUtils.isEmpty(urlStr)) {urlStr = AWS_COM_URL;}URL url = new URL(urlStr);try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(url.openStream()))) {String ip = bufferedReader.readLine();log.info("externalIp:{}", ip);} catch (IOException e) {log.error("get ExternalIp error, msg:{}", e.getMessage(), e);}}public static void main(String[] args) throws MalformedURLException {IpUtils.getLocalIp();IpUtils.getExternalIp(IpUtils.AWS_COM_URL);IpUtils.getExternalIp(IpUtils.CIP_CC_URL);IpUtils.getExternalIp(IpUtils.IFCONFIG_IO_URL);}
}

Linux服务器如何获取出口ip相关推荐

  1. linux 服务器查看公网出口ip

    linux 服务器查看公网出口ip curl icanhazip.com

  2. linux服务器IP伪造,Linux服务器间同网段IP伪装端口映射

    Linux服务器间同网段IP传伪装端口映射 主机(网关)ip:192.168.4.18 目标主机 ip :192.168.4.25 映射端口: 21 echo "1" > / ...

  3. Centos 服务器 获取出口ip地址

    由于和第三方接口调试,第三方添加了白名单,需要获取服务器的出口ip 命令如下 curl ifconfig.io

  4. linux服务器添加双路由,Linux服务器双网卡双IP刷路由

    Linux系统双网卡双IP配置分为两个部分, 一.访问服务器方向的路由. 二.服务器内部去访问其他网站的路由. 对于访问服务器方向的路由,通过在开机自启的脚本中写入下面内容,可以写在/etc/rc.d ...

  5. 如何向 Linux 服务器添加额外的 IP 地址

    大多数 Linux 服务器,包括虚拟专用服务器,都会附带一个公共 IP 地址供您连接.但是,用于承载连接的物理网卡可以支持任意数量的 IP 地址.以下是向服务器添加新服务器的方法. 为什么使用另一个 ...

  6. Linux下编程获取本地IP地址的常见方法

    代码编译运行平台:Linux 64bits+g++(-m64),-m64表示生成64bits的程序. 在进行Linux网络编程时,经常用到本机IP地址.本文罗列一下常见方法,以备不时之需. 获取本机I ...

  7. Linux服务器绑定mac与ip,Linux实现ip和mac绑定

    在有些系统中有这样的需求,希望内部网中的某几个IP地址连接互联网,而又希望这些IP地址不被非法用户盗用.可以通过下面的解决办法实现: 首先使用ipchains或者iptables来设定只允许合法的IP ...

  8. Linux服务器网卡信息获取以及带宽测试

    Linux下测试带宽流量信息 查找了很多文章都使用的工具进行信息查看和获取,好巧不巧公司的服务器是内网环境,yum wget都获取不到,想本地下载上传后安装发现还需要下载很多依赖包一同安装. 懒癌晚期 ...

  9. 在Linux服务器下查看公网IP地址

    在接口对接的时候,很多公司需要对方提供公网ip地址来配置对应的IP白名单.那么在Linux环境下怎么查看对应服务器的公网IP呢,具体操作如下: 可以执行如下命令: curl ifconfig.me 在 ...

最新文章

  1. 找出1个小时前更新的文件并进行拷贝
  2. 多条记录取最近日期的一条_Excel VBA:基于员工打卡记录的考勤数据统计
  3. Oracle ORA-600 [2662] 错误
  4. 解压文件出错解决方法(invalid compressed data--format violated)
  5. java面向对象(类与对象,局部变量成员变量,基本类型和引用类型作为参数传递)...
  6. linux内核杂记(11)-进程调度(6)
  7. maven aspectj_使用Spring AspectJ和Maven进行面向方面的编程
  8. linux ulimit调优
  9. hadoop.2.6.0安装hive.1.2.2
  10. 代理ip网站的ip怎么来的_妙用代理IP,防止IP被封
  11. 程序员不满薪资拒绝offer,HR怒称:估计你一辈子就是个程序员
  12. sqlmap tamper mysql_Sqlmap过waf命令tamper各脚本的适用环境
  13. vue-cli3创建项目时报错
  14. C盘清理和简单的批处理操作
  15. MapGIS考试大纲
  16. 软件杯参赛【学习记录】
  17. SVN检出项目到本地
  18. MATLAB 符号函数变量替换为常量
  19. 为什么正定矩阵等于转置_正定矩阵
  20. [填坑] 解决 Ubuntu ssh 登录自动休眠问题

热门文章

  1. 程序员毕业4年想在北京买房被网友嘲讽,晒出存款,网友:很励志
  2. 关于C中的Int类型到底是几个字节。
  3. 2021年电工(中级)模拟考试题库及电工(中级)模拟考试系统
  4. 补习系列-SpringBoot 整合Shiro 一指禅
  5. 【精辟】为人处事的学问
  6. RK3399Pro/AR9201对比
  7. 离子交换技术除氟在氟化工行业的应用
  8. 360删除、修改注册表问题
  9. 关于计算机英语作文2000字,英语作文 (2000字).doc
  10. C. Numbers on Whiteboard(思维+规律)