gpt4 book ai didi

python - 使用 Python 运行后台进程

转载 作者:太空宇宙 更新时间:2023-11-03 19:08:05 24 4
gpt4 key购买 nike

我正在尝试发送 GET 请求,但在开始请求之前,我想捕获流量。可以使用以下命令来捕获流量:

dumpcap -i eth0 -f "udp port 53" -w dns.cap

在后台。当我捕获数据包时,我需要通过发送一些 URL 来发出一些请求。目前,使用下面的代码,我的捕获代码似乎不起作用,我什至在我的文件夹中看不到 dns.cap 文件。

有什么问题吗?

import requests
import os
import subprocess
import urllib
print "start capturing packets...\n"
#os.system("dumpcap -i eth0 -f \"udp port 53\" -w dns.cap"
os.spawnl(os.P_NOWAIT,'dumpcap -i eth0 -f \"udp port 53\" -w dns.cap')
print urllib.urlopen('http://www.google.com').read()
#resp = requests.get('http://httpbin.org')
#resp=requests.get('http://httpbin.org')
print "ok"

最佳答案

os.spanwl 被认为是旧的,应替换为 subprocess.Popen。将 os.spanwnl 调用替换为:

subprocess.Popen(['/usr/bin/dumpcap', '-i', 'eth0', '-f', 'udp port 53', 
'-w', '/tmp/dns.cap'])

最好在启动 dumpcap 后添加一些暂停( sleep ),以确保在发出请求时建立捕获。

关于python - 使用 Python 运行后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14011373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com