一次工商银行 ICBC 业务访问异常的抓包分析:公网出口 IP 变化后的 A/B 验证
2026-09-07傍晚,公司出口网络上的用户反馈:互联网访问整体正常,但工商银行相关业务无法访问。本案例记录从现象收集、分层排查到最终定位公网出口IP 变化影响的全过程,供网络运维参考。
一、问题现象
- 互联网业务整体正常:网页浏览、视频、微信等业务不受影响
- 工商银行网上银行(https://mybs.icbc.com.cn)无法打开
- 工行手机银行 App 无法登录
- 其他银行业务(测试了建设银行、招商银行、农业银行等)均正常
图1:客户端到 ICBC 的 TCP 握手全部超时(pcap截图)
(注:客户端源 IP:10.10.10.189,以下抓包数据均来自该终端。)
二、排查定位
2.1 分层连通性测试
按”先基础后业务”的分层思路逐项测试:
| 测试项 | 命令/方法 | 结果 |
|---|---|---|
| 出口公网 IP | curl ip.sb | 获取到公网 IP 36.20.103.xxx |
| DNS 解析 | nslookup mybs.icbc.com.cn | 正常解析到 ICBC CDN 地址 |
| Ping | ping mybs.icbc.com.cn | 正常,4/4 收包,丢包 0% |
| TCP 443 端口连接 | telnet mybs.icbc.com.cn 443 | 超时 |
| Traceroute 路由跟踪 | tracert mybs.icbc.com.cn | 到达 ICBC 侧节点后中断 |
| HTTPS 访问 | curl -v https://mybs.icbc.com.cn | TLS 握手失败 |
| 服务器侧测试 | 服务器本机 curl https://mybs.icbc.com.cn | 超时 |
| 浏览器测试 | https://mybs.icbc.com.cn | 无法打开 |
关键发现:Ping 和 DNS 都正常,但 TCP 443端口连接超时——问题定位在传输层到应用层之间。
2.2 pcap 抓包分析
在客户端 10.10.10.189 上使用 Wireshark 抓包,观察 TCP 层行为:
客户端 10.10.10.189 → mybs.icbc.com.cn:443 [SYN] Seq=0 Win=64240 Len=0 MSS=1460
(无响应)
客户端 10.10.10.189 → mybs.icbc.com.cn:443 [SYN] Seq=0(TCP Retransmission 1)
(无响应)
客户端 10.10.10.189 → mybs.icbc.com.cn:443 [SYN] Seq=0(TCP Retransmission 2)
(无响应)
图2:PPPoE 拨号前的 pcap 抓包(客户端到 ICBC无任何响应)
(注:抓包工具tcpdump/wireshark,在客户端网关出口侧同步抓包,确认数据包已正常发出。)
TCP SYN 请求发出后没有任何响应(既没有 SYN-ACK 也没有RST),说明数据包在到达 ICBC 服务器前被丢弃,或 ICBC 侧主动丢弃。
2.3 调整出口方向复测
注意到公司出口有多个公网 IP(PPPoE 拨号获取),通过 PPPoE断线重拨更换出口 IP:
- PPPoE 断线重拨后,公网出口 IP 从 36.20.103.xxx 变化为新 IP
- 重拨后立即测试:mybs.icbc.com.cn 恢复访问
(注:出口 IP 属公网敏感信息,具体地址已脱敏。)
图3:PPPoE 断线重拨后立即恢复(同客户端 pcap)
三、解决方案
由于 ICBC 对原出口 IP 返回异常(或丢弃),通过 PPPoE 重拨更换公网出口IP 规避:
- 登录出口路由器管理界面
- 断开 PPPoE 拨号连接
- 重新拨号(获取新的出口 IP)
- 验证业务恢复
四、验证结果
4.1 重拨后测试
图4:PPPoE 重拨后 ICBC业务恢复正常(浏览器截图)
重拨后,工商银行网上银行、手机银行 App 均恢复正常访问,curl测试返回正常 TLS 握手和 HTTP 200。
4.2 A/B 对比验证
对同一客户端,在更换出口 IP 前后分别抓包对比:
=== 更换出口 IP 前 ===
客户端 → mybs.icbc.com.cn:443 [SYN] → (无响应,持续约 19 秒无任何回包)
=== 更换出口 IP 后 ===
客户端 → mybs.icbc.com.cn:443 [SYN] → [SYN, ACK] → [ACK]
TCP 握手完成,耗时约 8.7ms
(注:tcpdump 同步抓包记录。)
五、故障机制分析
综合 A/B 测试结果:
- 更换出口 IP前后,客户端、内网、运营商线路均未改变
- 仅改变出口公网 IP,ICBC 业务即从不可达变为可达
- 结论:ICBC 前置安全体系(如 WAF/DDoS防护或风控系统)对原出口 IP触发了访问控制策略(如临时封禁、黑名单等)
可能触发原因:原出口 IP 之前的异常行为(如共享 IP被其他用户滥用、扫描触发风控、IP 信誉库标记等),ICBC 侧安全系统对该 IP拒绝服务。
图5:ICBC 前端节点返回的 403 错误页
(注:403 页面显示 ICBC 使用某云厂商前置安全体系,Node information:PS-WNZ-01yfm35,Request-Id 带时间戳。)
六、后续措施
- 若再次出现单点业务不可达(其他业务正常),优先做 A/B对照测试(更换出口 IP)
- 与运营商沟通出口 IP 信誉问题,必要时申请更换固定出口 IP
- 考虑配置多出口冗余,业务级容灾
七、总结
| 对比项 | 更换出口 IP 前 | 更换出口 IP 后 |
|---|---|---|
| mybs.icbc.com.cn TCP 握手 | 超时(约 19 秒无响应) | 正常(8.7ms) |
| 网上银行网页 | 无法打开 | 正常 |
| 手机银行 App | 无法登录 | 正常 |
| 其他业务 | 正常 | 正常 |
本次故障的定位思路:分层测试(ICMP/DNS 正常 → TCP 超时)缩小范围 →抓包确认无响应 → A/B 更换出口 IP 验证 → 确认 ICBC 前置安全体系源 IP访问控制。
附录
附录 A:A/B 抓包关键指标对比
| 指标 | A(原出口 IP) | B(新出口 IP) |
|---|---|---|
| TCP SYN 响应 | 无 | SYN+ACK |
| TLS 握手 | 失败 | 成功 |
| HTTP 响应 | 无 | 200 OK |
附录 B:ICBC 403 响应示例
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>xxx</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
附录 C:参考资料
- 工商银行官网:https://www.icbc.com.cn
- 抓包工具:Wireshark / tcpdump