# traceroute **Repository Path**: witersen/traceroute ## Basic Information - **Project Name**: traceroute - **Description**: 使用php手动发包实现的traceroute - **Primary Language**: PHP - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-22 - **Last Updated**: 2022-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # traceroute 1、使用PHP手动构造报文实现的traceroute程序 2、为早期整理的项目 只实现了ICMP方式 至于UDP和TCP方式未实现 4、目前支持CentOS 8、CentOS7系统 PHP版本要求为 PHP 7 >= 7.3.0, PHP 8 3、由于引入了阿里云IP地址地理位置接口 所以探测过程中的IP地址会自动解析地理位置 4、演示地址:https://traceroute.web.witersen.com 5、以下参数可调整 已写好配置 是否解析节点的地理位置 默认不解析 解析地址对应的主机名 默认不解析 初始ttl的值 默认为1 等待超时时间 默认为1ms 初始的最大ttl值 默认为30 发包的睡眠时间即间隔时间 默认为0 每个点发送探测包的数量 默认为10 ## 一 、系统部署 - CentOS8.2裸机 ### (1)安装 PHP 7.4 及依赖 ``` yum install -y zip unzip wget #压缩与解压缩和下载工具 yum module list php #查看可用的PHP模块 yum module -y enable php:7.4 #启用PHP7.4,默认为启用PHP7.2 yum install -y php #安装PHP7.4 yum install -y php-process #pentl扩展和posix扩展 yum install -y php-json #json相关函数 ``` ### (2)安装 Web 服务器 ``` yum install -y httpd #安装Apache systemctl start httpd #开启Apache systemctl enable httpd #将Apache加入开机自启动 systemctl restart php-fpm #重启php-fpm ``` ### (3)下载并解压部署程序 - 在控制台 执行以下命令 ``` cd /var/www/html wget xxx unzip xxx.zip ``` ### (4)启动后台程序 - 进入程序代码的server目录,在命令行下以root用户身份执行以下命令 ``` cd server php svnadmind.php start ``` ## 二 、系统部署 - 基于CentOS的宝塔面板 ### (1)安装 PHP 7.4 ### (2)解禁 PHP7.4 禁用的函数 - 解禁PHP7.4中 pcntl_signal、pcntl_fork、pcntl_wait、shell_exec 四个被宝塔面板默认禁用的函数 ### (4)将PHP的命令行版本更换至安装的PHP7.4 ### (5)下载并解压部署程序 - 在网站目录切换到宝塔控制台 执行以下命令 ``` wget xxx unzip xxx.zip ``` ### (6)启动后台程序 - 进入程序代码的server目录,在宝塔控制台下以root用户身份执行以下命令 ``` cd server php svnadmind.php start ```