首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pcap4j中捕获域?

如何在pcap4j中捕获域?
EN

Stack Overflow用户
提问于 2017-10-20 17:09:19
回答 1查看 692关注 0票数 4

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

代码语言:javascript
复制
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,我如何获得完整的URL (https://es.wikipedia.org/wiki/Google)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-21 12:50:19

我觉得这真的很难。

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

而且,HTTP是在TCP上的,它通常会分割上层数据包。在剖析HTTP数据包之前,您需要重新组装它们。

更多的是,如果是https,则HTTP数据包被TLS层加密和分割。在这种情况下,您需要重新组装和解密HTTP数据包以获得URL。要解密TLS数据包,需要HTTP服务器的密钥。但是,即使您有密钥,在TLS会话中使用Diffie-Hellman密钥交换算法时,也无法解密数据包。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46854042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档