【问题标题】:How to implement tcp syn scanning with java code?java代码如何实现tcp syn扫描?
【发布时间】:2019-01-08 05:13:15
【问题描述】:

我需要使用 TCP syn 监控多个服务器的多个端口。 例如,每 60 秒向这些端口发送一次 TCP syn,以检查这些端口是否打开或关闭。

我试过 java socket.connect 和 nmap

try {
    socket.connect(socketAddress, timeout);
    socket.close();
    System.out.println("port is open");
} catch (IOException e) {
    System.out.println("port is closed");
}

问题是 java socket.connect 不是 TCP 同步扫描。 Nmap 可以,但是项目不允许下载其他软件。 想知道有没有办法使用java代码实现TCP syn扫描?

【问题讨论】:

标签: java tcp


【解决方案1】:

据我所知,JDK不支持这样做。也许你可以使用JNI并调用一些C++/C函数。或者使用jpcap。 http://jpcap.sourceforge.net/

【讨论】:

  • 我试试ipcap看看能不能解决这个问题,谢谢你的回复。
  • 我无法从 maven 存储库中获取 jpcap 包。它不起作用
  • Jpcap 是一个 Java 类包,它允许 Java 应用程序捕获和/或将数据包发送到网络。 Jpcap 基于 libpcap/winpcap 和 Raw Socket API。因此,Jpcap 应该可以在任何已实现 libpcap/winpcap 的操作系统上工作。如果你选择使用 jpcap,你必须先安装 linpcap(linux,mac) 或 winpcap(windows)。
猜你喜欢
  • 2013-11-28
  • 2011-10-10
  • 2020-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-30
  • 2013-05-01
相关资源
最近更新 更多