# Portscanner



## astradslme (20. Jan 2013)

Hallo ich hoffe ich bin hier richtig:

Mein Problem:

Ich möchte die Variablen "start" und "end" aus der methode "portEingabe" der Methode "portScan" übergeben, allerdings bringt meine Fachklasse keinen Fehler nur in der Main wo ich die Methode "sock.portScann();" aufrufe ist rot unterstichen --> "The method portScann(int, int) in the type Fachklasse is not applicable for the arguments ()".

Ich bitte um Hilfe vielen Dank  

Meine MAIN:



```
import java.io.IOException;


public class Testklasse {

	
	public static void main(String[] args) throws IOException {

		Fachklasse sock = new Fachklasse ();
		
		
		sock.portEingabe();
		sock.portScann();
		
	}

}
```

Meine FACHKLASSE:

```
import java.io.*;
import java.net.Socket;
import java.net.UnknownHostException;


public class Fachklasse {
	
	public void portEingabe () throws IOException {
		
		int start = 0;
		int end = 0;
		
		BufferedReader br = new BufferedReader (new InputStreamReader (System.in));
		System.out.println("Bitte geben Sie den Start-Port ein: ");
			start = Integer.parseInt(br.readLine());
		System.out.println("Bitte geben Sie die den End-Port ein: ");
			end = Integer.parseInt(br.readLine());
		
		
		
		
	}
	
	public void portScann (int start, int end) {
		
		
		
		System.out.println("#########################################");
		System.out.println("# Es werden die Ports " + start + " - " +  end +  " getestet.#");
		System.out.println("#########################################" + "\n");
		
		for (;start <= end; start++){
						
		try {
			
			Socket portScann = new Socket ("localhost",start);
			
			System.out.println("Port ist offen: " + start);
			//System.out.println(portScann.getLocalAddress()+ ":" + portScann.getLocalPort());
			
		} catch (UnknownHostException e) {
			
			System.out.println("Die IP Adresse bzw. DNS ist nicht erreichbar.");
			//e.printStackTrace();
			
		} catch (IOException e) {
			
			System.out.println("port ist geschlossen: " + start);
			//e.printStackTrace();
			
			}
		
		}

	}

}
```


----------



## SlaterB (20. Jan 2013)

mit Netzwerkprogrammierung hat das dann ja nicht mehr viel zu tun,
einfach nur zwei Werte eingeben lassen und an weitere Methode reichen,

im Java-Basics-Bereich hätte vielleicht eher jemand geantwortet,
im Zweifel Socket-Code entfernen

------

du musst entweder beide Werte zurückgeben, bei nur einem Rückgabewert nicht so leicht, 
int-Array ginge, oder auch zwei verschiedene Methoden mit je einem int als return,
dann an die andere Methode weitergeben

da beides in derselben Klasse steht wäre noch leichter, wenn die Eingabe-Methode die Werte in Instanzattributen speichert,
dann die Paramter von portScann() entfernen, dort die Instanzattribute verwenden


----------



## astradslme (21. Jan 2013)

Ok, Vielen Dank.

Ich denke damit kann ich schon etwas anfangen.

Entschuldige für den "Fehlpost", wenn möglich bitte verschieben.

Grüße,

astradslme


----------

