我想将我的浏览历史记录在一个单独的文件中。我想通过记录网络流量,特别是来自我的 PC 的 HTTP 获取请求来做到这一点。我想在 Python 中执行此操作,但我不知道从哪里开始。
问问题
1274 次
1 回答
1
正如我所提到的,您可以使用dsniff的urlsnarf工具作为一个非常直接的解决方案。如果您不是在寻找严格的 Python 解决方案,您可以轻松地将其从 Python 包装起来。
要获得实时输出,您可以使用subprocess
模块直接运行它:
import subprocess
p = subprocess.Popen('urlsnarf', stdout = subprocess.PIPE)
try:
while True:
l = p.stdout.readline()
# ...
finally:
p.terminate()
但这将要求您的用户具有必要的数据包嗅探权限。如果您想以 root 身份运行它,最好单独运行 urlsnarf 并通过命名管道传输输出。
首先,具有 root 权限(在 shell 中):
mkfifo /home/youruser/tmp/urlsnarf-pipe
chown youruser /home/youruser/tmp/urlsnarf-pipe
urlsnarf > /home/youruser/tmp/urlsnarf-pipe
然后只需从 Python 脚本中读取管道(以您的用户身份运行):
f = open('/home/youruser/tmp/urlsnarf-pipe', 'r')
while True:
l = f.readline()
# ...
于 2012-08-20T08:35:52.020 回答