gpt4 book ai didi

java - 我如何嗅探 Java 中的网络流量?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:40:00 25 4
gpt4 key购买 nike

我只是四处寻找如何用 Java 编写一个程序来嗅探我的网络流量,但我找不到任何东西。我想知道是否有任何方法可以查看经过的网络流量。我听说过一个关于 Socket 的想法,但我不知道那是如何工作的。所以无论如何,只是寻找一个 API 或一种自己编写它的方法。

编辑:我很乐意使用 API,但我也想了解使用 Socket 嗅探流量的方法。

最佳答案

jpcap , jNetPcap -- 这些是 Java 中的 pcap 包装器项目。

Kraken -- 类似的项目,有很多例子记录在案。

来自 Kraken 网站的简单示例:

public static void main(String[] args) throws Exception {
File f = new File("sample.pcap");

EthernetDecoder eth = new EthernetDecoder();
IpDecoder ip = new IpDecoder();
TcpDecoder tcp = new TcpDecoder(new TcpPortProtocolMapper());
UdpDecoder udp = new UdpDecoder(new UdpPortProtocolMapper());

eth.register(EthernetType.IPV4, ip);
ip.register(InternetProtocol.TCP, tcp);
ip.register(InternetProtocol.UDP, udp);

PcapInputStream is = new PcapFileInputStream(f);
while (true) {
// getPacket() will throws EOFException and you should call is.close()
PcapPacket packet = is.getPacket();
eth.decode(packet);
}
}

关于java - 我如何嗅探 Java 中的网络流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26152931/

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