现在 MJJ 都很关注上网体验,除了中转服务器还有落地服务器,甚至人手都部署自己的专属探针。
但是问题来了!你的探针想监测落地服务器网络延迟,总不能直接和测试国内服务器吧?
那延迟肯定高得吓人,而且和使用场景也不符合。
- 为什么不用 ICMP?
- 很多地方都封了,测不出来。
- 为什么用 TCP?
- TCP 是真实协议,就像你实际使用时一样。
- TCP 连接时间更准确,不会“骗人”。
解决方案:让中转服务器“露脸”
我们需要在中转服务器上部署 TCP Ping 服务,让它“露个脸”:
- ✅ 真实测试:从任何地方都能测试到中转服务器的网络质量
- ✅ 选最优中转:哪个中转服务器延迟最低,一目了然
- ✅ 实时监控:中转服务器网络状态随时掌握
- ✅ 优化体验:根据数据调整配置,用户体验 up up up
脚本功能亮点 🚀
核心功能
- 一键搞定:安装、卸载、管理,一条命令解决
- 开机自启:重启后自动运行,不用手动启动
- 三种模式:
ping、echo、timestamp,想怎么测就怎么测 - 精确数据:RTT、连接时间
- 自动重启:服务挂了自动恢复,稳如老狗
技术特点 🛠️
- 自动装依赖:Python3、iproute2,缺啥装啥
- 彩色日志:绿色成功、红色错误,一目了然
- 自定义端口:9966 不够用?随便改
一键运行脚本
# 一键安装并启动(默认端口 9966)bash <(curl -s https://raw.githubusercontent.com/lidebyte/bashshell/refs/heads/main/tcp_ping.sh) install# 一键安装到自定义端口bash <(curl -s https://raw.githubusercontent.com/lidebyte/bashshell/refs/heads/main/tcp_ping.sh) install 0.0.0.0 8888# 一键测试bash <(curl -s https://raw.githubusercontent.com/lidebyte/bashshell/refs/heads/main/tcp_ping.sh) test 127.0.0.1 9966就是这么简单!一条命令搞定所有事情。常用命令
服务管理
查看状态
./tcp_ping.sh status
启动 / 停止 / 重启
./tcp_ping.sh start
./tcp_ping.sh stop
./tcp_ping.sh restart
查看日志
./tcp_ping.sh logs
卸载(一键清理)
./tcp_ping.sh uninstall
测试参数
基本语法
./tcp_ping.sh test <IP> <端口> [选项]
参数说明
-c, --count 测试次数 (默认 10 次)
-i, --interval 间隔秒数 (默认 1 秒)
-t, --timeout 超时秒数 (默认 5 秒)
--type 测试类型 (ping/echo/timestamp)
--data 发送数据 (echo 模式用)
⸻
三种测试模式
Ping 模式(默认)
• 测延迟,返回时间戳
• 最常用,数据最准确
Echo 模式
• 发送自定义数据
• 测试数据传输性能
Timestamp 模式
• 获取服务器时间
• 时间同步测试
💡 实际应用:配合探针食用
⸻
防火墙配置 ⚠️
部署前一定要开防火墙!不然连不上别怪我!
开放端口 9966
Ubuntu/Debian
ufw allow 9966/tcp
或者 iptables
iptables -A INPUT -p tcp --dport 9966 -j ACCEPT
限制访问(推荐)
只允许特定 IP 访问
ufw allow from 192.168.1.0/24 to any port 9966
或者 iptables
iptables -A INPUT -p tcp --dport 9966 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 9966 -j DROP
自定义端口
如果用其他端口,记得改防火墙
ufw allow 8888/tcp
⸻
安全建议 🔒
• 限制访问:别让所有人都能连,容易被扫
• 使用非标准端口:9966 不够安全?换个端口
• 监控日志:定期看看谁在连你的服务器
⸻
评论 (0)