Welches Programm hört auf Port?

Status
Nicht offen für weitere Antworten.

ARadauer

Top Contributor
Hi,
ich möchte mit java ermitteln welches Programm gerade über Port X kommuniziert?
Wie mach ich das am einfachsten?

über die shell
netstat -b
und
tasklist

ausführen und auswerten, wäre eine möglichkeit, aber gibts keinen anderen Weg um an diese Infos zu kommen?
 

ARadauer

Top Contributor
falls es mal jemand braucht:

die run Methode ist einwenig quick and diry, aber es war gestern schon spät und ich brauch das nur für eine eigenes kleines tool.

wenn ich das mal bei einem größeren projekt brauche, überarbeite ich es sicher noch...


Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.TimerTask;


public class ProzessFinder extends TimerTask{

   HashMap<Integer, Prozess> prozesse = new HashMap<Integer, Prozess>();

   
   public Prozess getProzessByPort(int port){
      synchronized (this) {
         return prozesse.get(port);
      }      
   }

   
   
   public void run() {
      System.out.println("Starte ProzessFinder"); 
      long t = System.currentTimeMillis();

      HashMap<Integer, Prozess> tempProzesse = new HashMap<Integer, Prozess>();
      Prozess aktP = null;

      ArrayList<String> lines = null;
      try {
         lines = getLinesFromCmd("netstat -b");
      } catch (IOException e1) {
         return;
      }
      for(String line: lines){
         line = line.trim();
         if(line.length()==0) //nix
            continue;
         if(line.startsWith("[") && aktP != null){
            aktP.setName(line.substring(1, line.length()-1));
            tempProzesse.put(aktP.getPort(), aktP);
            aktP=null;
         }else {
            ArrayList<String> parts = getParts(line);
            if(parts.size()!=5)
               continue;
            int portNum = -1;
            try {
               String port = parts.get(1).split(":")[1];
               portNum = Integer.parseInt(port);
            } catch (Exception e) {
               continue;
            }
            aktP = new Prozess();
            aktP.setPort(portNum);

         }

      }
      synchronized (this) {
         prozesse = tempProzesse;
      }
     
      System.out.println("fertig: "+(System.currentTimeMillis()-t));
   }
   
   


   /**
    * Führt ein Commando auf der shell aus und liefert das Ergbenis als
    * ArrayList<String> zurück
    * @param c
    * @return
    * @throws IOException
    */
   private ArrayList<String> getLinesFromCmd(String c) throws IOException{
      ArrayList<String> lines = new ArrayList<String>();
      String cmd = "cmd /c "+c;
      Process p = Runtime.getRuntime().exec(cmd);

      InputStream is =  p.getInputStream();
      BufferedReader b = new BufferedReader(new InputStreamReader(is));
      String line = null;
      while((line = b.readLine())!= null){
         lines.add(line);         
      }
      return lines;
   }


   /**
    * erstellt aus einer Zeile mit space getrennten Spalten fester Größe
    * eine ArrayList
    * @param line
    * @return
    */
   private static ArrayList<String> getParts(String line){
      ArrayList<String>  result = new ArrayList<String>();
      StringBuilder b = null;
      for(char c : line.toCharArray()){
         if(c!=' '){
            if(b==null){
               b = new StringBuilder(); 
            }
            b.append(c);
         }else{
            if(b!=null){
               result.add(b.toString());
               b=null;
            }
         }
      }

      if(b!=null)
         result.add(b.toString());

      return result;


   }


}
Java:
public class Prozess {
   String name;
   int port;
   
   
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   public int getPort() {
      return port;
   }
   public void setPort(int port) {
      this.port = port;
   }

