使用java捕获dns数据包

使用java捕获dns数据包,java,networking,dns,jpcap,Java,Networking,Dns,Jpcap,我想在系统中记录访问的网站。所以我决定记录系统发送的数据包。我正在使用JPCAPAPI。我能记录很多数据包。现在我想做的是只过滤DNS数据包。我认为这将能够记录的网站 我想要一种过滤DNS数据包的方法。我该怎么做呢?上面写着 您可以查看以下主页 有关筛选器的详细信息,请参见 表情。设计捕获滤波器 对于Ethereal/Wireshark 因此,我相信 captor.setFilter("dns", true); 应该可以一种更丑陋的方法是在端口53上扫描UDP。 然而,前面的答案从实现方面看更

我想在系统中记录访问的网站。所以我决定记录系统发送的数据包。我正在使用JPCAPAPI。我能记录很多数据包。现在我想做的是只过滤DNS数据包。我认为这将能够记录的网站

我想要一种过滤DNS数据包的方法。我该怎么做呢?

上面写着

您可以查看以下主页 有关筛选器的详细信息,请参见 表情。设计捕获滤波器 对于Ethereal/Wireshark

因此,我相信

captor.setFilter("dns", true);

应该可以

一种更丑陋的方法是在端口53上扫描UDP。
然而,前面的答案从实现方面看更清晰

我发现处理端口53中的所有数据包很容易,所以我使用了这个过滤器

udp dst端口53


tanx jack for ur hint

这是我在线程“main”java.io.IOException中尝试解决方案异常时引发的异常:编译或设置筛选器时出错:test1.JpcapTip.main(JpcapTip.java:25)中的jpcap.jpcaptor.setFilter(本机方法)出现语法错误Java结果:1是源端口或目标端口的端口号,因为我们正在将此数据包发送到服务器的已知端口53。也就是说,目标端口号。PS:您可能需要同时检查TCP和UDP。