调试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
相关推荐
网硕互联的小客服13 分钟前
404 Not Found:请求的页面不存在或已被删除。
linux·运维·服务器·windows
dessler20 分钟前
Docker-原理之写实复制(cow)
linux·运维·docker
Hacker_LaoYi24 分钟前
[CTF/网络安全] 攻防世界 view_source 解题详析
网络·安全·web安全
L·S·P44 分钟前
Linux 安装 meilisearch
linux·服务器·elasticsearch·搜索引擎·meilisearch
mgwzz1 小时前
nfs开机自动挂载
linux·服务器·网络
一只小爪子2 小时前
通过 ulimit 和 sysctl 调整Linux系统性能
linux·运维·前端
Linux运维老纪2 小时前
Go语言之十条命令(The Ten Commands of Go Language)
服务器·开发语言·后端·golang·云计算·运维开发
真想骂*3 小时前
iOS开发指南:保护服务器密码的安全存储与处理技巧
服务器·安全·ios
Antonio9153 小时前
【Linux】环境变量
linux·运维·服务器
域智盾-运营小韩3 小时前
怎么管理电脑usb接口,分享四种USB端口管理方法
服务器·网络·负载均衡