   public String toString(){
      return name+"-"+port;
   }


}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Programm entwickeln, welches ein Dreieckspuzzle lösen kann Allgemeine Java-Themen 5
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
F welches array ist im jedem programm? Allgemeine Java-Themen 6
G Welches Problem besteht bei den Typparametern? Allgemeine Java-Themen 5
Z Welches GUI Framework für Java ist aktuell? Allgemeine Java-Themen 16
perlenfischer1984 Welches Design Pattern ist geegneit. Allgemeine Java-Themen 7
U Welches ist das richtige Entwurfsmuster Allgemeine Java-Themen 2
S Byte Array welches in Laufzeit aufgelöst wird // Objekt Array Allgemeine Java-Themen 3
F Welches Design Pattern? Allgemeine Java-Themen 3
T WeakReference/PhantomReference: Mitbekommen WELCHES Objekt nun GC'ed wird Allgemeine Java-Themen 2
P "Komplexe" Datenbankabfragen, welches ist der bessere Weg Allgemeine Java-Themen 4
A Welches Speichermanagement für einen Kalkulator Allgemeine Java-Themen 7
T Welches Tuturial soll ich paralell lesen ? Allgemeine Java-Themen 3
R Welches User-Verzeichnis wählen für Configurationsdateien - Windows Allgemeine Java-Themen 2
G Gleiche Packages in verschiedenen JAR Dateien - Welches Package wird verwendet? Allgemeine Java-Themen 5
E Welches Dateiformat für gespeicherte Einstellungen? Allgemeine Java-Themen 20
N Servlet welches PDF erzeugt Allgemeine Java-Themen 10
A Erkennen welches Fenster bei windowDeactivated aktiviert wird? Allgemeine Java-Themen 2
ruutaiokwu welches design pattern? frage an die oo-experten unter euch... Allgemeine Java-Themen 3
P Textfiles laden - egal welches Encoding Allgemeine Java-Themen 9
N Welches design pattern? Allgemeine Java-Themen 8
André Uhres Welches Werzkeug benutzt ihr um eure Mails zu lesen? Allgemeine Java-Themen 47
A Welches Programmdesign? Allgemeine Java-Themen 6
D Welches Pattern kann ich nutzen? Allgemeine Java-Themen 9
Z Testen welches BS benutzt wird Allgemeine Java-Themen 3
T Welches Webframew0rk für pure Java? Allgemeine Java-Themen 13
M Welches Linux zum Java testen? Allgemeine Java-Themen 5
D Welches Fenster ist im moment aktiv? Allgemeine Java-Themen 11
K Welches Betriebssystem ist in Benutzung? Allgemeine Java-Themen 11
M Welches Objekt ruft die Methode auf? Allgemeine Java-Themen 12
S Welches Verschlüsselungsverfahren Allgemeine Java-Themen 9
G Welches Java GUI Buch würdet Ihr empfehlen Allgemeine Java-Themen 2
W VersionsVerwaltung welches Tool Verwendet ihr Allgemeine Java-Themen 12
D Welches Linux in Verb. mit Java Allgemeine Java-Themen 9
S Welches LookAndFeel ist das? Allgemeine Java-Themen 2
Chucky Java Buch - nur welches? online oder kaufbuch? Allgemeine Java-Themen 18
P Welches JRE braucht meine Applikation? Allgemeine Java-Themen 3
W welches layout? Allgemeine Java-Themen 3
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
R Programm führt Methoden gleichzeitig aus Allgemeine Java-Themen 2
T Der Aufruf von CMD-Programm Allgemeine Java-Themen 30
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Mike80 Processing Programm fiert ohne Arduino ein Allgemeine Java-Themen 2
B Mysteriöse Ergebnisse beim Baccarat Programm? Allgemeine Java-Themen 13
districon Programm zum Durchsuchen von (Ebay-)Artikeln Allgemeine Java-Themen 1
T Addons im eigenen Programm Allgemeine Java-Themen 1
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
Tiago1234 Warum hängt sich mein Programm auf? Allgemeine Java-Themen 22
D Programm designen Allgemeine Java-Themen 1
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
S Nachrichten Filter Programm Allgemeine Java-Themen 14
S Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
Lukas2904 Swing Anzeigen lassen das das Programm geschlossen wurde Allgemeine Java-Themen 3
TechnikTVcode Mail Programm Allgemeine Java-Themen 2
R Lesen von Interfaces (Programm Vervollständigen) Allgemeine Java-Themen 10
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
OSchriever Linux-Programm öffnen Allgemeine Java-Themen 6
P USER Management in SQL übergreifend auf JAVA Programm Allgemeine Java-Themen 41
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
N Programm nach Abschluss neustarten lassen Allgemeine Java-Themen 6
S Einfaches Programm programmieren Allgemeine Java-Themen 5
M kleines KI Programm Idee Allgemeine Java-Themen 7
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
N Programm startet nicht, nur per cmd Allgemeine Java-Themen 5
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
E Java Programm mit Clients erweitern - Möglichkeiten? Allgemeine Java-Themen 2
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
M Dieses Programm schneller machen? Allgemeine Java-Themen 2
R Programm zur Rekursion Allgemeine Java-Themen 5
N Quicksort Programm hängt sich auf Allgemeine Java-Themen 6
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
dereki2000 Programm veröffentlichen Allgemeine Java-Themen 14
mrbig2017 Threads Chat Programm mit Threads? Allgemeine Java-Themen 2
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
S Java Programm (Spiel mit den Boxen) Allgemeine Java-Themen 1
kodela Programm hängt in der Ereigniswarteschlange Allgemeine Java-Themen 13
A Java Programm verbessern/vereinfachen Allgemeine Java-Themen 20
P Programm darf nicht mehrfach startbar sein Allgemeine Java-Themen 16
S Programm hängt sich manchmal (selten) auf Allgemeine Java-Themen 9
JavaNewbie2.0 Programm nicht im Taskmanager schliesen können Allgemeine Java-Themen 15
J XML Datei mit installiertem Programm öffnen Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben