调试openai 星河大模型的记录:用tcpdump和ngrep抓包

在调试esp32开发板连星河大模型的时候,用requests连星河,怎么也调不通,想通过抓包,看看openai和自己写的到底有啥不一样。

结论:抓包抓到的太多,而且ssl 已经把一些信息都处理过了,看不到报文的详细情况。

所以没看到openai和自己写的有啥不一样。不过还是记录下来,以便查阅

支持Https解密的Wireshark软件

Wireshark是一个强大的网络协议分析工具,可以捕获和分析网络上的数据包。由于443端口是HTTPS服务的默认端口,Wireshark默认会对443端口上的报文进行解密。然而,要成功捕获和解密HTTPS流量,需要满足以下条件:

  1. 安装SSL密钥‌:Wireshark需要安装SSL密钥文件,以便能够解密HTTPS流量。这通常涉及到获取服务器的SSL证书,并将其导入到Wireshark中‌1。
  2. 配置过滤器‌:在抓包时,可以配置过滤器来指定只捕获443端口的流量。这可以通过设置过滤器为"port 443"来实现‌2。

因为不想太麻烦了,所以没有用 Wireshark这款软件。但是用小本本记下它,有需要的时候,可以用它。

使用tcpdump抓包

安装

复制代码
sudo apt install tcpdump

使用命令:

sudo tcpdump -i any -n 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

但是这条命令好像并没有运行成功。针对侦听80端口,可以用这条命令:

复制代码
sudo tcpdump -i any -n 'tcp port 80'

tcpdump是一个强大的网络抓包工具,可以捕获网络接口的数据包,并将其以可读的方式展示出来。可以使用以下命令来安装tcpdump:

复制代码
sudo apt-get install tcpdump

安装完成后,就可以使用tcpdump命令来查看网口报文了。以下是tcpdump的基本用法:

tcpdump -i 网口名

其中,网口名指的是要查看的网络接口的名称,比如eth0、wlan0等。可以使用ifconfig命令来查看系统中的网络接口信息。

比如命令:

复制代码
sudo tcpdump -i wlan0  -n 'tcp port 80'

使用tcpdump命令查看网口报文时,可以指定一些过滤条件,以便只显示符合条件的报文。以下是一些常用的过滤条件:

  1. 按协议过滤:可以使用proto关键字加上协议名来过滤报文,比如`tcpdump -i eth0 tcp`只显示TCP协议的报文。

  2. 按源地址和目的地址过滤:可以使用src关键字和dst关键字加上IP地址来过滤报文,比如`tcpdump -i eth0 src 192.168.1.100`只显示源地址为192.168.1.100的报文。

  3. 按端口过滤:可以使用port关键字加上端口号来过滤报文,比如`tcpdump -i eth0 port 80`只显示目的端口为80的报文。

sudo tcpdump -i wlan0 'dst host aistudio.baidu.com'

报错:

sudo tcpdump -i wlan0 'dst host aistudio.baidu.com'

tcpdump: wlan0 dst host aistudio.baidu.com: No such device exists

(No such device exists)

sudo tcpdump -i wlan0 host 'aistudio.baidu.com'

tcpdump -n -i any host 'aistudio.baidu.com'

tcpdump -i eth0 -nnX host 192.168.1.100 and port 80

最后这句话能执行,但是没有显示信息

tcpdump -i wlan0 -nnX host aistudio.baidu.com tcp and port 80

复制代码
sudo tcpdump -i wlan0 -nnXv host aistudio.baidu.com and port 80
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), snapshot length 262144 bytes

^C
0 packets captured
409 packets received by filter
0 packets dropped by kernel

原来是没有发送到那里的域名报文,改成ip地址

复制代码
sudo tcpdump -i wlan0 -nnX host 39.156.68.191 and port 443

抓到的信息太多,反而没有用了,有用的信息也刷没了:

复制代码
08:17:09.706612 IP 192.168.0.112.24294 > 39.156.68.191.443: Flags [.], ack 35, win 1044, length 0
	0x0000:  4500 0028 0000 4000 4006 0d5d c0a8 0070  E..(..@.@..]...p
	0x0010:  279c 44bf 5ee6 01bb 8e09 2025 52bf 1f97  '.D.^......%R...
	0x0020:  5010 0414 fd26 0000                      P....&..
