gpt4 book ai didi

java - 数据包拦截软件

转载 作者:行者123 更新时间:2023-12-02 00:52:46 28 4
gpt4 key购买 nike

谁能给我推荐一款数据包拦截软件吗??

我的要求是阻止 LAN 内的数据包。(互联网不出现)。

假设 CLIENT_A 在同一网络(LAN)中与 CLIENT_B 通信。

我希望 CLIENT_C(位于同一网络中)捕获(我可以使用 jpcap 库的嗅探器来实现此目的)并阻止 CLIENT_A 发送到 CLIENT_B 的数据包。

如何阻止 LAN 上的数据包...?

提前谢谢您。

问候,维尼特·沙阿

最佳答案

这种事情通常是使用单独的防火墙(例如在路由器或网关盒中)或在一台或两台客户端计算机上运行的防火墙软件来完成的。

这不是用 Java 实现的明智之举。

编辑 - 回应此后续行动

I am aware that such a thing is not advisable in Java..but still ill have to implement it..so is there any means to do so..?

假设您正在讨论在 Linux 计算机上实现客户端防火墙。我可以想到两种方法:

  • 您可以使用 Process.execute() 等来运行 Linux iptables(8) 管理实用程序,该实用程序操作操作系统内核的网络数据包过滤器。这是最简单的基于 Java 的方法。但它要求您的 Java 应用程序以 root 身份运行。

  • 您可以对 iptables(8) 操作数据包过滤器的操作进行逆向工程,并在 Java 中编写相同功能的代码。这将需要更多的编码工作,包括通过 JNI 或 JNA 在 C 中实现部分功能。并且您的应用需要以 root 身份运行。

但是一种更简单的方法是简单地从命令行运行iptables(8),或者使用基于 GUI 的精美管理工具进行更改。

请注意,在上述场景中,防火墙本身并不是用 Java 实现的。您所做的只是通过 Java 应用程序管理防火墙。我想不出任何在 Java 中实际进行过滤/阻止的方法,甚至是远程实用的。

关于java - 数据包拦截软件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2326865/

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