如题,自己用建立socket的方式扫描端口,代码大概如下:
SocketAddress socketAddress;
for (port = startPort + serial; port <= endPort; port += threadNumber) {
socket = new Socket();
socketAddress = new InetSocketAddress(address, port);
try {
socket.connect(socketAddress, timeout);
socket.close();
System.out.println("端口 " + port + " :开放");
} catch (IOException e) {
// System.out.println("端口 " + port + " :关闭");
}
}
但是这种方式,只能判断端口是不是开放,但是不能判断端口是用来做什么的,想知道,可以采用什么方式得知端口的用途?(http、https、ssh..等等)
我看zenmap是能判断端口的用处以及其他的一些信息的,但是目前还没有搞清楚它是如何做到的..?
以及 还有 如何用java完成syn和fin这些类型的扫描?
自己对java还有端口扫描的认识目前还都处于初级阶段,还请过来人多多指教