当前位置: 首页 > 面试题库 >

如何用Java嗅探网络流量?

裴兴学
2023-03-14
问题内容

我只是四处看看,以了解如何制作一个程序来监听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);
    }
}


 类似资料:
  • 9.1 无线网络嗅探工具Kismet 如果要进行无线网络渗透测试,则必须先扫描所有有效的无线接入点。刚好在Kali Linux中,提供了一款嗅探无线网络工具Kismet。使用该工具可以测量周围的无线信号,并查看所有可用的无线接入点。本节将介绍使用Kismet工具嗅探无线网络。 (1)启动Kismet工具。执行命令如下所示: [email protected]:~# kismet 执行以上命令后,

  • Cooja中的错误 我正在使用Contiki ng和示例udp服务器和udp客户端。我想做几件事:1-我希望客户端节点嗅探数据包,然后一旦嗅探到数据包,就向服务器发送数据包。我成功地做到了这一点,但有一些事情我不明白:a-当我在udp客户端中启动嗅探时,通过向代码中添加以下位: 这似乎只捕获udp客户端应用程序级别的数据包,当我增加QUEUEBUF\u CONF\u NUM以允许服务器接收这些数据

  • 我有一个在生产集群中运行的豆荚。该吊舱是为了调试目的,我想嗅探主机网络流量。出于安全原因,我无法在主机网络中部署该pod。 是否可以从Kubernetes中的非主机网络吊舱嗅探主机网络通信量?

  • 7.2. 密码嗅探 尽管攻击者通过嗅探(察看)你的用户和应用间的网络通信并不专门用于访问控制,但要意识到数据暴露变得越来越重要,特别是对于验证信息。 使用SSL可以有效地防止HTTP请求和回应不被暴露。对任何使用https方案的资源的请求可以防止密码嗅探。最好的方法是一直使用SSL来发送验证信息,同时你可能还想用SSL来传送所有的包含会话标识的请求以防止会话劫持。 为防止用户验证信息不致暴露,在表

  • 那么我如何在GenyMotion/Android模拟器上嗅探/跟踪/检查套接字流量呢?

  • 本文向大家介绍何谓SQLSERVER参数嗅探问题,包括了何谓SQLSERVER参数嗅探问题的使用技巧和注意事项,需要的朋友参考一下 大家听到“嗅探”这个词应该会觉得跟黑客肯定有关系吧,使用工具嗅探一下参数,然后截获,脱裤o(∩_∩)o 。 事实上,我觉得大家太敏感了,其实这篇文章跟数据库安全没有什么关系,实际上跟数据库性能调优有关 相信大家有泡SQLSERVER论坛的话不多不少应该都会见过“参数嗅