/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
//------------------------------------------------------------------------------
//
// Project : NamingServerMonitor
// File name : PortScan.java
// Author : Rene Wendling
// Date : 24.10.2000
//
//------------------------------------------------------------------------------
//
package Sirius.util.NamingServerMonitor;
import java.io.*;
import java.net.*;
import java.rmi.*;
import java.rmi.registry.*;
import java.util.*;
/**
* DOCUMENT ME!
*
* @version $Revision$, $Date$
*/
public class PortScan {
//~ Instance fields --------------------------------------------------------
private String liststring;
private String[] bounds;
private String hostName;
private Socket socket;
private int port = 0;
// private Vector ports;
//~ Constructors -----------------------------------------------------------
// ----------------------------------------------------------------------------
/**
* Konstruktor.*
*
* @param pcname DOCUMENT ME!
*/
public PortScan(final String pcname) {
hostName = pcname;
scanStandardPort(pcname);
}
//----------------------------------------------------------------------------
//~ Methods ----------------------------------------------------------------
// ----------------------------------------------------------------------------
/**
* \u00DCberpr\u00FCfung ob Registry auf Standardport.*
*
* @param name DOCUMENT ME!
*/
public void scanStandardPort(final String name) {
try {
socket = new Socket(name, 1099);
System.out.println("Registry on default port"); // NOI18N
socket.close();
setPort(1099);
} catch (Exception e) {
System.out.println("Registry not on default port -> PortScan will be executed"); // NOI18N
scanAll(name);
}
// return port;
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
/**
* Portscan.*
*
* @param name DOCUMENT ME!
*/
public void scanAll(final String name) {
// ports = new Vector();
for (int j = 1105; j < 1115; j++) {
// System.out.println("\u00FCberpr\u00FCfe: " + j);
try {
// rmiRegistry = LocateRegistry.getRegistry(j);
// bounds = new String[rmiRegistry.list().length];
// bounds = rmiRegistry.list();
socket = new Socket(name, j);
System.out.println("Port in usage: " + j); // NOI18N
socket.close();
if (isRegistry(j)) {
;
}
{
setPort(j);
;
break;
}
// ports.addElement(new Integer(j));
} catch (IOException ex) {
System.out.println("port free: " + j); // NOI18N
}
}
// return port;
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
/**
* \u00DCberpr\u00FCfung auf benutzer Port RegistryPort ist.*
*
* @param number DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public boolean isRegistry(final int number) {
final java.rmi.registry.Registry rmiRegistry;
try {
rmiRegistry = LocateRegistry.getRegistry(hostName, number);
// port=number;
// setPort(number);
System.out.println("Registry found on port: " + number); // NOI18N
} catch (Exception exc) {
System.out.println("Registry not on port: " + number); // NOI18N
}
return true;
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
/**
* Aufruf von ausserhalb, R\u00FCckergabe ist der RegistryPort.*
*
* @return DOCUMENT ME!
*/
public int getPort() {
return port;
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
/**
* Aufruf zum Setzen des Port.*
*
* @param portnr DOCUMENT ME!
*/
public void setPort(final int portnr) {
port = portnr;
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
/**
* main.*
*
* @param args DOCUMENT ME!
*/
public static void main(final String[] args) {
final PortScan portscan = new PortScan("134.96.158.160"); // NOI18N
}
//----------------------------------------------------------------------------
}