内网ip只能用于内部通信,而不能与其它网络互连。在tcp/ip协议中,专门保留了三个网段作为私有网段地址。分别如下:

10.0.0.0/8: 10.0.0.0~10.255.255.255
172.16.0.0/12: 172.16.0.0~172.31.255.255
192.168.0.0/16: 192.168.0.0~192.168.255.255

可以通过ifconfig命令查看本机的内网的ip地址,如我自己的是:

[root@iz2ze9ryeo103b85y5iy2wz ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 172.17.65.195  netmask 255.255.240.0  broadcast 172.17.79.255ether 00:16:3e:06:72:82  txqueuelen 1000  (Ethernet)RX packets 3185083  bytes 592616315 (565.1 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 2012465  bytes 740978713 (706.6 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0loop  txqueuelen 1000  (Local Loopback)RX packets 12524  bytes 3744309 (3.5 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 12524  bytes 3744309 (3.5 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

上面的172.17.65.195显然在私有网段区间内,也就是我这台服务器的内网ip地址。那么如何通过php获取这个地址呢?可通过如下代码实现:

function getLocalIp()
{exec("ifconfig", $out, $stats);if (!empty($out)) {foreach ($out as $k => $row) {if (isset($row) && (strstr($row, ' 10.') || strstr($row, ' 172.') || strstr($row, ':10.') || strstr($row, ':172.'))) {$temp = ltrim($row);break;}}}$data = explode(' ', $temp);$pos = strpos($data[1], ':');$ip = $pos ? substr($data[1], $pos+1) : $data[1];return $ip;
}

显然在代码中实际上还是通过执行ifconfig命令获取到的。

php获取本机内网ip地址相关推荐

  1. python --获取内网IP地址

    方法一 import socketdef get_local_ip_address():ip_address = ''try:# 获取本机主机名hostname = socket.gethostnam ...

  2. Android 获取局域网内网IP地址

    Android 获取局域网内网IP地址 废话 上代码 完事 废话 拿局域网IP一般用在tcp通讯或udp通讯上,下次再整理下这类通讯的框架 上代码 /*** 网络工具* 获得局域网IP地址* @aut ...

  3. 网吧局域网里的设置外网IP地址、设置内网IP地址、限制内网速度和路由器共享...

    现在啊,网吧的需求越来越高,同时在经济比较充裕的情况下,作为网吧的老板可能希望打造全千兆的网吧,让每个进入网吧的人都能充分体验高速的感觉,当然更重要的是在同行竞争中处于上游,特别是对网络游戏爱好者的吸 ...

  4. 局域网固定内网IP地址的方法(亲测有效)

    公司有十来台电脑,想要做文件共享,但是碍于内网IP经常变动共享文件很不方便. 网上查了一些资料,局域网中的电脑ip若不是设置固定的话,一般都是动态获取的ip,若是需要固定ip,那要如何设置呢? 经过本 ...

  5. 获取本机的真实IP地址

    Code: import java.net.InetAddress; import java.net.UnknownHostException; /** * 获取本机的真实IP地址.<br> ...

  6. 如何查询本机的内网IP地址

    查询本机的内网IP有两种方法(在网上:如百度网页中显示的IP是外网IP,与内网IP不同) 第一种:cmd法 (1)win+R快捷键,打开cmd,输入ipconfig/all,点击回车, 即可得到ip地 ...

  7. iOS 如何获取手机外网IP地址(附内网IP地址)

    查找了一些方法,最初以为拿到的就是手机对外的公网地址,其实只是本地IP地址.下面把获取手机内外网IP地址的方法总结下: 一.获取手机本地静态IP地址:(局域网) 方法1: 首先导入头文件: //IP地 ...

  8. 易语言 取dns服务器,易语言自动修改内网IP地址和DNS

    前段时间调试网络,在UBNT和路由器之间反复修改内网IP,比较麻烦.所以想能不能通过程序来实现一键修改呢?于是乎在精易模块里找到了这个命令:系统_修改IP地址和网关和子网掩码 (),但是通过测试,发现 ...

  9. java获取f5服务器真实ip_通过F5获取服务器真实内网IP

    渗透测试过程中,经常会遇到目标服务器使用F5 LTM做负载均衡. 如果能获取到目标服务器的真实IP地址,会给后续渗透带来一定便利. 本文既是最近渗透遇到的一点点经验分享. F5修改cookie机制 F ...

最新文章

  1. 树莓派:django,uwsgi,nginx安装与设置
  2. discuz forums.inc.php,【Discuz】积分机制实现解析
  3. 通过Flume简单实现Kafka与Hive对接(Json格式)
  4. FlatBuffers要点
  5. Javascript 链式运动框架——逐行分析代码,让你轻松了解运动的原理
  6. Go语言微服务开发框架:Go chassis
  7. 【李宏毅机器学习】Introduction of ELMO、BERT、GPT(p25) 学习笔记
  8. java servlet 3.1,Servlet 3.1规范学习小记
  9. MySQL字符串的拼接方法
  10. 通达信完全加密指标破解 通达信完全加密公式源码提取 tni tne tn6还原源文件
  11. 局域网QQ助手 扫描在线QQ号
  12. 华为认证HCDA免费公开课课表及其交流群公告
  13. 圣人、仁人、君子、善人、士、小人之名简释
  14. 细胞分裂(洛谷 P1069)
  15. 计算机考试金麦圈编号教程,计算机二级:数据处理.docx
  16. ESP32学习笔记(18)——光强度GY-30(BH1750)使用
  17. Discord教程:Discord账号注册、Discord多账号登录和管理
  18. python +selenium 实现教学质量评价自动化
  19. 胭脂茉莉点评推荐上海大学法院李本教授诗集《秋月曲》诗歌6首
  20. 手工玫瑰花_立体折纸玫瑰花的手工玫瑰花折纸大全教程

热门文章

  1. 记一次生产数据库事故
  2. 服装管理系统c语言(大一)
  3. Ubuntu安装搜狗输入法后修改默认英文输入状态的方法
  4. 2D-X光图像重建3D-CT图像项目总结—后续补充
  5. #VCS# 关于VCS 编译选项 《-v 、 -y 、+libext+》 的理解
  6. 基于单片机的测量心率脉搏健康系统设计与
  7. Tornado实现多线程、多进程HTTP服务
  8. 最新双色球彩万宝缩水使用方法大全
  9. 从零搭建开发脚手架 Spring Boot集成Mybatis-plus之一
  10. OA协同办公系统 公共事务设置