跟踪路由的PHP脚本?
我有一个在GoDaddy共享linux服务器上运行PHP的网站。我需要确定用户是否连接到公司VPN。如果我只做$\u SERVER['REMOTE\u ADDR'],它会给我客户端的IP地址。然而,如果我能用tracert更深入地挖掘,第二个跃点将显示为公司的IP地址跟踪路由的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
是否可以使用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你的问题解决了吗?你能接受正确的答案吗?