You need to enable JavaScript to run this app. 如何拦截Linux设备发出的所有请求并查看Python脚本的HTTP请求明细?
优惠活动
大模型
产品
解决方案
定价
更多

如何拦截Linux设备发出的所有请求并查看Python脚本的HTTP请求明细?

Linux下抓取HTTP请求的实现方案

分两种场景提供对应方案,你可以根据需求选择:

方案1:仅抓取指定Python脚本的请求(无冗余数据,精准度最高)

适合只需要查看目标Python脚本发起的请求的场景,无需抓全设备流量,用strace跟踪进程的网络发送系统调用即可:

  1. 启动脚本时直接跟踪
strace -f -e trace=sendto,sendmsg -s 2048 python3 your_script.py 2>&1 | grep -E '(GET|POST|PUT|DELETE|HEAD|OPTIONS|PATCH|Host:|User-Agent:|Accept:|Authorization:|Cookie:)'

参数说明:

  • -f 跟踪所有子进程/子线程,避免脚本异步发请求时漏抓
  • -e trace=sendto,sendmsg 仅过滤网络发送相关的系统调用,排除大量无关本地IO日志
  • -s 2048 调整字符串截断长度为2048,避免长请求头、请求路径被默认截断
  • 后面的grep规则可以自定义,新增你需要提取的其他请求头字段即可
  1. 脚本已运行时动态绑定
    先通过ps aux | grep your_script.py获取目标进程的PID,再执行:
strace -f -e trace=sendto,sendmsg -s 2048 -p 替换为你的进程PID 2>&1 | grep 上述过滤规则

方案2:抓取设备所有HTTP/HTTPS请求

需要查看全设备的出站请求时,用tcpdump或tshark抓包即可:

明文HTTP请求抓取

用tcpdump直接抓80端口流量,过滤请求相关内容:

tcpdump -i any -A -s 0 'tcp port 80' | grep -E '(GET|POST|PUT|DELETE|HEAD|OPTIONS|PATCH|Host:|User-Agent:|Accept:|Authorization:|Cookie:)'

参数说明:

  • -i any 监听所有网卡的流量
  • -A 以ASCII格式输出包内容,可直接读取文本
  • -s 0 不截断包内容,完整抓取所有请求数据

HTTPS请求明文抓取

HTTPS流量默认加密,需要配合SSL密钥日志才能解密查看明文内容:

  1. 先在终端设置环境变量,启动Python脚本前执行:
export SSLKEYLOGFILE=~/ssl_keys.log

Python的requests、urllib等标准请求库都会自动将TLS握手密钥写入这个文件
2. 用tshark抓包并自动解密:

tshark -i any -f 'tcp port 443' -o ssl.keylog_file:$HOME/ssl_keys.log -T fields -e http.request.method -e http.host -e http.request.uri -e http.request.line -E separator=' | '

执行后会直接输出每条请求的方法、域名、请求路径、完整请求头内容。

补充方案:代码层面直接打印请求

如果你有Python脚本的修改权限,直接加请求钩子更简单,不需要额外系统命令,以requests库为例:

import requests

def log_request(resp, *args, **kwargs):
    print(f"请求方法:{resp.request.method}")
    print(f"请求地址:{resp.request.url}")
    print("请求头:")
    for k, v in resp.request.headers.items():
        print(f"  {k}: {v}")
    print("-"*60)

# 发请求时指定钩子即可
requests.get("https://example.com", hooks={"response": log_request})

内容的提问来源于stack exchange,提问作者Alen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 17:18:02