壮壮博客

热爱可抵岁月漫长

一个热爱技术、喜欢折腾的开发者。 记录生活,分享技术,探索未知。

正在跳转...
输入关键词开始搜索
Google FCM 连接失败排查

Google FCM 连接失败排查

手机部分 APP 无法加载或收不到推送通知,定位为 Google FCM 连接失败。通过拨号 *#*#426#*#* 查看状态,使用 ADB 检测 DNS、网络、端口均无异常;tcpdump 抓包发现无出站流量,排查 iptables 规则时注意到 zte_fw_gms 链对 UID 10343、10249 等执行 DROP,阻断了 GMS 服务。将对应规则改为 ACCEPT 后 FCM 恢复连接。直接执行 iptables -F 可临时解决但重启失效,作者编写了手动清理脚本实现持久化处理。

Shell iptables KernelSU
7月 ZHUANGZHUANG
使用 gopacket 解析 pcap 文件

使用 gopacket 解析 pcap 文件

本文介绍使用Go语言的gopacket库解析网络数据包。需先安装libpcap依赖并开启CGO,然后读取pcap文件,遍历数据包。通过自定义Packet结构体解析时间戳、源/目的MAC地址、IP地址和端口号,并以自定义格式输出结果。

tcpdump go gopacket
9月 ZHUANGZHUANG
用 ssh 和 cat 实现文件传输

用 ssh 和 cat 实现文件传输

文章介绍了通过SSH管道命令在不同主机之间复制文件的方法,包括将本地文件复制到远程主机、将远程文件复制到本地、在两台远程主机之间复制文件,以及扩展用法如备份本地磁盘到远程主机和从远程主机恢复本地磁盘。

ssh tar dd
9月 ZHUANGZHUANG
通过 HTTP 服务器同步时钟

通过 HTTP 服务器同步时钟

当NTP服务不可用或受限时,可通过HTTP服务器响应头中的Date字段同步时钟。使用curl获取响应头,awk提取日期,date -s命令设置本地时间。该方法依赖服务器时间准确性,需root权限,适合临时校准,不建议长期使用。

Linux Shell awk
8月 ZHUANGZHUANG
Debian/Ubuntu 开启Full Cone NAT支持

Debian/Ubuntu 开启Full Cone NAT支持

本文介绍在Linux系统上安装全锥形NAT的步骤:备份iptables规则,安装依赖软件包如cmake和gcc,克隆netfilter-full-cone-nat和iptables仓库,编译安装模块和iptables,恢复规则,添加FULLCONENAT规则,配置开机自启。

iptables make Surge
8月 ZHUANGZHUANG
Shell 脚本 while read 与 ssh 组合使用

Shell 脚本 while read 与 ssh 组合使用

在bash脚本中,while read循环搭配ssh使用时,循环仅执行一次即退出。原因是:while循环通过重定向将文件内容读入缓冲区作为标准输入,read从中逐行读取;而ssh默认也从标准输入读取数据,消耗了缓冲区剩余内容,导致后续read无输入可读,循环终止。解决方法有三:一是阻断ssh读取标准输入,如使用ssh -n选项或重定向/dev/null;二是让read从文件描述符读取,避免与stdin冲突;三是改用for循环遍历文件内容,避免标准输入竞争问题。

Linux Shell bash
4月 ZHUANGZHUANG
Oracle VPS 通过 VNC 进入单用户模式

Oracle VPS 通过 VNC 进入单用户模式

用户误卸载Ubuntu默认Python3导致网络故障,通过Oracle Cloud SSH转发VNC连接,进入单用户模式修复,添加默认网关和DNS解析,重装Python3及相关依赖,恢复系统正常。

Linux VNC ssh
6月 ZHUANGZHUANG
编译 OpenWrt 固件

编译 OpenWrt 固件

本文详细介绍了OpenWrt系统在x86_64平台的完整编译安装流程,包括创建用户、安装编译依赖、克隆OpenWrt仓库并集成OpenClash和ZeroTier插件,通过menuconfig配置系统参数、修改默认IP地址,设置编译选项后执行固件编译,最后通过dd命令安装系统并完成初始配置。整个过程涵盖环境搭建、插件集成、固件编译到系统部署的完整链路。

Linux OpenWRT make dd
4月 ZHUANGZHUANG