我想将浏览历史记录记录在单独的文件中。我想通过记录网络流量和特定来自我的PC的HTTP get请求来做到这一点。我想用Python做这个,但我不知道从哪里开始。
答案 0 :(得分: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()
# ...