08:17:19.528966 IP 39.156.68.191.443 > 192.168.0.112.24294: Flags [P.], seq 35:69, ack 1, win 3128, length 34
	0x0000:  4500 004a aa55 4000 2b06 77e5 279c 44bf  E..J.U@.+.w.'.D.
	0x0010:  c0a8 0070 01bb 5ee6 52bf 1f97 8e09 2025  ...p..^.R......%
	0x0020:  5018 0c38 c7e1 0000 1703 0300 1d00 0000  P..8............
	0x0030:  0000 0000 7326 8c4a 7609 901a d611 8d79  ....s&.Jv......y
	0x0040:  de80 c197 dd07 6807 a7ab                 ......h...
08:17:19.572452 IP 192.168.0.112.24294 > 39.156.68.191.443: Flags [.], ack 69, win 1044, length 0
	0x0000:  4500 0028 0000 4000 4006 0d5d c0a8 0070  E..(..@.@..]...p
	0x0010:  279c 44bf 5ee6 01bb 8e09 2025 52bf 1fb9  '.D.^......%R...
	0x0020:  5010 0414 fd04 0000                      P.......
08:17:23.039261 IP 39.156.68.191.443 > 192.168.0.112.35700: Flags [.], ack 1, win 3104, length 0
	0x0000:  4500 0028 ce35 4000 2c06 5327 279c 44bf  E..(.5@.,.S''.D.
	0x0010:  c0a8 0070 01bb 8b74 3731 076f a843 d41b  ...p...t71.o.C..
	0x0020:  5010 0c20 2e12 0000                      P.......
08:17:23.039286 IP 192.168.0.112.35700 > 39.156.68.191.443: Flags [.], ack 35, win 1044, length 0
	0x0000:  4500 0028 0000 4000 4006 0d5d c0a8 0070  E..(..@.@..]...p
	0x0010:  279c 44bf 8b74 01bb a843 d41b 3731 0770  '.D..t...C..71.p
	0x0020:  5010 0414 361d 0000                      P...6...
08:17:32.929518 IP 39.156.68.191.443 > 192.168.0.112.35700: Flags [P.], seq 35:69, ack 1, win 3104, length 34
	0x0000:  4500 004a ce36 4000 2c06 5304 279c 44bf  E..J.6@.,.S.'.D.
	0x0010:  c0a8 0070 01bb 8b74 3731 0770 a843 d41b  ...p...t71.p.C..
	0x0020:  5018 0c20 d548 0000 1703 0300 1d00 0000  P....H..........
	0x0030:  0000 0000 72f8 26d8 fdef e684 741b d1e5  ....r.&.....t...
	0x0040:  9a0f 657c 9eca dcb6 e246                 ..e|.....F
08:17:32.968716 IP 192.168.0.112.35700 > 39.156.68.191.443: Flags [.], ack 69, win 1044, length 0
	0x0000:  4500 0028 0000 4000 4006 0d5d c0a8 0070  E..(..@.@..]...p
	0x0010:  279c 44bf 8b74 01bb a843 d41b 3731 0792  '.D..t...C..71..
	0x0020:  5010 0414 35fb 0000                      P...5...
08:17:34.794473 IP 39.156.68.191.443 > 192.168.0.112.24294: Flags [.], ack 1, win 3128, length 0
	0x0000:  4500 0028 aa56 4000 2b06 7806 279c 44bf  E..(.V@.+.x.'.D.
	0x0010:  c0a8 0070 01bb 5ee6 52bf 1fb8 8e09 2025  ...p..^.R......%
	0x0020:  5010 0c38 f4e1 0000                      P..8....
08:17:34.794500 IP 192.168.0.112.24294 > 39.156.68.191.443: Flags [.], ack 69, win 1044, length 0
	0x0000:  4500 0028 0000 4000 4006 0d5d c0a8 0070  E..(..@.@..]...p
	0x0010:  279c 44bf 5ee6 01bb 8e09 2025 52bf 1fb9  '.D.^......%R...
	0x0020:  5010 0414 fd04 0000                      P.......
08:17:44.530629 IP 39.156.68.191.443 > 192.168.0.112.24294: Flags [P.], seq 69:103, ack 1, win 3128, length 34
	0x0000:  4500 004a aa57 4000 2b06 77e3 279c 44bf  E..J.W@.+.w.'.D.
	0x0010:  c0a8 0070 01bb 5ee6 52bf 1fb9 8e09 2025  ...p..^.R......%
	0x0020:  5018 0c38 95eb 0000 1703 0300 1d00 0000  P..8............
	0x0030:  0000 0000 7420 bf91 2075 e64f 18fb bff0  ....t....u.O....
	0x0040:  8531 cbaf 1ecc f182 b334                 .1.......4
08:17:44.573937 IP 192.168.0.112.24294 > 39.156.68.191.443: Flags [.], ack 103, win 1044, length 0
	0x0000:  4500 0028 0000 4000 4006 0d5d c0a8 0070  E..(..@.@..]...p
	0x0010:  279c 44bf 5ee6 01bb 8e09 2025 52bf 1fdb  '.D.^......%R...
	0x0020:  5010 0414 fce2 0000                      P.......
08:17:48.137714 IP 39.156.68.191.443 > 192.168.0.112.35700: Flags [.], ack 1, win 3104, length 0
	0x0000:  4500 0028 ce37 4000 2c06 5325 279c 44bf  E..(.7@.,.S%'.D.
	0x0010:  c0a8 0070 01bb 8b74 3731 0791 a843 d41b  ...p...t71...C..
	0x0020:  5010 0c20 2df0 0000                      P...-...
08:17:48.137740 IP 192.168.0.112.35700 > 39.156.68.191.443: Flags [.], ack 69, win 1044, length 0
	0x0000:  4500 0028 0000 4000 4006 0d5d c0a8 0070  E..(..@.@..]...p
	0x0010:  279c 44bf 8b74 01bb a843 d41b 3731 0792  '.D..t...C..71..
	0x0020:  5010 0414 35fb 0000                      P...5...
^C
61 packets captured
374 packets received by filter
0 packets dropped by kernel

总结

tcpdump可能是最常用的抓包软件了。使用命令:

复制代码
sudo tcpdump -i wlan0  -n 'tcp port 80'

sudo tcpdump -i wlan0 -nnX host 39.156.68.191 and port 443

ngrep抓包

‌**ngrep** ‌是一个强大的命令行工具,用于监视网络上的数据包,并能够像使用grep一样搜索特定模式。ngrep结合了tcpdump的网络数据包捕获功能和grep的灵活性和强大的正则表达式支持,使得它在网络调试和流量分析方面非常有用‌

安装

复制代码
pkg install ngrep

侦听443端口

复制代码
 ngrep -q '^POST' 'tcp port 443'

不明白为什么没有侦听到

复制代码
ngrep -q '^POST' 'tcp port 443'
interface: wlan0 (192.168.0.0/255.255.255.0)
filter: (ip or ip6) and ( tcp port 443 )
match: ^POST
相关推荐
啊吧怪不啊吧27 分钟前
Linux常见指令介绍下(入门级)
linux·开发语言·centos
lllsure1 小时前
SpringCloud——负载均衡
服务器·网络·spring cloud
用户867132495741 小时前
5 个开源 MCP 服务器,让您的 AI 代理势不可挡
服务器
陈大大陈1 小时前
基于 C++ 的用户认证系统开发:从注册登录到Redis 缓存优化
java·linux·开发语言·数据结构·c++·算法·缓存
maotou5261 小时前
Ubuntu22学习记录
linux·ubuntu
杨凯凡1 小时前
Linux安全防护:全方位服务安全配置指南
linux·运维·服务器·安全
李菠菜1 小时前
CentOS系统中重置Root用户密码的完整步骤详解
linux·运维
Nightwish52 小时前
Linux随记(十七)
linux·运维·服务器
ghostmen2 小时前
Centos 实现 MySql 8.0.40 主从配置
linux·mysql·mysql主从
付出不多2 小时前
Linux——系统安全及应用
linux·运维·系统安全