问题标签 [pcap4j]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 pcap4j 读取数据包内容
我有下面的代码,它可以使用 pcap4j 从接口捕获数据包,但我不确定如何打印数据包中存在的请求和响应数据。例如,如果我从邮递员那里进行 REST 调用,那么我想跟踪请求和响应。这与 Wireshark 相同。我陷入了能够捕获数据包的最后一部分,但不确定如何读取可以在控制台上打印的数据包内容。
所以我有两个问题:
- 如何捕获 HTTP 请求和响应并将其打印在控制台上。
- 我怎样才能让 java 代码连续运行,以便它继续捕获数据包。
我确实检查了 pcap4j 文档,但不确定如何读取可以读取 HTTP 请求和 HTTP 响应的数据包内容。
pcap4j - 无法在 pcap4j 中读取 TcpPacket
我正在尝试使用 pcap4j 从环回地址获取 TcpPackets。我可以成功读取数据包,但无法将它们转换为 TcpPackets:
注意事项:
我正在使用 getNextPacketEx 所以我可以从数据包工厂中受益
我在 pom.xml 中的依赖项看起来像
我还尝试过手动打开数据包(参见注释代码)。在我得到一个包含碎片数据的 IpV4Packet 之前,它会成功运行。
当我尝试构建 TcpPacket.newPacket... 我收到错误:
我想做的是读取 tcp 数据包,重新组装它们,然后读取我想要嗅探的 http 内容。任何人都可以帮忙吗?
更新:这是 ipv4 数据包的完整转储,用于在端口 8080 的 localhost 上进行简单的 Http 获取:
wireshark - 使用 pcap4j 模拟 HTTP/2 流
我正在尝试捕获 TLS 连接的未加密字节并将它们记录到 cap 文件中以分析 HTTP/2 流量。我做了很多假设,这甚至是可能的。但是,如果我可以在 Wireshark 等有用的工具中看到流量,我愿意捏造 HTTP/2 层以下的几乎所有内容。
我的方法最终归结为
有没有人对 pcap4j 或 pcap 文件有任何建议,看看我做错了什么?
我正在写的数据包是 IPv4>TCP>Data
但 Wireshark 显示
rest - Pcap4j:使用 IPv6 地址获取客户端 MAC 地址
我正在尝试使用数据包捕获(pcap4j)获取客户端的 MAC 地址。我已经尝试MacAddress
通过MacAddress.getByName(IP_ADDRESS)
Where the IP_ADDRESS
is taken from创建对象HttpServletRequest.getRemoteAddress()
。
示例代码
现在是问题部分:
我一直在我的本地主机上对此进行测试,request.getRemoteHost()
并且addr.getHostName()
两者都返回了我的 ipv6 环回地址。因此无法创建 MacAddress 对象,stacktrace:
我如何确保它适用于 ipv4 和 ipv6,因为我不确定客户端的地址方案是什么。我打算在 RESTful Web 服务中使用它。
java - DNS MX 重传 PCAP4J
我需要使用 pcap4j 查找域中的所有邮件服务器
我用代码创建 MX DNS 数据包并发送它,但数据包要重新传输(wireshark img)
nslookup -type=mx vk.com 运行正常(cmd)
创建 Dns 数据包:
java - 使用 pcap4j 截断 pcap 文件
我正在使用 pcap4j java 库,以便将到达/发送到/来自设备的流量保存在 pap 文件中。我对只保存数据包的标头(IP、TCP/UDP/ICMP)特别感兴趣,因为有效负载对我的应用程序并不重要。我看到 tshark 有一个选项可以做到这一点: -s 允许保存到达数据包的第 x 个字节。
pcap4j库可以吗?我怎么能做到?
我试图通过将 x 字节保存在 byte[] 中来保存它们,但随后 pcap 的内容发生了变化,例如 TCP 标头中的长度。
networking - PCAP4J 发送和监控 TCP/UDP 数据包
我计划实现类似于 Nmap 的远程操作系统检测,但我不想使用 Nmap 并且想使用本机库或 java 或 C++。
我探索了 pcap4j 但使用 pcap4j 我只能捕获网络接口上的数据包。pcap4j 有发送数据包命令,但不知何故它没有响应任何东西。
任何人都知道如何将 TCP 或 UDP 数据包发送到远程机器并使用 pcap4j 从它获取响应。
java - G1 Old Gen 发生 pcap4j 实现
在我的工作中,我们开发了一个应用程序来捕获 Linux Dev Env 上的数据包。我们使用了 pcap4j 库。就像 dumpbypacketcount 的 API 一样简单,G1 Old gen 是在针对 100000 个数据包计数的 1 TPS 负载测试一段时间后进行的。我们在 a 中捕获实时数据包并将它们存储在 HashMap 中,然后将此映射传输到线程。该线程仅使用 dumper.dumpRaw() 转储数据包。我们观察到 dumper.dumpRaw() 正在获取资源/对象并在 Jconsole 上飙升。
我们无法调试该问题。我们在 javaopts 中将堆内存保持在 8G(也尝试过 16G)。有什么建议么?