gpt4 book ai didi

python - Python 中的 URL 嗅探

转载 作者:太空狗 更新时间:2023-10-30 01:30:25 28 4
gpt4 key购买 nike

有谁知道如何用 Python 编写实时数据嗅探器来提取原始 IP 地址和被访问的完整 URL?我看过从 urlsnarf 中提取数据,但是不支持 IPv6(并且连接将连接到 IPv6 主机)。

虽然我可以从 tcpdump 中提取数据并为 GET/POST 进行 greping,但这只会给我留下网络服务器上的路径,而且我不会获得相关的 FQDN。不幸的是,由于环境的配置,使用带有 IPv6 TPROXY 的 SQUID 不是一个选项。

有没有人对如何使用 libpcap 的 Python 绑定(bind)有任何想法?非常感谢您的帮助:)

谢谢:)

最佳答案

不幸的是,对于 IPv6,您无法进行自己的 TCP 重组。好消息是您只关心应该(通常)在一个或两个数据包中的 URL 数据。

您应该能够使用 pylibpcap 来执行此操作。您需要在 pcap 对象上使用 setfilter 以确保您只查看 TCP 流量。当您在 pcap 循环中前进时,您将对负载应用一些 HTTP 正则表达式。如果您有看起来像 HTTP 流量的内容,请继续尝试解析 header 以获取 URL 数据。希望您将获得完整的 URL,在数据包结束之前有一个换行符。否则,您将不得不进行一些轻量级 TCP 重组。

哦,你会想要使用 socket.inet_ntop 和 socket.getaddrinfo 打印出关于 IPv6 主机的信息。

关于python - Python 中的 URL 嗅探,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5436185/

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