tcpdump 抓到 icmp 包,但是抓不到 tcp 包??

网络环境

  1. windows 11 作为宿主机,wsl 作为开发环境;

问题

  1. 在 wsl 使用了 claude code 进行 vibe coding,但是发现 claude code 网络 api.minimaxi.com 请求不出

目标

  1. 解决网络问题,让 claude code 可以正常请求。

结果

【顺利解决】

根本原因:因为本地的 env 配置 http_proxy(192.168.3.xxx),导致 claude 的请求走了 http_proxy 的链路。

主要内容

  1. 分析这个网络问题,记录解决步骤,

1. 逐层测试 TCP/IP 协议栈的可达性

IP 层

  1. ping api.minimaxi.com
bash 复制代码
$ ping api.minimaxi.com
PING lb-ali.minimaxi.com (8.130.45.254) 56(84) bytes of data.
64 bytes from 8.130.45.254 (8.130.45.254): icmp_seq=1 ttl=88 time=45.7 ms
64 bytes from 8.130.45.254 (8.130.45.254): icmp_seq=2 ttl=88 time=45.7 ms
64 bytes from 8.130.45.254 (8.130.45.254): icmp_seq=3 ttl=88 time=44.5 ms

TCP 层

bash 复制代码
$ dig +short api.minimaxi.com
lb-ali.minimaxi.com.
8.130.49.194 # 目标主机的 ip
8.130.45.254

$ sudo tcpdump -i any 'host 8.130.45.254 or host 8.130.49.194' -v

# 新开终端
$ export CLAUDE_ENDPOINT="https://api.minimaxi.com/anthropic/v1/messages"
$ curl -X POST "$CLAUDE_ENDPOINT" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-3-haiku-20240307",
    "max_tokens": 100,
    "messages": [
      {"role": "user", "content": "Hello, Claude"}
    ]
  }'
{"type":"error","error":{"type":"authentication_error","message":"login fail: Please carry the API secret key in the 'Authorization' field of the request header"},"request_id":"055df91249b0f5d119ff78a51be71488"}

问题点:tcpdump 没有捕捉到 tcp 的数据包。问题在 TCP/IP 或者更加上层,并在出现在 wsl 的配置中。

2. 本机出现了请求成功,但没有抓到包。从代理角度分析

bash 复制代码
export | grep -i proxy

嗯,果然是设置了 HTTP_PROXY 代理,是此前自己做测试的时候留下的。去除掉就可以了。

相关命令

  1. dig
  2. tcpdump
  3. ping
  4. export
相关推荐
zhangrelay6 小时前
机械臂末端规划智能模型的误区演示
linux·笔记·学习·ubuntu·ros2
Ivanqhz8 小时前
正余弦位置编码(Sinusoidal Positional Encoding)
java·linux·数据库
H.莓飛8 小时前
【数据结构】队列
linux·数据结构·centos
小此方8 小时前
Linux网络(十九):TCP流量控制与滑动窗口详解,超时重传和快重传到底有什么区别
linux·运维·服务器·网络·网络协议·tcp/ip
码上有光9 小时前
Linux进程通信——共享内存、消息队列和信号量
android·linux·运维·共享内存·通信
沫璃染墨9 小时前
《从零入门Linux系统篇(五十四):线程篇·七——互斥锁底层原理:从原子交换到线程竞争与锁实现》
linux·运维·服务器·开发语言·c++·驱动开发·系统架构
Java后端的Ai之路9 小时前
Python进阶探索24_应用案例_linux系统的监控
linux·开发语言·python·应用·探索
H.莓飛10 小时前
【数据结构】队列_OJ题
linux·数据结构·centos
H.莓飛10 小时前
【数据结构】栈_OJ题
linux·数据结构·算法·centos
Ruiery10 小时前
Linux 6.6内核 CPU 深度解析(一):BSP 拉起 — 从实模式到 kernel_init 的完整旅程
linux·运维·服务器