【问题标题】:How to Extract Public IP Address from Shell and Print - using PHP?如何从 Shell 中提取公共 IP 地址并打印 - 使用 PHP?
【发布时间】:2018-04-24 08:58:42
【问题描述】:

注意:我只在本地网络中工作

我正在使用 Jio Internet 进行该场景。所以我有一个IPV6公共IP。我可以看到公共 ipv6 IP 在 CMD "ipconfig" 或 "ipconfig /all"

上可见

在“无线 LAN 适配器 Wi-Fi:”下 我可以看到如下两个字段: IPV6 地址临时 IPV6 地址

当我在 Google 或“whatismyipadddress”上搜索“myip”时,我得到了临时 IPV6 地址

现在,我如何从 Shell 中提取该数据(即临时 IPV6 地址)并使用 PHP 打印?

注意:当我单击网页上的按钮时,我将使用 PHP 获取上述信息。 我应该检索正在访问我的服务器的客户端的此信息,并且我将在我的项目中创建包含更多数据的日志。

【问题讨论】:

  • 对方主机的IP地址在你从对方主机收到的IP包的源地址字段中。那将是临时地址,用于为发送主机提供隐私。搜索 IPv6 隐私扩展和随机寻址。
  • 你在问一些你已经在你自己的机器上得到答案的东西。发送主机的 IPv6 地址位于您从主机收到的 IP 数据包的源地址字段中。你可能有一个X-Y Problem

标签: php ipv6 ipv4


【解决方案1】:

假设它的 Linux 环境。试试这个。

<?php
   $ip = shell_exec("/sbin/ifconfig  | grep 'inet:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'");
   echo $ip;
?>

从 CLI 运行此文件 $php ip.php

或者你可以先创建一个 bash 文件。

#!/bin/bash

/sbin/ifconfig | grep 'inet:' | grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'

然后

<?php

$ip = shell_exec('/path/to/shell/script');
print $ip;

?>

PHP 的 CLI 版本可以访问您的 PATH 环境变量。

对于窗户。试试这个

<?php
exec("ipconfig.exe",$output_array,$return_val);
echo "Returned $return_val <br><pre>";
foreach ($output_array as $o)
{
echo "$o <br>";
}
echo "</pre>";
?>


<?php
echo exec('ipconfig');
$info = system('ipconfig /all');
echo $info;
?>

看看哪一个适合你的场景 ipconfig 或 ipconfig /all

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-03
    • 2016-02-18
    • 2012-05-25
    • 2014-05-31
    • 2016-12-15
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    相关资源
    最近更新 更多