gpt4 book ai didi

java - 如何捕获pcap4j中的域?

转载 作者:搜寻专家 更新时间:2023-11-01 09:31:35 27 4
gpt4 key购买 nike

我在一个 Java (Android) 项目中工作,主要思想是捕获 url 并阻止对危险页面的访问,因此要获取用户访问的 url,我正在使用 pcap4j 库如下:

IpV4Packet ipV4Packet = packet.get (IpV4Packet.class);
Inet4Address srcAddr = ipV4Packet.getHeader().GetSrcAddr();
System.out.println(srcAddr);

因此,如果我访问 url ( https://es.wikipedia.org/wiki/Google),代码将生成域名,例如:(wikipedia.org),但我真正需要的是生成请求的主 url,我怎样才能得到完整的网址(https://es.wikipedia.org/wiki/Google)?

最佳答案

我觉得真的很难。

为了获取URL,需要查看HTTP数据包的请求行。但是Pcap4J现在不支持HTTP,所以你需要写数据包类来解析HTTP数据包。

而且,HTTP 是在 TCP 之上的,它通常会对上层数据包进行分段。您需要先重新组装 HTTP 数据包,然后才能对其进行剖析。

而且,如果是 https,HTTP 数据包会被 TLS 层加密和分段。在这种情况下,您需要重新组装和解密 HTTP 数据包以获取 URL。要解密 TLS 数据包,您需要 HTTP 服务器的 key 。但是,即使您有 key ,当在 TLS session 中使用 Diffie-Hellman key 交换算法时,您也无法解密数据包。

关于java - 如何捕获pcap4j中的域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46854042/

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