gpt4 book ai didi

java - 嗅探访问过的站点并保存到文件

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:11:24 25 4
gpt4 key购买 nike

我想在连接到我的网络的某台电脑上记录 http 流量,以便了解用户访问过哪些站点。该程序将在公司中运行,也许是为了检查员工是否去网站做额外的工作,也许是为了统计数据。我只需要知道什么电脑在什么时间浏览什么网站,不需要其他信息。

我在网上冲浪并用谷歌搜索了几个小时,但没有找到任何对我有用的东西。我试过 wireshark,但它太复杂了,不能作为守护进程运行(据我所知,也许我错了)而且那个窗口很大。

我尝试将 ServerSocket 绑定(bind)到 80 端口,但没有成功,似乎没有数据到达我的套接字。 Socket 的结果相同(绑定(bind)到 80 本地主机)是否有任何类允许我在 safari(或任何其他浏览器)和端口之间插入?

[在我被要求做这件事之前,公司用了几天键盘嗅探器。但这种方式的隐私是零,显然这不是正确的解决方案。]

有什么想法吗?附言该程序不会成为“ secret ”,工作人员知道它,但需要非管理员人员不能阻止它。

Java 中的解决方案是首选,因为它是我唯一知道的语言。

最佳答案

根据您最后的评论(顺便说一句,您应该更新您的问题)我知道您需要一些东西来记录所有 http 流量。

您必须明白,要轻松做到这一点,您需要处于专用网络和互联网之间,可能需要使用 linux 防火墙为专用网络计算机执行 NAT。

如果您可以运行非 Java 软件,那么您可以使用来自 dsniff 的软件 urlsnarf为了你想要的。您可以运行它并将其保留在后台日志记录中,您也可以按端口或 ip 进行过滤。

大多数发行版已经有一个名为 dsniff 的包,其中包含 urlsnarf 命令。

基本开始:

urlsnarf -n -i eth0 

这将开始将 tcp 端口 80、8080 或 3128 上的所有 url 记录到标准输出。如果您想存储捕获以供以后可视化(例如使用 wireshark),您可以使用 -p 选项。

如果你问我,我认为你做错了,你应该设置一个透明代理并拒绝访问“未授权”站点,而不是记录请求的每个 http url。否则你就是在侵犯人们的隐私,根据国家/地区的不同,这甚至可能是非法的。

NAT搭建服务器并不难,只需要一台linux PC,两 block 网卡,一个防火墙软件,比如aifwipmasq ,有了这个,您已经可以通过阻止他们的 IP 来阻止访问网站。如果你还想弄乱 http 流量包数据,你需要一个透明代理( not a reverse proxy ),最流行的是 Squid .

我建议查看 SquidGuard如果你选择鱿鱼。

如果你坚持自己编写一个代码,除了在评论中留下警告,毫无疑问你应该使用 jpcap library , 检查 examples section已有代码可用于快速入门。

祝你好运!

关于java - 嗅探访问过的站点并保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12830453/

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