python脚本抓systrace报错

运行systrace.py脚本抓取systrace时,报错如下:
select.error: (10093, '\xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xc3\xbb\xd3\xd0\xb5\xf7\xd3\xc3 WSAStartup\xa3\xac\xbb\xf2\xd5\xdf WSAStartup')
什么原因并且如何解决?

img

Sockets库是否安装

引用gpt
这个错误是由于Python无法调用systrace工具导致的。有几个可能的原因:

  1. 没有在环境变量中配置systrace工具的路径。systrace.py脚本需要调用systrace命令,所以需要确保systrace命令可以在环境变量PATH中找到。
  2. systrace工具未安装。如果系统中没有安装systrace,脚本无法调用,会导致错误。
  3. 权限不足。如果Python脚本没有调用systrace命令的权限,也会导致错误。
    解决方法:
  4. 确认systrace工具是否安装。如果未安装,需要下载安装。Systrace可从Android SDK Manager或直接下载二进制文件安装。
  5. 将systrace的路径添加到环境变量中。例如:
export PATH=$PATH:/path/to/systrace
  1. 给Python脚本添加执行权限。使用chmod修改权限:
chmod 755 systrace.py
  1. 在脚本开头添加sudo来运行命令:
#!/usr/bin/env python
import subprocess
import sys

sudo_prefix = ""  # Set to "sudo" to run systrace with root permissions
systrace_cmd = "systrace"

这样脚本会使用sudo运行systrace,确保有足够权限。
5. 检查select.error错误详情,确定是否是端口问题导致的。如果是,尝试运行:

netstat -lnp| grep python
lsof -i -P -n | grep python

找到占用端口的进程杀死。