跟踪路由的PHP脚本?

跟踪路由的PHP脚本?,php,vpn,traceroute,Php,Vpn,Traceroute,我有一个在GoDaddy共享linux服务器上运行PHP的网站。我需要确定用户是否连接到公司VPN。如果我只做$\u SERVER['REMOTE\u ADDR'],它会给我客户端的IP地址。然而,如果我能用tracert更深入地挖掘,第二个跃点将显示为公司的IP地址 是否可以使用PHP从网页执行跟踪路由,以确定用户是否连接到公司的拆分隧道VPN 您可以使用PHP在服务器上运行traceroute命令 <?php $output = shell_exec("/usr/sbin/tracer

我有一个在GoDaddy共享linux服务器上运行PHP的网站。我需要确定用户是否连接到公司VPN。如果我只做$\u SERVER['REMOTE\u ADDR'],它会给我客户端的IP地址。然而,如果我能用tracert更深入地挖掘,第二个跃点将显示为公司的IP地址


是否可以使用PHP从网页执行跟踪路由,以确定用户是否连接到公司的拆分隧道VPN

您可以使用PHP在服务器上运行traceroute命令

<?php
$output = shell_exec("/usr/sbin/traceroute target");
echo "<pre>$output</pre>";
?>
然后在$output中解析输出


来源:

您可以使用PHP在服务器上运行traceroute命令

<?php
$output = shell_exec("/usr/sbin/traceroute target");
echo "<pre>$output</pre>";
?>
然后在$output中解析输出

来源:

在PHP中创建跟踪路由程序

如果网站崩溃,以下是jist:

jthijssen@tarabas:~/traceroute$ sudo php traceroute.php
Tracerouting to destination: 199.6.1.164
  1   192.168.1.1      0.004 ms  192.168.1.1
  2   *                0.005 ms  static.kpn.net
  3   (timeout)
  4   139.156.113.141  0.005 ms  nl-asd-dc2-ias-csg01-ge-3-2-0-kpn.net
  5   195.190.227.221  0.005 ms  asd2-rou-1022.nl.euroringen.net
  6   134.222.229.105  0.005 ms  asd2-rou-1001.NL.eurorings.net
  7   134.222.97.186   0.007 ms  kpn-1402.xe-0-0-0.jun1.galilei.network.bit.nl
  8   213.154.236.75   0.012 ms  213.154.236.75
  9   199.6.1.164      0.012 ms  pub3.kernel.org
这是到www.kernel.org的跟踪路由。我删除了第二个跃点,因为这是我所在位置的IP。第三跳返回超时。可能那里的站点没有返回ICMP数据包以供使用

上述代码可以在github上找到:

用PHP创建跟踪路由程序

如果网站崩溃,以下是jist:

jthijssen@tarabas:~/traceroute$ sudo php traceroute.php
Tracerouting to destination: 199.6.1.164
  1   192.168.1.1      0.004 ms  192.168.1.1
  2   *                0.005 ms  static.kpn.net
  3   (timeout)
  4   139.156.113.141  0.005 ms  nl-asd-dc2-ias-csg01-ge-3-2-0-kpn.net
  5   195.190.227.221  0.005 ms  asd2-rou-1022.nl.euroringen.net
  6   134.222.229.105  0.005 ms  asd2-rou-1001.NL.eurorings.net
  7   134.222.97.186   0.007 ms  kpn-1402.xe-0-0-0.jun1.galilei.network.bit.nl
  8   213.154.236.75   0.012 ms  213.154.236.75
  9   199.6.1.164      0.012 ms  pub3.kernel.org
这是到www.kernel.org的跟踪路由。我删除了第二个跃点,因为这是我所在位置的IP。第三跳返回超时。可能那里的站点没有返回ICMP数据包以供使用


以上代码可以在github上找到:

谢谢您的回复。我可以运行$output=shell_exec'ls-lart';如手册所示。但是,当我尝试使用shell_exec跟踪路由或ping时,不会返回任何内容。看起来像是权限问题-有没有办法克服它?通过shell_exec运行whoami命令,以了解有关您作为什么用户登录的更多信息。使用哪个traceroute和哪个ping通过shell_exec来确保您指向正确的位置。然后使用ls-l/usr/sbin/traceroute检查这些文件的权限。您可能希望在调用traceroute之前使用sudo。我们需要知道你的linux版本。因此,请尝试使用uname-a命令。尝试使用终端登录服务器,看看是否可以运行这些命令。谢谢您的回复。我可以运行$output=shell_exec'ls-lart';如手册所示。但是,当我尝试使用shell_exec跟踪路由或ping时,不会返回任何内容。看起来像是权限问题-有没有办法克服它?通过shell_exec运行whoami命令,以了解有关您作为什么用户登录的更多信息。使用哪个traceroute和哪个ping通过shell_exec来确保您指向正确的位置。然后使用ls-l/usr/sbin/traceroute检查这些文件的权限。您可能希望在调用traceroute之前使用sudo。我们需要知道你的linux版本。因此,请尝试使用uname-a命令。尝试使用终端登录服务器,看看是否可以运行这些命令。hello@user1061001问题解决了吗?你能接受正确的答案吗?你好@user1061001你的问题解决了吗?你能接受正确的答案吗?